K8S創建Deployment,StatefulSet報錯:missing required field "selector" in io.k8s.api.apps.v1.StatefulSetSpec; if you choose to ignore these errors, turn validation off with --validate=false


部分yaml腳本在修改了修改 apiVersion 選項: apps/v1版本之后之后報錯

示例:apiVersion: apps/v1beta1 改成 apiVersion: apps/v1

報錯信息:

[root@k8s-master rabbitmq-cluster-on-k8s]# kubectl apply -f rabbitmq_statefulsets.yaml 
service/rabbitmq created
configmap/rabbitmq-config created
error: unable to recognize "rabbitmq_statefulsets.yaml": no matches for kind "StatefulSet" in version "apps/v1beta1"
[root@k8s-master rabbitmq-cluster-on-k8s]# vi rabbitmq_statefulsets.yaml 
[root@k8s-master rabbitmq-cluster-on-k8s]# kubectl apply -f rabbitmq_statefulsets.yaml 
service/rabbitmq unchanged
configmap/rabbitmq-config unchanged
error: error validating "rabbitmq_statefulsets.yaml": error validating data: ValidationError(StatefulSet.spec): missing required field "selector" in io.k8s.api.apps.v1.StatefulSetSpec; if you choose to ignore these errors, turn validation off with --validate=false

處理方法:
yaml 增加選擇器

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
#  namespace: test-rabbitmq
spec:
  serviceName: rabbitmq
  selector:
    matchLabels:
      app: rabbitmq
  replicas: 3

效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM