原文發表于kubernetes中文社區,為作者原創翻譯 ,原文地址
更多kubernetes文章,請多關注kubernetes中文社區
從2000年FREEBSD( 一種可免費使用的UNIX作業系統 ) 亮相,容器技術不斷發展,到如今,容器已牢牢占據著現代軟體交付的中心地位,Kubernetes是當今容器編排的事實上的標準,并且是容器化領域中最好的,正如預測的那樣,到2023年,全球70%以上的企業將運行兩個或多個容器化應用程式,
但是,Kubernetes目前仍然很復雜,即使Kubernetes在測驗環境中運行平穩,在生產環境中也需要謹慎地運行它,以避免出現陷阱,
如果考慮在你的環境中使用Kubernetes,請注意以下幾個方面:
Kubernetes挑戰
掌握復雜性
部署完整的K8S基礎架構時,需要配置的組件數量眾多,使得部署程序變得復雜艱巨:
- DNS設定:需要考慮和某些Linux發行版是否發生沖突,還有DNS搜索限制等,
- 負載均衡:需要考慮許多因素,例如在托管的K8S或外部負載均衡器之間進行選擇,
- 資源約束:可以在容器,節點甚至命名空間級別定義資源約束,每種約束都有其優缺點,
- 基于角色的訪問控制(RBAC):跨多個Pod,節點和名稱空間的“角色”和“集群角色”需要進行認真規劃和實施,
- 監測指標:盡管K8S提供了有關容器,pod,服務和集群級別的應用程式資源使用的詳細資訊,但是應用程式監視分散在多個應用程式和工具中,匯總起來比較麻煩,
加強安全性
在K8S環境中實施安全性,需要考慮到由于部署微服務而導致軟體的攻擊面增加,K8S雖然易于部署,但無法嚴格管理和控制它們會產生新的漏洞,需要考慮的一些要素是:
- 鏡像的安全
- 節點訪問控制
- 網路隔離
- API管理
- 統一身份認證服務
集成以上這些元素所涉及的復雜性也常常被低估,并導致許多安全漏洞,根據2020年有關“Kubernetes安全狀態”的研究“ ,94%的受訪者在過去12個月內在其Kubernetes和容器環境中經歷了安全事件,
- K8S漏洞–在容器化環境中,攻擊者可以使用“特權容器( privileged containers )”來獲得特權,特權容器是指具有主機所有功能的容器,因此,獲得對此類容器的訪問權限可以授予攻擊者權限,并可以訪問所有主機資源,
- 擴展實體– K8S的生產環境中經常需要快速擴展數百個Pod,如果無效的監視和日志記錄可能會導致無法診斷故障,
- 自動伸縮–配置垂直,水平或組合的自動伸縮程序需要對所需資源范圍(節點的最小和最大CPU和記憶體)進行深入評估,
- 更新:當社區發布K8S的新版本時,如果需要升級生產集群,最好不要導致應用程式宕機,
- 資源管理–沒有設定資源限制,會帶來宕機的風險,
- 監視–有效監視系統運行資訊,對于故障診斷至關重要,
Kubernetes 最佳實踐
但是,我們可以采用一些最佳實踐,來在生產環境中安全地操作K8S:
- 使用非Root權限運行容器:如果容器發生破壞,Root權限的容器會擴大風險,
- 實施RBAC:正確配置RBAC策略,以確保它們至少滿足K8S的最低要求,并且最好根據特定的角色訪問資源,以最大程度地提高安全性,
- 實施全面的測驗:在部署生產環境之前,必須系統地運行包括功能測驗,用戶測驗和負載測驗在內的全面測驗,
- 滾動升級避免使用latest 標簽,
- 配置CI/CD-流水線:正確配置CI/CD流水線對于提高軟體質量和安全性,以及加快發布速度至關重要,自動化的集成和部署工具可以幫助實作這一點,
- 鏡像倉庫和部署管理:確保將Docker鏡像安全地存盤在鏡像倉庫中,可以啟用鏡像管理作業流,適當的管理,可確保鏡像簽名,安全性,LDAP集成等方面的一致性,使用部署管理器(例如Helm)可以簡化基于K8S的應用程式定義,安裝和升級階段的管理,
- 使用Pod安全策略(PSP):Pod Security Policies(PSP)是集群級的Pod安全策略,自動為集群內的Pod和Volume設定Security Context,,
- 鏡像掃描:尤其是在使用外部鏡像之前,首先需要對其進行掃描可降低引入漏洞的風險,另外,Kubei是一個不錯的新工具,它“僅掃描在運行時部署的鏡像,它取代了掃描整個鏡像倉庫,”
- 使用Service Mesh(服務網格):服務網格有助于確保服務互動經過授權,認證,從而確保通信安全,
- 使用指標,CPU狀態和儀表板來衡量運行狀況:無效的監視和日志記錄可能導致無法診斷軟體故障,
譯文鏈接: https://dzone.com/articles/the-challenges-of-adopting-k8s-for-production-and
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/100727.html
標籤:其他
上一篇:初識加密技術
下一篇:2020-09-20
