首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubectl修补程序现有容器命令

kubectl修补程序现有容器命令
EN

Stack Overflow用户
提问于 2022-02-22 12:42:47
回答 2查看 612关注 0票数 0

我已经启动并运行了一个Kubernetes部署:(为了简洁起见,有些字段省略了)

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: argocd-server
  namespace: argocd
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-server
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/name: argocd-server
    spec:
      containers:
        - name: argocd-server
          image: quay.io/argoproj/argocd:v2.2.5
          command:
            - argocd-server

我想为现有的部署创建一个补丁,以便在容器的command中添加某些论证:

代码语言:javascript
复制
            - '--insecure'
            - '--basehref'
            - /argocd

我阅读了kubectl patch命令这里上的文档,但不确定如何实际选择要修补的容器(按名称或索引)。

覆盖完整的command:列表(在补丁文件中给出- argocd-server行)是可以的,但是我想防止在补丁文件中给出完整的containers:规范。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-22 12:50:18

您可以按索引选择容器,例如:

代码语言:javascript
复制
kubectl patch deployment argocd-server -n argocd --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/command", "value": ["argocd-server", "--insecure"]}]'
票数 1
EN

Stack Overflow用户

发布于 2022-02-22 13:32:18

由于@Blokje5的启发,我能够构建以下两个选项:

JSON方法

内联

代码语言:javascript
复制
kubectl patch deployment argocd-server -n argocd --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/command", "value": ["argocd-server", "--insecure", "--basehref", "/argocd"]}]'

带补丁文件

patch.json

代码语言:javascript
复制
[
  {
    "op": "replace",
    "path": "/spec/template/spec/containers/0/command",
    "value": [
      "argocd-server",
      "--insecure",
      "--basehref",
      "/argocd"
    ]
  }
]
代码语言:javascript
复制
kubectl -n argocd patch deployment argocd-server --type='json' --patch-file patch.json

YAML方法

yaml文件

patch.yaml

代码语言:javascript
复制
---
op: replace
spec:
  template:
    spec:
      containers:
        - name: argocd-server
          command:
            - argocd-server
            - --insecure
            - --basehref
            - /argocd
代码语言:javascript
复制
kubectl -n argocd patch deployment argocd-server --patch-file patch.yaml
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71221533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档