26

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

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

是否有等效的 YAML 规范:

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

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

4

2 回答 2

43

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

您可以在 yaml 文件中定义stdin和。tty

apiVersion: v1 
kind: Pod 
metadata: 
  name: test 
spec: 
  containers: 
    - name: test 
      image: test 
      stdin: true 
      tty: true 
于 2016-06-03T01:46:47.593 回答
0

kubectl run使用--overridesjson 格式的标志来补充@Lantao 的答案:

kubectl run nodejs --image=node:lts-alpine --rm -i --quiet --overrides='{
    "kind": "Pod",
    "apiVersion": "v1",
    "metadata": {
        "name": "nodejs"
    },
    "spec": {
        "volumes": [
            {
                "name": "host-volume",
                "hostPath": {
                    "path": "/home/Sources/df-sdc/web/themes/custom/"
                }
            }
        ],
        "containers": [
            {
                "name": "nodejs",
                "image": "busybox",
                "stdin": true,
                "tty": true,
                "workingDir": "/app",
                "volumeMounts": [
                    {
                        "name": "host-volume",
                        "mountPath": "/app"
                    }
                ],
                "terminationMessagePolicy": "FallbackToLogsOnError",
                "imagePullPolicy": "Always"
            }
        ],
        "restartPolicy": "Always",
        "securityContext": {
            "runAsUser": 1000,
            "runAsGroup": 1000
        }
    }
}
'
于 2022-01-18T09:40:57.660 回答