E.E*_*.33 5 ruby-on-rails kubernetes minikube skaffold
我正在本地计算机上的 minikube 集群内运行 Rails 服务。我喜欢在代码中添加断点以便与流程交互。这在 Minikube 内部不起作用。我可以附加到运行 Rails 容器的 Pod 并点击binding.pr
代码中的语句,而不是获得交互式断点,我只是看到撬尝试创建断点,但最终直接越过它。有人知道如何让它工作吗?我猜部署的 Pod 本身不是交互式的。
您正在尝试以交互方式访问您的应用程序。
您的问题是由于 k8s 默认情况下没有为容器分配 TTY 和 stdin 缓冲区而引起的。
我已经复制了您的问题并找到了解决方案。
要获得交互式断点,您必须在部署 yaml 中添加 2 个标志以指示您需要交互式会话:
stdin: true
tty: true
Run Code Online (Sandbox Code Playgroud)
下面是一个部署示例:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: test
name: test
spec:
selector:
matchLabels:
run: test
template:
metadata:
labels:
run: test
spec:
containers:
- image: test
name: test
stdin: true
tty: true
Run Code Online (Sandbox Code Playgroud)
您可以在这里找到更多相关信息。
附加到 pod 时请记住使用 -it 选项,如下所示:
kubectl attach -it <pod_name>
Run Code Online (Sandbox Code Playgroud)
让我知道这是否有帮助。
归档时间: |
|
查看次数: |
629 次 |
最近记录: |