系統升級(Rollout) & 回滚(Rollback)
# my-deployment.yaml
apiVersion: apps/v1beta2 # for kubectl versions >= 1.9.0 use apps/v1
kind: Deployment
metadata:
name: hello-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-deployment
template:
metadata:
labels:
app: my-deployment
spec:
containers:
- name: my-pod
image: baoguoding/demo
ports:
- containerPort: 3000
kubectl create -f my-deployment.yaml
kubectl get deployment
kubectl get pod --show-labels
kubectl get rs
kubectl get all
kubectl expose deploy hello-deployment --type=NodePort --name=my-deployment-service
docker build -t baoguoding/demo:v2.0.0 .
docker push baoguoding/demo:v2.0.0
kubectl set image deploy/hello-deployment my-pod=baoguoding/demo:v2.0.0
kubectl rollout status deploy hello-deployment
kubectl edit deploy hello-deployment
kubectl rollout history deploy hello-deployment
kubectl set image deploy/hello-deployment my-pod=baoguoding/demo --record
kubectl rollout history deploy hello-deployment
kubectl rollout undo deploy hello-deployment --to-revision=2