K8S - K8S创建Deployment,StatefulSet报错:missing required field “selector“ in io.k8s.api.apps.v1.Stateful

部分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

效果:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个误信息是指在Kubernetes的DeploymentSpec中出现了一个未知字段"volumeclaimtemplates"。DeploymentSpec用于定义应用程序在集群中的部署行为,而"volumeclaimtemplates"不是DeploymentSpec中的有效字段。 在Kubernetes中,DeploymentSpec包含了关于应用程序部署的各种配置信息,包括副本数量、容器模板以及卷的声明。卷用于将存储资源与应用程序进行绑定,以便在容器中持久化数据。 根据这个误信息,可能是在DeploymentSpec中误用了"volumeclaimtemplates"字段。正确的字段应该是"volumeClaimTemplates",表示为卷的声明提供一个模板。在DeploymentSpec中,"volumeClaimTemplates"字段应该是一个数组,每个元素包含卷的声明和属性。可以通过将所有卷的声明放入数组中来修复此误。 要修复该误,请检查DeploymentSpec的配置文件,确保正确使用了"volumeClaimTemplates"字段。另外,确保该字段拼写正确,并且是其它有效字段的子属性。 以下是一个示例DeploymentSpec配置文件,包含正确使用"volumeClaimTemplates"字段的示例: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-container image: my-image volumeMounts: - mountPath: /data name: my-volume volumes: - name: my-volume persistentVolumeClaim: claimName: my-pvc volumeClaimTemplates: - metadata: name: my-pvc spec: storageClassName: standard accessModes: - ReadWriteOnce resources: requests: storage: 1Gi ``` 请注意我提供的示例仅用于修复该误,您需要根据实际需求进行适当的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值