我對收到的 AWS 通知有一些疑問: 「AWS Fargate 已部署軟體更新,其中包括重要的安全性修補程式和關鍵更新。為了完成此軟體更新過程,EKS Fargate 將移出在 [日期] 之前啟動的 Pod。」
問: 當 AWS 對我的 AWS Fargate Pod 套用修補程式和更新時,我該怎麼做才能避免服務停機?
最佳做法是在通知中提到的截止日期之前重新啟動 Fargate Pod。如果您的 Pod 屬於部署或 StatefulSet,則執行下列其中一個命令,以正常重新啟動整個部署或 StatefulSet,而不會停機:
kubectl rollout restart deployment-name -n test-namespace
- 或 -
kubectl rollout restart sts-name -n test-namespace
注意: 在部署命令中,將 deploy-name 替換為您部署的名稱。在 StatefulSet 命令中,將 sts-name 替換為您 StatefulSet 的名稱。在兩個命令中,將 test-namespace 替換為您命名空間的名稱。
如需更多資訊,請參閱 Kubernetes 網站上的部署和 StatefulSets。
如果您的 Pod 是獨立 Pod,請完成以下步驟:
- 建立具有相同規格的替代 Pod。
- 根據需要,更新其他應用程式中 Pod 的端點或 IP 位址。
- 刪除您的獨立 Pod。
問: 如果我無法在通知指定的日期之前重新啟動 Pod,會發生什麼情況?
Amazon Elastic Kubernetes Service (Amazon EKS) 會根據您設定的 Pod 中斷預算 (PDB),依可用區域移出 Fargate Pod。如果移出成功,則 Amazon EKS 會在新的 Pod 上套用最新的修補程式。您不需要採取任何進一步的動作。
問: 我是否會收到有關 Pod 移出失敗或節點終止的通知?
當 Pod 移出失敗時,AWS 會傳送有關移出失敗的通知。如果您在計劃終止之前不採取行動,那麼 Amazon EKS 會在沒有任何通知的情況下終止現有的 Pods 和基礎節點。終止後,新的 Pod 會具有最新的修補程式。
問: Amazon EKS 如何管理我使用 PDB 設定之應用程式 Pod 的修補程式?
當 Amazon EKS 修補 Fargate Pods 時,它不會突然終止您使用 PDB 設定的 Pod。如需詳細資訊,請參閱 Kubernetes 網站上的 Pod 中斷預算。當 Amazon EKS 更新基礎節點時,其會考慮 PDB。為了避免停機,最佳做法是為您的 Pod 設定 PDB。然而,過於嚴格的 PDB 可能會導致移出失敗和節點終止。
問: 由於我無法採取措施避免停機,我可以推遲修補或移出嗎?
出於安全目的,Amazon EKS 會自動在多個叢集上批次套用修補程式。由於某些常見的漏洞和暴露 (CVE) 非常嚴重且需要立即處理,因此您不能推遲修補。
問: Amazon EKS 多久修補一次 Fargate 節點上的作業系統?
Amazon EKS 會定期修補 Fargate 節點上的作業系統 (OS)。它還會套用修補程式來修復無法提前確定的錯誤,並進行安全性更新。
問: 在哪裡可以找到有關套用修補程式具體時間和日期的資訊?
Amazon EKS 會提前通知您修補程序。然而,修補程式並沒有固定的套用日期和時間。由於 Amazon EKS 會自動套用修補程式,因此修補可能會在通知中指定的日期或之後的任何時間進行。
問: 在哪裡可以查看 Amazon EKS 的安全性更新相關通知?
Amazon EKS 會向您的 AWS 帳戶和 AWS Health 儀表板上的主電子郵件地址,傳送有關安全性修補程式的電子郵件通知。您可以使用 Amazon EventBridge 將這些通知轉送到其他 AWS 服務或第三方工具。