首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少为容差更改Kubernetes部署yaml文档

缺少为容差更改Kubernetes部署yaml文档
EN

Stack Overflow用户
提问于 2020-06-03 18:49:37
回答 1查看 383关注 0票数 1

我在Kubernetes集群中创建了一个变异的准入webhook。api突变webhook为部署YAML增加了容忍度。但是,它显示一个错误Internal error occurred: jsonpatch add operation does not apply: doc is missing path: "/spec/template/spec/tolerations/"

我的Yaml示例文件:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: webhook
  labels:
    app: nginx 
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  strategy:
    rollingUpdate:
      maxSurge: 100%
      maxUnavailable: 50%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: "nginx:1.17"
          imagePullPolicy: Always
          ports:
            - containerPort: 80
              name: nginx

Python代码:

代码语言:javascript
复制
     mutations = []
     mutations.append({"op": "add", "path": "/spec/template/spec/tolerations/" + str(counter),
 "value": {key: t[key]}})

但是,在测试时出现上述错误。请帮帮忙。:(

EN

回答 1

Stack Overflow用户

发布于 2021-10-19 13:29:27

我看不到整个文件,因此我无法更正它。但是问题出在您的路径上,您可能正在链接一个数组--您必须指定一个索引。当您想要在数组的末尾添加一个元素时,可以像这样使用-1spec/template/spec/containers/0/env/-1

看一下这个例子

  • 缩短的yaml文件:

代码语言:javascript
复制
...
spec:
  template:
    spec:
      containers: # this is an array, there is 0 in the path 
        - name: somename
          image: someimage
          env: # another array, we are putting the element at the end, therefore index is -1
          - name: SOME_VALUE_0
            value: "foo"
          - name: SOME_VALUE_1
            value: "bar"
          # I want to add second env variable SOME_VALUE_2 here
...

  • kustomization.yaml

代码语言:javascript
复制
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
     - ../link/to/your/yaml
patchesJson6902:
     - target:
            ...
       patch: |-
            - op: "add"
              path: "/spec/jobTemplate/spec/template/spec/containers/0/env/-1"
              value: {name: "SOME_VALUE_2", value: "baz"}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62171048

复制
相关文章

相似问题

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