在给定的 YAML 文件中,出现了以下错误:

error: error validating "nginx.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers[0].lifecycle.preStart.exec): unknown field "command" in io.k8s.api.core.v1.Handler; if you choose to ignore these errors, turn validation off with --validate=false

要修复这个错误,你需要将 lifecycle 部分中的 command 字段移到 handler 字段下面。下面是修复后的 YAML 文件:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mynginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        lifecycle:
          preStart:
            exec:
              command:
                - /bin/sh
                - -c
                - ln -sf /dev/stdout /usr/local/nginx/logs/access.log
        image: myharbor.com/test1/mynginx:1tier-2
        ports:
        - name: http
          containerPort: 80
          protocol: TCP
      imagePullSecrets:
        - name: myharbor
      schedulerName: default-scheduler

请注意,command 字段中的元素应该是一个字符串列表,每个字符串表示一个命令和它的参数

Kubernetes v120 下面的 yaml文件报错怎么修改rootmaster1 nginx# cat nginxyaml ---apiVersion appsv1kind Deploymentmetadata name mynginxspec replicas 3 selector matchLabels app nginx template metadat

原文地址: https://www.cveoy.top/t/topic/iS5c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录