繁体   English   中英

Kubernetes bash 创建后到POD

[英]Kubernetes bash to POD after creation

我尝试使用命令kubectl run --generator=run-pod/v1 mypod--image=myimage:1 -it bash创建 POD,在成功创建 pod 后,它会提示在侧容器中输入 bash 命令。

无论如何使用YML文件来实现上述命令? 我在 YML 下尝试过,但在成功创建 POD 后,它不会直接从 go 到 bash。 我不得不手动编写命令kubectl exec -it POD_NAME bash 但要避免对我的容器使用 exec 命令 bash。 我希望我的 YML 在创建 POD 后将我带到我的容器。 有没有办法做到这一点?

apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: mynamespcae
  labels:
    app: mypod
spec:
  containers:
  - args:
    - bash
    name: mypod
    image: myimage:1
    stdin: true
    stdinOnce: true
    tty: true

这是一个社区维基答案。 随意扩展它。

正如 David 已经提到的,在仅使用 YAML 语法创建 Pod 之后,不可能直接将 go 到 bash。 您必须使用正确的kubectl命令,例如kubectl exec才能将Shell 获取到 Running Container

您希望拥有不会退出的 pod 的键。 这是一个给你的例子。

apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: mynamespcae
  labels:
    app: mypod
spec:
  containers:
  - command:
    - bash
    - -c
    - yes > /dev/null
    name: mypod
    image: myimage:1

命令yes将继续 output 字符串yes直到它被杀死。 部分> /dev/null将确保您不会有大量的垃圾日志。 然后,您可以使用这些命令访问您的 pod。

kubectl apply -f my-pod.yaml
kubectl exec -it mypod bash

请记住在完成所有操作后移除 pod。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM