编写一个yaml文件:
[root@master ~]# cat httpd.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: httpd
spec:
replicas: 3
template:
metadata:
labels:
run: httpd
spec:
containers:
- name: httpd
image: httpd
ports:
- containerPort: 80
编写一个svc的yaml文件:
[root@master ~]# cat httpd-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: httpd-svc
spec:
type: NodePort
selector:
run: httpd
ports:
- protocol: TCP
nodePort: 31234
port: 8080
targetPort: 80
版本的升级与回滚:
deployment:nginx 分成3份 并修改镜像版本号
nginx01.yaml nginx02.yaml nginx03.yaml
nginx nginx:1.14 nginx:1.15
应用并查看:
kubectl apply -f nginx01.yaml --record
kubectl get deployments. nginx -o wide
kubectl apply -f nginx02.yaml --record
kubectl get deployments. nginx -o wide
kubectl apply -f nginx03.yaml --record
kubectl get deployments. nginx -o wide
查看可回滚的版本:
kubectl rollout history deployment nginx
回滚到第一个版本:
kubectl rollout undo deployment nginx --to-revision=1(编号)
注意:默认k8s记录本地只记录几个,可以通过设置改变:在yaml文件内,spec:字段下边添加:revisionHistoryLimit: Int