【问题标题】:kubectl YAML config file equivalent of "kubectl run ... -i --tty ..."kubectl YAML 配置文件相当于“kubectl run ... -i --tty ...”
【发布时间】:2016-09-30 07:01:38
【问题描述】:

我一直在使用带有各种标志的“kubectl run”以交互方式运行作业,但最近我已经超出了我可以用这些标志做的事情,并且已经逐渐使用 YAML 配置文件来描述我的作业。

但是,我找不到与“-i”和“--tty”标志等效的标志来附加到我正在创建的作业。

是否有等效的 YAML 规范:

kubectl run myjob \
            -i \
            --tty \
            --image=grc.io/myproj/myimg:mytag \
            --restart=Never \
            --rm \
            -- \
            my_command

或者这可能不是正确的方法?

【问题讨论】:

    标签: yaml kubernetes interactive kubectl


    【解决方案1】:

    我认为您提到了这些领域。 https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/core/types.go#L2081-L2088

    你可以在yaml文件中定义stdintty

    apiVersion: v1 
    kind: Pod 
    metadata: 
      name: test 
    spec: 
      containers: 
        - name: test 
          image: test 
          stdin: true 
          tty: true 
    

    【讨论】:

    • 你能给出一个示例 yaml 文件来说明如何做到这一点吗?我发现从类型定义中并不清楚。
    • IIUC,只需将“stdin: true”和“tty: true”添加到您的容器规范中。例如:``` apiVersion: v1 kind: Pod metadata: name: test spec: containers: - name: test image: test stdin: true tty: true ``` 哎呀,我不能在评论中写多行的东西.希望你能理解,:P
    • 感谢大屿山的指点。但是,就我而言,我正在考虑专门为工作做这件事。如果我将 ttystdin 字段放在作业 within 的 Pod 的 template 规范中,它们似乎没有任何效果。我实际上可以通过使用模型来理解这一点。
    • 经过进一步的实验,ttystdin 即使在普通的旧 Pod 规格中也没有我希望的效果,如 Lantao 的示例所示(至少在 k8s 1.2.4 上为目前部署在 GKE 上)。
    • 要附加到 pod,我还必须向 kubectl attach 命令提供 -i-t,所以完整的命令是 kubectl attach POD [ -c CONTAINER ] -i -t - 注意:-c CONTAINER 是可选的如果你只有一个容器 - 它只是默认的。
    猜你喜欢
    • 2017-01-26
    • 2020-11-28
    • 2018-08-19
    • 2022-12-19
    • 2020-04-02
    • 1970-01-01
    • 2021-07-25
    • 2022-06-26
    • 2022-01-23
    相关资源
    最近更新 更多