为什么k8s要引入deployment资源
deployment也是保证pod高可用的一种方式,明明已经有RC,为什么还要引入deployment呢?因为deployment解决了RC的一个痛点
创建一个deployment
vi nginx-deploy.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: 10.0.0.11:5000/nginx:1.13
ports:
- containerPort: 80
kubectl create -f nginx-deploy.yaml
查看deployment
关联service
kubectl expose deployment nginx-deployment --port=80 --type=NodePort
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/nginx-deployment 3 3 3 3 41m
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/nginx-deployment 10.254.202.137 <nodes> 80:54134/TCP 6s
NAME DESIRED CURRENT READY AGE
rs/nginx-deployment-2602221530 3 3 3 41m
NAME READY STATUS RESTARTS AGE
po/nginx-deployment-2602221530-297vw 1/1 Running 0 41m
po/nginx-deployment-2602221530-3ls8l 1/1 Running 0 41m
po/nginx-deployment-2602221530-d044t 1/1 Running 0 41m
deployment升级
[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.13.12
Date: Mon, 24 Jun 2019 03:12:38 GMT
….
[root@k8s-master deploy]# kubectl edit deploy nginx-deploy
[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.15.5
Date: Mon, 24 Jun 2019 03:13:43 GMT
deployment回滚
[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.15.5
Date: Mon, 24 Jun 2019 03:34:17 GMT
[root@k8s-master deploy]# kubectl rollout undo deployment nginx-deploy
deployment "nginx-deploy" rolled back
[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.13.12
Date: Mon, 24 Jun 2019 03:34:52 GMT
deployment最佳实践
版本发布
kubectl run nginx --image=10.0.0.11:5000/nginx:1.13 --replicas=3 –record
版本升级
kubectl set image deploy nginx nginx=10.0.0.11:5000/nginx:1.15
历史版本查询
[root@k8s-master deploy]# kubectl rollout history deployment nginx
deployments "nginx"
REVISION CHANGE-CAUSE
1 kubectl run nginx --image=10.0.0.11:5000/nginx:1.13 --replicas=3 --record
2 kubectl set image deploy nginx nginx=10.0.0.11:5000/nginx:1.15