首先service的selector
是根据pod的label进行匹配,所以多组pod上只要具有相同的标签即可关联,如下配置所示,deployment定义nginx-test-1 ,需要在spec.template.metadata.labels
下增加一个标签就能定义到pod上,这里我们增加定义ka:nginx-demo
的标签。
apiVersion: apps/v1 kind: Deployment metadata: annotations: labels: app: nginx-test-1 name: nginx-test-1 namespace: qa spec: replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: nginx-test-1 template: metadata: labels: app: nginx-test-1 ka: nginx-demo spec: containers: - image: 'nginx:latest' imagePullPolicy: Always name: nginx-test-1 resources: requests: cpu: 250m memory: 256Mi dnsPolicy: ClusterFirst restartPolicy: Always
而相对应的service
配置如下:
apiVersion: v1 kind: Service metadata: name: nginx-demo namespace: qa spec: ports: - name: nginx-demo port: 80 protocol: TCP targetPort: 80 selector: ka: nginx-demo type: ClusterIP
查看是否已经被service
管理,可以查看下endpoint
状态:
kubectl get ep nginx-demo -n qa
转载请注明:菜鸟运维网 » K8S中service关联多组pod