首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes :无效值:“* ":转换fieldPath时出错:字段标签不受支持

Kubernetes :无效值:“* ":转换fieldPath时出错:字段标签不受支持
EN

Stack Overflow用户
提问于 2020-06-16 14:32:56
回答 1查看 1.3K关注 0票数 2

我正在尝试应用下面的部署,但出现了下面的错误

部署“示例”无效: spec.template.spec.containers.env.valueFrom.fieldRef.fieldPath:无效值:"spec.template.metadata.annotations.configHash":转换fieldPath时出错:字段标签不受支持: spec.template.metadata.annotations.configHash

我尝试过访问fieldPath的不同方法,例如:

代码语言:javascript
复制
spec.template.metadata.annotations['configHash']
spec.template.metadata.['annotations'].['configHash']
spec.template.metadata.['annotations'['configHash']]

似乎什么都不起作用。任何帮助都将不胜感激。

Kubernetes - 1.16.8-gke.15

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ecc-web
  labels:
    app: ecc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ecc
  template:
    metadata:
      labels:
        app: ecc
      annotations:
        configHash: b6651e50d35182bd8fc2f75a5af4aca79387079860fb953896399a1ad16e317d
    spec:
      volumes:
      - name: opt-ecc-logs
        emptyDir: {}
      securityContext:
        fsGroup: 1000
      containers:
      - name: ecc-web
        image: gcr.io/gke-nonprod/ecc:release-11
        envFrom:
        - configMapRef:
            name: env-config
        env:
          - name: CONFIG_HASH
            valueFrom:
              fieldRef:
               fieldPath: spec.template.metadata.annotations.configHash
          - name: DB_PASSWORD
            valueFrom:
              secretKeyRef:
                name: ecc-secret
                key: mysql_svcacct_ecc_dev_password
        ports:
        - containerPort: 80
        imagePullPolicy: Always
        securityContext:
          privileged: true
        volumeMounts:
        - name: opt-ecc-logs
          mountPath: /opt/ecc/logs
      - name: application-log
        image: busybox
        command: ["/bin/sh","-c"]
        args: ["touch /opt/ecc/logs/application.log;chown -R wsapp:wsapp /opt/ecc/logs/;tail -n+1 -f /opt/ecc/logs/application.log"]
        securityContext:
          runAsUser: 1000
          runAsGroup: 1000
        volumeMounts:
        - name: opt-ecc-logs
          mountPath: /opt/ecc/logs
EN

回答 1

Stack Overflow用户

发布于 2020-06-16 15:36:49

只需使用:

代码语言:javascript
复制
env:
  - name: CONFIG_HASH
    valueFrom:
      fieldRef:
        fieldPath: metadata.annotations['configHash']

代替spec.template.metadata.annotations.configHash

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62402280

复制
相关文章

相似问题

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