来自关于使用 mysql部署应用程序的文档站点的官方示例:KubernetesWordpress
的服务定义mysql:
apiVersion: v1
kind: Service
metadata:
name: wordpress-mysql
labels:
app: wordpress
spec:
ports:
- port: 3306
selector:
app: wordpress
tier: mysql
clusterIP: None
部署定义mysql
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: wordpress-mysql
labels:
app: wordpress
spec:
selector:
matchLabels:
app: wordpress
tier: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress
tier: mysql
我的问题如下:
该Deployment定义具有matchLabel selector, 以便它将匹配下面定义的具有app: wordpress 和 tier:mysql标签的 pod。
为什么Service selector不需要matchLabel出于相同目的的指令?服务的“选择”是什么?