概述
應用部署配置中涉及了許多K8s中的概念,如果要使用到應用部署配置中的這些高級特性,需要對K8s有較為深入的了解。下面將介紹一些推薦使用的部署配置中的特性。
應用配置信息
應用配置信息可在兩處進行配置:
左側導航欄,選擇容器應用實例 --> 應用發布 --> 應用實例,在應用實例列表,點擊上方創建應用實例,進入到部署配置模塊進行配置。
左側導航欄,選擇容器應用實例 --> 應用發布 --> 應用實例,在應用實例列表,點擊應用實例,進入到應用實例詳情,點擊右上方新增版本按鈕,在新增版本界面進行配置。
Pod數量
建議為應用配置2個及以上Pod實例。配置多個Pod實例,可有效避免單個Pod實例故障而導致的應用無法使用。
單Pod資源配額
建議為應用配置合理的CPU資源預留(Request)和Mem資源限制(Limit)。配置合理的單Pod資源配額,可以有效利用K8s集群資源。
說明
對于Java應用,配置的Mem資源限制(Limit)不應低于JVM配置的內存使用上限,否則會在Pod層面出現內存不足(OOM),導致Pod重啟。
應用高級配置信息
建議為應用設置合理的日志滾動策略,及時清理。Pod實例內打印過多日志將侵占節點的磁盤空間,導致節點進入DiskPressure狀態,并引發Pod驅逐。
合理配置應用生命周期的探針。
為了便于故障自愈和優雅上下線,Liveness存活探針的各參數配置應當保證應用可以正常啟動,若應用正常啟動時間較長,可以配置更長的首次啟動延遲時間(InitialDelaySeconds)。相關文檔,請參見應用運維-->容器應用實例-->創建制品微服務,查看應用高級配置——應用生命周期管理。
如果部署的是應用通過Service實現的服務暴露,Readiness就緒探針的各參數配置應當保證能準確的反映應用健康狀況,以免非健康Pod提供服務(即未被Service摘除)。
配置日志收集規則。將Pod實例日志持久化保存到云日志服務,便于問題排查。由于Pod實例本身是無狀態的,會因為各種調度而重新創建和刪除,因此需要將Pod實例的日志進行集中化收集并持久化存儲。相關文檔,請參見應用運維-->容器應用實例-->創建制品微服務,查看應用高級配置——日志收集管理。