日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

K8s應用運維管理最佳實踐

本文介紹部署在K8s集群上的應用在不同階段需要注意的事項,以及如何實現在第一時間獲得EDAS的發布動態。

應用開發

您可以使用不同的開發者工具來開發應用,幫助您提升開發和部署效率。

應用部署與聯調

  • Cloud Toolkit

    Cloud Toolkit是阿里云為開發者在IDEA中提供的一款插件,用于幫助開發者提升開發效率,并將應用部署到EDAS中。相關文檔,請參見Cloud Toolkit概述

  • toolkit-maven-plugin

    toolkit-maven-plugin插件可以幫助應用實現自動化部署。相關文檔,請參見toolkit-maven-plugin概述

持續集成與部署

  • Jenkins

    Jenkins是一個開源工具,幫助開發者持續、自動的構建和測試軟件項目、監控外部任務的運行。相關文檔,請參見Jenkins概述

  • 云效

    阿里云云效支持公共云、專有云和混合云多種部署形態,提供了靈活易用的持續集成、持續驗證和持續發布功能,能夠幫助開發者快速將應用部署至EDAS。相關文檔,請參見概述

搭建云基礎環境

  • Terraform

    Terraform是一個開源工具,幫助開發者在阿里云安全高效地預配和管理云基礎結構。相關文檔,請參見Terraform概述

應用部署

此處僅介紹應用部署中需要注意的事項。如需了解應用部署的更多信息,請參見創建和部署應用概述

應用基本信息

如果選擇鏡像部署方式,建議使用容器鏡像服務企業版(ACR EE)管理鏡像。

容器鏡像服務企業版相對于個人版有以下優勢:

  • 提升應用鏡像的分發效率。

  • 支持鏡像安全掃描及多維度漏洞報告,保障存儲及內容安全。

  • 提供應用鏡像的網絡訪問控制,保障應用鏡像訪問安全。

更多關于容器鏡像服務的信息,請參見什么是容器鏡像服務ACR

關于如何制作應用鏡像并上傳到容器鏡服務,請參見制作應用鏡像

應用配置信息

  • 建議為應用配置2個及以上Pod實例。

    配置多個Pod實例,可有效避免單個Pod實例故障而導致的應用無法使用。

  • 建議為應用配置合理的CPU資源預留(Request)和Mem資源限制(Limit)。

    配置合理的資源配額,為應用的Pod配置QoS Class。

    說明

    對于Java應用,配置的Mem資源限制(Limit)不應低于JVM配置的內存使用上限,否則會在Pod層面出現內存不足(OOM),導致Pod重啟。

應用高級配置信息

  • 配置調度規則。

    建議為應用設置盡量多可用區部署盡量多節點部署類型的調度規則。部署應用時,Pod實例會利用反親和性,盡可能打散Pod實例并部署到多可用區和不同節點,可有效避免單個Pod實例故障而導致的應用無法使用。相關文檔。請參見配置調度規則

  • 建議為應用設置合理的日志滾動策略,及時清理。

    Pod實例內打印過多日志將侵占節點的磁盤空間,導致節點進入DiskPressure狀態,并引發Pod驅逐。

  • 合理配置應用生命周期的探針。

    • 為了便于故障自愈和優雅上下線,Liveness存活探針的各參數配置應當保證應用可以正常啟動,若應用正常啟動時間較長,可以配置更長的首次啟動延遲時間(InitialDelaySeconds)。相關文檔,請參見配置應用生命周期的鉤子和探針

    • 如果部署的是非微服務應用,且通過Service實現的服務暴露,Readiness就緒探針的各參數配置應當保證能準確的反映應用健康狀況,以免非健康Pod提供服務(即未被Service摘除)。相關文檔,請參見配置應用生命周期的鉤子和探針添加服務Service

  • 配置日志收集規則。

    將Pod實例日志持久化保存到SLS日志服務,便于問題排查。由于Pod實例本身是無狀態的,會因為各種調度而重新創建和刪除,因此需要將Pod實例的日志進行集中化收集并持久化存儲。相關文檔,請參見配置日志收集

應用運行

此處介紹應用運行階段需要注意的事項,當需要開展促銷活動時,還需要提前進行應用壓測、彈性伸縮等配置。

