環境
- kubernetes 1.20.4
- Spring Boot 2.5.0-M3
目標
deploy 升級最大記錄數由 revisionHistoryLimit 定義,默認值為 10。
示例
Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: busybox
spec:
revisionHistoryLimit: 1
selector:
matchLabels:
app: busybox
replicas: 8
template:
metadata:
labels:
app: busybox
spec:
terminationGracePeriodSeconds: 5
containers:
- name: busybox
image: busybox:1.30.0
command: ["/bin/sh", "-c", "sleep 3600"]
然后將版本升級到 1.31.0,再升級到 1.32.0。
查看
[root@master ~]# kubectl get rs
NAME DESIRED CURRENT READY AGE
busybox-59c95c7d4b 0 0 0 2m47s
busybox-76bcb59645 8 8 8 58s
[root@master ~]# kubectl rollout history deployment busybox
deployment.apps/busybox
REVISION CHANGE-CAUSE
2 <none>
3 <none>
可以看到有兩個 rs,一個當前使用的,一個是配置保留的。
並且配置是最大保留一個,所以只有一個歷史記錄,另一個被丟棄了。
總結
revisionHistoryLimit 可以定義保留的升級記錄數。