Kubernetes Deployment应用报错:未知字段spec.template.spec.volumes[0].PersistentVolumeClaim
问题解决:Kubernetes Deployment YAML字段大小写错误导致应用失败
你遇到的unknown field "spec.template.spec.volumes[0].PersistentVolumeClaim"错误,根源是YAML中定义PVC卷的字段大小写不符合Kubernetes API要求。
Kubernetes API里,引用PersistentVolumeClaim的字段名称是小写开头的persistentVolumeClaim,而你的YAML里写成了首字母大写的PersistentVolumeClaim,这会被识别为无效字段。
修正后的完整YAML如下:
apiVersion: apps/v1 kind: Deployment metadata: name: my-app-service namespace: app-1-0 labels: app: app-service spec: replicas: 1 selector: matchLabels: app: my-service template: metadata: labels: app: my-service spec: containers: - name: my-service image: registry.azurecr.io/app/app-service:1.0 env: - name: AzureAd__Instance value: ... - name: AzureAd__ClientId value: ... - name: AzureAd__TenantId value: ... imagePullPolicy: Always ports: - containerPort: 8080 name: http volumeMounts: - mountPath: "/mnt/data" name: cache dnsPolicy: ClusterFirst volumes: - name: cache persistentVolumeClaim: claimName: app-pvc
注意:部分校验工具(比如kubeval)可能对字段大小写的检测不够严格,但Kubernetes集群的API Server会严格遵循官方API定义的字段格式。
内容的提问来源于stack exchange,提问作者Jester
相关产品推荐
相关产品推荐

