一定时间间隔内多次重试是脚本书写中的常见场景,一般就是循环+sleep,这篇文章以kubernetes的证书签名请求自动批准为例介绍一下这种常见的写法。
手动证书签名请求批准
- 使用kubectl get csr获取当前的证书签名请求
[root@host132 ansible]# kubectl get csr
NAME AGE REQUESTOR CONDITION
csr-4mnvj 12m kubelet-bootstrap Approved,Issued
csr-b9mmc 12m kubelet-bootstrap Pending
csr-z2hrz 12m system:node:192.168.163.133 Pending
[root@host132 ansible]#
- 对pending中的请求进行approve动作
[root@host132 ansible]# kubectl certificate approve csr-b9mmc
certificatesigningrequest.certificates.k8s.io/csr-b9mmc approved
[root@host132 ansible]# kubectl get csr
NAME AGE REQUESTOR CONDITION
csr-4mnvj 14m kubelet-bootstrap Approved,Issued
csr-b9mmc 14m kubelet-bootstrap Approved,Issued
csr-mz4bb 4s system:node:192.168.163.132 Pending
csr-z2hrz