【问题标题】:Pod's labels weren't created after K8s DeploymentK8s 部署后没有创建 Pod 的标签
【发布时间】:2020-11-26 16:54:06
【问题描述】:

我在 rasberry pi(Ubuntu 20.04) 上运行 K8s 集群。当我尝试部署以下 K8s 部署时,未在 pod 上创建标签“rel”和“env”。

K8s 版本:

Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.7", GitCommit:"8fca2ec50a6133511b771a11559e24191b1aa2b4", GitTreeState:"clean", BuildDate:"2019-09-18T14:47:22Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"windows/a
md64"}  
                                                                                                                                                                                                                                        
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-15T16:51:04Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/arm"}   

                                                                                                                                                                                                                                       

-- 部署 yaml (kubectl apply -f .)

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: product-catalog-deployment
  namespace: default
  labels: 
   app: product-catalog
   rel: beta
   env: prod
spec:
  selector:
    matchLabels:
      app: product-catalog
  replicas: 3
  template:
    metadata:
      labels:
        app: product-catalog
    spec:
      containers:
      - name: product-catalog
        image: marveltracker/netcore_fun:netcore_3_1
        ports:
        - containerPort: 80
          name: http
        - containerPort: 443
          name: https
      

---获取产品(kubectl get po --show-labels)

NAME                                          READY   STATUS    RESTARTS   AGE   LABELS
product-catalog-deployment-65c7bcbf48-8nxbw   1/1     Running   0          16s   app=product-catalog,pod-template-hash=65c7bcbf48
product-catalog-deployment-65c7bcbf48-f764h   1/1     Running   0          16s   app=product-catalog,pod-template-hash=65c7bcbf48
product-catalog-deployment-65c7bcbf48-pcz4q   1/1     Running   0          16s   app=product-catalog,pod-template-hash=65c7bcbf48

这里有什么问题?

【问题讨论】:

    标签: kubernetes yaml kubectl


    【解决方案1】:

    你的 Yaml 文件应该是这样的

    apiVersion: apps/v1 
    kind: Deployment
    metadata:
      name: product-catalog-deployment
      namespace: default
      labels: 
        app: product-catalog
        rel: beta
        env: prod
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: product-catalog
          rel: beta               #----These all should same 
          env: prod
      template:
        metadata:
          labels:
            app: product-catalog  
            rel: beta             #----Same like above
            env: prod
        spec:
          containers:
          - name: product-catalog
            image: marveltracker/netcore_fun:netcore_3_1
            ports:
            - containerPort: 80
              name: http
            - containerPort: 443
              name: https
      
    

    这是因为部署在后台管理副本集,并且您将标签应用于副本集 pod。和replicas为pods添加标签并管理这些pod(意味着pod可用的数量)

    【讨论】:

      猜你喜欢
      • 2020-10-21
      • 2019-10-25
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 2019-02-19
      • 2018-12-30
      • 1970-01-01
      相关资源
      最近更新 更多