在Kubernetes中如何在部署中修补容器

时间:2017-12-29 05:28:48

标签: kubernetes yaml

我想使用补丁API(不适用)

向容器添加卷

此补丁不起作用:

spec:
  template:
    spec:
      volumes:
        - name: cep-debug-dir
          persistentVolumeClaim:
           claimName: cep-pvc-debug
      containers:
        name: cep
        - mountPath: /debug
          name: cep-debug-dir
        volumeMounts:
          - mountPath: /debug
            name: cep-debug-dir

我的用例是扩展部署yaml,添加一个已安装的卷用于开发,并且通常具有多态部署,而不重复yaml代码并且必须维护两个文件中的更改。

P.S 我正在使用配置图,如果我可以使用if有条件地安装音量,那就太酷了。

1 个答案:

答案 0 :(得分:0)

我打印了部署json并使用/编辑了json格式的字段,并且补丁工作正常 在终端

kubectl patch deploy cep --patch "$(cat cep-deploy-patch.yaml)"

文件:

{
    "spec": {
        "template": {
            "spec": {
                "containers": [{
                    "name": "cep",
                    "volumeMounts": [{
                        "mountPath": "/debug",
                        "name": "cep-debug-dir"
                    }]
                }],
                "volumes": [{
                    "name": "cep-debug-dir",
                    "persistentVolumeClaim": {
                        "claimName": "cep-pvc-debug"
                    }
                }]
            }
        }
    }
}