在 kubernetes 中运行示例 yml 文件时,我遇到了此错误.谁能帮我整理一下


apiVersion: v1
kind: ReplicationController
metadata:
name: simple-rc
spec:
replicas: 2
selector:
app: nginx
template:
metadata:
name: simple-rc
labels:
app: simple-rc
version: "1.0"
spec:
containers:
- name: simple-rc
image: nginx
ports:
- containerPort: 80

错误:

error validating "sample.yml": error validating data: 
ValidationError(ReplicationController.metadata): invalid type for io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta: got "string", expected "map"; if you choose to ignore these errors, turn validation off with --validate=false

.spec.selector 字段是一个标签选择器。复制控制器使用与选择器匹配的标签管理所有 Pod。它不区分它创建或删除的 Pod 和其他人或进程创建或删除的 Pod。这允许替换复制控制器,而不会影响正在运行的 Pod。

如果指定,.spec.template.metadata.labels 必须等于 .spec.selector,否则 API 将拒绝它。如果未指定 .spec.selector,它将默认为 .spec.template.metadata.labels。

  • 参考
spec:
replicas: 2
selector: # Update the selector to match labels
app: simple-rc
version: "1.0"
template:
metadata:
name: simple-rc
labels:
app: simple-rc
version: "1.0"

请更改

selector:
app: nginx

selector:
app: simple-rc

另外,请不要使用复制控制器,它已过时,而是使用部署

相关内容

最新更新