集羣是用於運行k8s的託管羣組,一個Choerodon集羣對應一個k8s集羣。有了集羣,咱們就能以此來統一調配資源,管理環境。結合Choerodon中的層級結構,一個集羣又能夠被同組織下的多個項目共同使用。git
本文旨在爲你們介紹Choerodon v0.19及以上版本的集羣管理功能。與k8s集羣相關的更多詳情介紹,請查看以前的《 從0到1使用Kubernetes系列》文章。
在介紹Choerodon V0.19及以上版本的「集羣管理」功能以前,先爲你們講解該功能相較於以前版本作了哪些改動,以及改動的緣由。github
在Choerodon V0.18及以前的版本中,集羣管理的功能在組織層,組織管理員負責管理整個組織中的集羣,並經過對集羣進行權限配置以此來管理組織下各個項目對集羣的使用。而組織下的各個項目經過建立環境與組織層的集羣相關聯(Choerodon中的環境對應爲k8s中namespace)。這樣的層級結構,從Choerodon V0.11一直保持到了 V0.18,但在組織的實際使用場景下,仍是存在着一些須要優化與改進的地方。shell
爲了解決以上問題,從而知足更多的實際應用場景,從0.19版本開始,Choerodon豬齒魚平臺便將集羣相關的全部功能從組織層移到了項目層,即集羣管理者在項目下就能完成集羣的建立、管理與監控等操做。而對於以前版本中組織層已有的集羣,咱們在各個組織下預置了一個「默認運維項目」來進行集中的管理,集羣管理者只需擁有「默認運維項目」下項目全部者的權限便可。爲了使平臺功能與業務結構更加清晰,從而來知足更多的使用場景,在Choerodon V0.19 中,咱們對各個層級的功能進行了從新的整理。後端
在Choerodon豬齒魚平臺中開發一個應用服務,跑完CI,生成版本以後,咱們須要將其部署到對應的環境之中。而Choerodon中的環境是與集羣進行關聯的,所以部署一個應用服務的必要條件是存在一個可用的Choerodon集羣。目前咱們建議在「默認運維項目」中去集中管理組織下的集羣。服務器
在Choerodon項目層「集羣-集羣管理」菜單下,使用項目全部者角色,點擊建立集羣的按鈕,輸入集羣名稱、集羣編碼以及描述。點擊建立後,界面會自動生成可執行的shell腳本命令,其中各個參數已經由後端服務自動生成,只需將此腳本命令複製至kubernetes中運行,以此來鏈接Choerodon平臺與k8s集羣。執行成功後,便能看到頁面中集羣變爲了「運行中」的狀態。網絡
集羣管理者成功建立集羣以後,能夠經過權限管理爲同組織下全部項目或特定項目分配該集羣的權限,配置後,只有被選中的項目在建立環境時才能選擇與此集羣關聯。運維
一個Kubernetes集羣由Master和Node組成,Master是集羣的網關和中樞,負責爲客戶端暴露API、跟蹤其餘服務器的健康狀態、以最優方式調度工做負載,以及編排其餘組件之間的通訊等任務,它是客戶端與集羣之間的核心聯絡點,並負責Kubernetes系統的大多數集中式管控邏輯。Node是Kubernetes集羣的工做節點,負責接收來自Master的工做指令並根據指令相應地建立或銷燬Pod對象,以及調整網絡規則以合理地路由和轉發流量等。微服務
在集羣激活以後,咱們能夠經過集羣管理中的「節點列表」查看到集羣下全部節點的狀態、類型以及CPU與內存的請求值和限制值。以此來實時監控集羣下全部節點的資源分配狀況。優化
在Choerodon V0.11剛上線集羣管理功能時,咱們將以前「利用單個環境客戶端管理單個環境」的模式變爲了使用「單個集羣客戶端能夠統一管理多個環境」的模式,以此來避免資源浪費的狀況。在此基礎上,咱們在後面的版本中不斷對此功能進行優化與完善,除了上文中提到的結構與層級的優化、權限管理和節點管理功能,Choerodon集羣管理中還陸續新增了組件管理、集羣監控、健康檢查等集羣功能。關於健康檢查功能,能夠參考《Choerodon豬齒魚實踐之健康檢查》,至於組件管理與集羣監控的功能,將在後續文章中詳細介紹。編碼
Choerodon 豬齒魚做爲開源多雲應用敏捷全鏈路技術平臺,是基於開源技術Kubernetes,Istio,knative,Gitlab,Spring Cloud來實現本地和雲端環境的集成,實現企業多雲/混合雲應用環境的一致性。平臺經過提供精益敏捷、持續交付、容器環境、微服務、DevOps等能力來幫助組織團隊來完成軟件的生命週期管理,從而更快、更頻繁地交付更穩定的軟件。
更加詳細的內容,請參閱Release Notes和官網。
你們也能夠經過如下社區途徑瞭解豬齒魚的最新動態、產品特性,以及參與社區貢獻:
歡迎加入Choerodon豬齒魚社區,共同爲企業數字化服務打造一個開放的生態平臺。
本篇文章出自 Choerodon豬齒魚社區毛智偉。