Kubernetes:无法创建副本集:错误:没有对象传递给创建

问题描述 投票:0回答:3

我正在尝试使用下面的 yaml 文件在 kubernetes 中创建副本集。

            apiVersion: apps/v1
            kind: ReplicaSet
            metadata:
                name: kubia
            spec:
                replicas: 2
                selector:
                    matchLabels:
                        app: kubia
                    template:
                        metadata:
                            labels:
                                app: kubia
                        spec:
                            containers: 
                            - name: kubia
                                image: luksa/kubia

然后我运行以下命令

$ kubectl create -f replicaSet/kubia-replicaset.yaml

此命令给了我以下错误

 error: no objects passed to create

知道我为什么会收到此错误吗?如何解决这个错误并成功创建replicaSet?

kubernetes google-kubernetes-engine
3个回答
2
投票

这个

image
应该与
name

平行
containers: 
    - name: kubia
      image: luksa/kubia

0
投票

错误:无法识别“kubia-replicaset.yaml”:与 apps/ 不匹配,Kind=ReplicaSet

意味着 GKE 无法识别 apiVersion: apps/v1 中的 ReplicaSet 我检查了我的集群(我通常使用部署),拉出了我的副本集,它显示为:

api版本:扩展/v1beta1
种类:ReplicaSet

apiVersion 将取决于您在集群中使用的 Kubernetes 版本。 app/v1 适用于 1.9.0 及更高版本,任何早期版本仍使用 v1beta1。


0
投票

您已将模板设置为选择器的子级,而它应该是其同级。所以正确的格式是:

apiVersion: apps/v1
        kind: ReplicaSet
        metadata:
            name: kubia
        spec:
            replicas: 2
            selector:
                matchLabels:
                    app: kubia
            template:
                metadata:
                    labels:
                        app: kubia
                spec:
                     containers: 
                        - name: kubia
                          image: luksa/kubia
        
© www.soinside.com 2019 - 2024. All rights reserved.