创建 Kubernetes 服务时,我试图了解 YAML 服务定义中的哪些字段需要与 POD 定义匹配。
例如,给定服务:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx-selector
ports:
- protocol: TCP
port: 80
targetPort: 8080
Pod 定义中的哪个字段需要说
nginx-selector
。 我认为这是我标记的字段(metadata.labels.app = nginx-selector)。
给出这个 Pod 定义
apiVersion: v1
kind: Pod
metadata:
name: myapp
labels:
app: nginx-selector
spec:
containers:
- name: myapp
image: pats2265/myapp
labels:
app: does-this-matter
ports:
- containerPort: 8080
很多示例在多个字段之间使用相同的名称,因此我想要一个简单的示例来拼写它。
这是一个很好的图表: 摘自 https://matthewpalmer.net/kubernetes-app-developer/articles/service-kubernetes-example-tutorial.html
但是没有显示对应的Pod定义。
搜索出现了这个问题:
你是对的......它的 pod 标签应该与服务中定义的选择器匹配。检查此链接以获取更多理解 - https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/