部署“我的部署”无效

时间:2019-06-27 18:26:42

标签: kubernetes

我为Kubernetes创建了一个非常基本的部署,但是当我尝试部署它时

$> kubectl apply -f ./hello-world.yaml
The Deployment "my-deployment" is invalid: spec.template.metadata.labels: Invalid value: map[string]string{"app":"bbbb"}: `selector` does not match template `labels`

使用以下yaml文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
  labels:
    app: aaaa
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-deployment
  template:
    metadata:
      labels:
        app: bbbb
    spec:
      containers:
      - name: my-deploy
        image: hello-world
        ports:
        - containerPort: 80

我在标签和matchLabels上玩了一点,但无法解决。有什么建议可能是什么问题?

1 个答案:

答案 0 :(得分:3)

基本上,部署规范中的选择器匹配标签需要与模板中的标签匹配。就您而言,您有app: my-deployment作为选择器的匹配标签,并且模板中有app: bbbb,因此没有匹配项。

您必须在两者上都放一个app: my-deploymentapp: bbbb,这样才能匹配。