简介
通过service的selector选择不同版本的pod
v1 Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-deployment-v1
spec:
selector:
matchLabels:
app: demo
version: v1
replicas: 2
template:
metadata:
labels:
app: demo
version: v1
spec:
containers:
- name: demo
image: yourimage:v1
ports:
- containerPort: 80
v2 Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-deployment-v2
spec:
selector:
matchLabels:
app: demo
version: v2
replicas: 2
template:
metadata:
labels:
app: demo
version: v2
spec:
containers:
- name: demo
image: yourimage:v2
ports:
- containerPort: 80
v1对应Service
apiVersion: v1
kind: Service
metadata:
name: demo-service
spec:
selector:
app: demo
version: v1
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP
v2对应Service
apiVersion: v1
kind: Service
metadata:
name: demo-service
spec:
selector:
app: demo
version: v2
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP