1.前置作業下載官方shell
wget https://raw.githubusercontent.com/istio/tools/release-1.5/bin/root-transition.sh
chmod +x root-transition.sh
2.查看憑證到期時間(如先前幾天提過的憑證時間的計算還需要去看看寬限期的設定可參照Istio憑證)
./root-transition.sh check-root
3.確認Istio版本 (在Istio 1.0.8
1.1.8
以前無法更新憑證
)
./root-transition.sh check-version
4.更換憑證(這邊可以說說 更換需要注意的是,即便Istio支援熱更新憑證這件事但當Envoy熱重啟可能會影響到你的cluster內連線中斷
的狀況另外更換憑證每個服務時間不一,通常需要一些些時間,所以若需要更換憑證建議在維護時候更換
這點滿重要的,可減去不必要的問題發生)
./root-transition.sh root-transition
5.查看是否更新完成(Citadel傳播證書需要一些時間,若有失敗稍等一下即可)
./root-transition.sh verify-certs
6.查看Envoy是否已收到新證書
kubectl exec [YOUR_POD] -c istio-proxy -n [YOUR_NAMESPACE] -- curl http://localhost:15000/certs | head -c 1000