我正在尝试使用下面的 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?
这个
image
应该与name
平行
containers:
- name: kubia
image: luksa/kubia
错误:无法识别“kubia-replicaset.yaml”:与 apps/ 不匹配,Kind=ReplicaSet
意味着 GKE 无法识别 apiVersion: apps/v1 中的 ReplicaSet 我检查了我的集群(我通常使用部署),拉出了我的副本集,它显示为:
api版本:扩展/v1beta1
种类:ReplicaSet
apiVersion 将取决于您在集群中使用的 Kubernetes 版本。 app/v1 适用于 1.9.0 及更高版本,任何早期版本仍使用 v1beta1。
您已将模板设置为选择器的子级,而它应该是其同级。所以正确的格式是:
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