更新时间:2024-03-15 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
所有Pod的app和version标签是否都相等
问题描述
Service关联的所有Pod的app和version标签必须都相等。app标签在流量监控中用于流量的跟踪,version标签在灰度发布中用于区分不同版本。如果存在app或version标签不相等的Pod,则报此异常。
修复指导
Pod标签配置在Deployment的spec.template.metadata.labels中,建议配置为:
labels:
  app: {serviceName}
  version: v1
  修改多个Pod标签为相等的操作方法如下:
- 查看Service选择器(spec.selector)配置的标签。
    
    
kubectl get svc {serviceName} -o yaml
例如,标签是app: ratings和release: istio-bookinfo。
 - 根据标签查找Service关联的Pod。
    
    
kubectl get pod -n {namespace} -l app=ratings,release=istio-bookinfo
 
     {namespace}和Service的namespace一致。
 - 根据Pod名称,找到其关联的工作负载。
    
    
kubectl get deployment {deploymentName} -n {namespace}
 
     - 一般Pod名称格式为{deploymentName}-{随机字符串}-{随机字符串}。
 - 如果根据Pod名称未查询到工作负载,可能是因为ReplicaSet有残留,需要将其删除。
 
 - 请参考修复指导修改工作负载中Pod的app和version标签。
 
   父主题: 手动修复项