一般運行時態

  • 謹慎使用編輯應用的YAML文件功能。

    對于EDAS部署時可修改的配置項,建議在EDAS側完成相關配置,不建議通過編輯YAML文件功能來修改配置項,直接編輯資源會導致應用重啟。如果一定需要修改YAML文件,修改前需要熟悉Deployment資源的配置方法。

    例如:通過編輯YAML文件修改Deployment的原生發布策略UpdateStrategy權限,有且僅會生效一次。當再次部署應用時,仍會使用EDAS的升級策略(單批發布、分批發布和金絲雀發布策略)。所以對于EDAS部署時可修改的配置項,都建議直接在EDAS側完成相關配置。

  • 禁止從負載均衡控制臺直接修改SLB實例的監聽配置。

    如果需要為應用關聯負載均衡SLB,必須在EDAS控制臺完成關聯SLB實例的監聽配置管理。相關文檔,請參見添加負載均衡CLB

    重要

    禁止從負載均衡控制臺直接修改SLB實例的監聽配置(含監聽+證書),可能導致SLB控制臺修改的配置回退,引發應用入口相關的故障。

  • 請勿配置私網SLB進行集群內部服務的訪問。

    Pod實例之間無法直接訪問私網SLB地址,私網SLB只是用來提供VPC內非同一K8s集群的訪問。當需要在集群內部訪問服務時,請創建Service并使用Service地址進行訪問。相關文檔,請參見添加服務Service

  • 建議為集群配置合理的監控報警。

    一般都需要為集群配置監控報警,如Prometheus監控。以免底層資源不穩定等情況引發業務問題。如需了解更多的集群監控信息,請參見集群監控

高并發時態

  • 在高并發前,做好應用壓測。

    建議用性能測試PTS對應用做全鏈路壓測,根據壓測水位提前預估好所需Pod和Node數量,在高并發前完成擴容;還需要評估存儲和網絡帶寬,提升存儲空間和負載均衡的規格或網絡帶寬;如果還需要用到應用路由,請注意查看Ingress Controller的監控指標,確認負載情況并設置合理的Pod副本數。

    • 承壓的應用Pod盡量分布在同一個可用區,以避免跨可用訪問的時延問題。

      如果避免不了Pod分布在不同的可用區,您可以為服務提供者配置同可用區優先調用,從而解決跨可用區調用帶來的網絡延時。相關文檔,請參見配置同可用區優先路由

    • 承壓的集群Node節點使用相同的規格,保證Pod的處理性能基本一致。

      如果ECS實例規格差異較大,會容易導致Pod性能表現不一致,業務負載不均。

      需要提前準備好目標規格的Node,如果對應規格的Node無法下單購買,請聯系解決方案架構師協調ECS備貨。

    • 建議為應用開啟彈性伸縮。

      建議直接使用EDAS提供的基于應用指標觸發或定時觸發的彈性伸縮規則;不建議在K8s層單獨開啟Deployment的HPA(Horizontal Pod Autoscaling)彈性伸縮,以免影響EDAS應用的正常部署行為。如何使用EDAS提供的基于應用指標觸發或定時觸發的彈性伸縮規則,請參見自動彈性擴縮容

    • 建議為應用關聯多個負載均衡SLB。

      建議從DNS側配置多個SLB的解析記錄,以便分攤負載,消除單個SLB的性能瓶頸。為應用關聯SLB,請參見添加負載均衡CLB

      說明

      當前最大規格的負載均衡SLB實例(超強型slb.s3.large)的帶寬上限為5 G。

  • 在高并發過程中,做好應用監控和代碼封網。

    • 時刻關注相關的應用監控和集群監控,及早發現并解決可能存在的異常問題。相關文檔,請參見應用監控概述

    • 高并發過程中,應用處于承壓狀態,要嚴格控制應用代碼上傳,避免出現應用部署更新。

應用變更

此處僅介紹在應用變更階段的一些注意事項。您可以通過應用監控、應用報警判斷應用變更是否正常,如果變更失敗可以通過事件和失敗分析進行應用診斷。

  • 應用變更前,預留集群資源。

    注意為集群預留資源,避免在部署過程因為資源不足而進展緩慢,甚至部署失敗的情況出現。部署失敗的相關原因,請參見查看部署失敗的執行結果

  • 應用變更中,查看變更詳情和應用相關指標。

    • 及時查看應用變更記錄,查看變更事件和失敗分析。相關文檔,請參見查看應用變更

    • 注意查看應用指標變化、發布診斷報告以及進行業務驗證,防止應用版本不符合預期。

      如果發布不符合預期應及時回滾,使應用恢復到穩定狀態,處理好異常后再進行下一次發布。請勿在不符合預期時仍繼續發布,將導致無法回滾到上一個穩定狀態。回滾應用,請參見使用控制臺回滾應用(K8s)

應用排障

此處介紹常見的應用排障相關事項。

  • 在Java類型應用中,如果出現故障Pod實例,可以借助Arthas診斷,排查Pod故障點。相關文檔,請參見Arthas診斷

  • 如果應用無法正常啟動,可以將啟動命令修改為sleep,再通過kubectl exec手動啟動進程,觀察輸出并分析原因。相關文檔,請參見配置啟動命令

如何獲得EDAS發布動態

您可以在EDAS相關釘釘交流群中,添加EDAS的發版公告機器人,以便在第一時間知曉EDAS的發布動態。相關文檔,請參見自助在釘釘群中添加釘釘機器人“EDAS產品小助手”