概述
What’s Rancher?
Rancher是一套容器管理平台,它可以幫助組織在生產環境中輕松快捷的部署和管理容器。 Rancher可以輕松地管理各種環境的Kubernetes,滿足IT需求並為DevOps團隊提供支持。
Kubernetes不僅已經成為的容器編排標准,它也正在迅速成為各類雲和虛擬化廠商提供的標准基礎架構。Rancher用戶可以選擇使用Rancher Kubernetes Engine(RKE)創建Kubernetes集群,也可以使用GKE,AKS和EKS等雲Kubernetes服務。 Rancher用戶還可以導入和管理現有的Kubernetes集群。
Rancher支持各類集中式身份驗證系統來管理Kubernetes集群。例如,大型企業的員工可以使用其公司Active Directory憑證訪問GKE中的Kubernetes集群。IT管理員可以在用戶,組,項目,集群和雲中設置訪問控制和安全策略。 IT管理員可以在單個頁面對所有Kubernetes集群的健康狀況和容量進行監控。
Rancher為DevOps工程師提供了一個直觀的用戶界面來管理他們的服務容器,用戶不需要深入了解Kubernetes概念就可以開始使用Rancher。 Rancher包含應用商店,支持一鍵式部署Helm和Compose模板。Rancher通過各種雲、本地生態系統產品認證,其中包括安全工具,監控系統,容器倉庫以及存儲和網絡驅動程序。下圖說明了Rancher在IT和DevOps組織中扮演的角色。每個團隊都會在他們選擇的公共雲或私有雲上部署應用程序。
What’s New?
早期的Rancher1.X版本是基於Docker以Cattle為調度引擎的容器管理平台。在Rancher1.X成功和經驗的基礎上,基於Kubernetes基礎上重新設計Rancher2.0版本。 Rancher2.0保留了1.6版的友好功能,如UI和應用商店。但是,2.0包含許多新功能,例如:
- 內置CI/CD;
- 告警和日志收集;
- 多集群管理;
- Rancher Kubernetes Engine (RKE);
- 與雲Kubernetes服務(如GKE,EKS和AKS)集成;
1 - 架構設計
本節介紹Rancher如何與Docker和Kubernetes進行交互。
Docker
Docker是容器打包和runtime標准。開發人員從Dockerfiles構建容器鏡像,並從Docker鏡像倉庫中分發容器鏡像。Docker Hub是最受歡迎的公共鏡像倉庫,許多組織還設置私有Docker鏡像倉庫。Docker主要用於管理各個節點上的容器。
Note:雖然Rancher 1.6支持Docker Swarm集群技術,但由於Rancher2.0基於Kubernetes調度引擎,所以Rancher2.0不再支持Docker Swarm。
Kubernetes
Kubernetes已成為容器集群管理標准,通過YAML文件來管理配置應用程序容器和其他資源。Kubernetes執行諸如調度,擴展,服務發現,健康檢查,密文管理和配置管理等功能。
一個Kubernetes集群由多個節點組成:
- etcd database
通常在一個節點上運行一個etcd實例服務,但生產環境上,建議通過3個或5個(奇數)以上的節點來創建ETCD HA配置。
- Master nodes
主節點是無狀態的,用於運行API Server,調度服務和控制器服務。
- Worker nodes
工作負載在工作節點上運行。
默認情況下Master節點也會有工作負載調度上去, 可通過命令設置其不加入調度了解詳情
Rancher
大多數Rancher2.0軟件運行在Rancher Server節點上,Rancher Server包括用於管理整個Rancher部署的所有組件。
下圖說明了Rancher2.0的運行架構。該圖描繪了管理兩個Kubernetes集群的Rancher Server安裝:一個由RKE創建,另一個由GKE創建。
在本節中,我們將介紹每個Rancher Server組件的功能:
Rancher API服務器
Rancher API server建立在嵌入式Kubernetes API服務器和etcd數據庫之上。它實現了以下功能:
- Rancher API服務器
Rancher API server管理與外部身份驗證提供程序(如Active Directory或GitHub)對應的用戶身份
- 認證授權
Rancher API server管理訪問控制和安全策略
- 項目
項目是集群中的一組多個命名空間和訪問控制策略的集合
- 節點
Rancher API server跟蹤所有集群中所有節點的標識。
集群控制和Agent
集群控制器和集群代理實現管理Kubernetes集群所需的業務邏輯:
-
集群控制器實現Rancher安裝所需的全局邏輯。它執行以下操作:
-
為集群和項目配置訪問控制策略
-
通過調用以下方式配置集群:
- 所需的Docker machine驅動程序
- 像RKE和GKE這樣的Kubernetes引擎
-
-
單獨的集群代理實例實現相應集群所需的邏輯。它執行以下活動:
-
工作負載管理,例如每個集群中的pod創建和部署
-
綁定並應用每個集群全局策略中定義的角色
-
集群與Rancher Server之間的通信:事件,統計信息,節點信息和運行狀況
-
認證代理
該認證代理轉發所有Kubernetes API調用。它集成了身份驗證服務,如本地身份驗證,Active Directory和GitHub。在每個Kubernetes API調用中,身份驗證代理會對調用方進行身份驗證,並在將調用轉發給Kubernetes主服務器之前設置正確的Kubernetes模擬標頭。Rancher使用服務帳戶與Kubernetes集群通信。
2 - 相關術語
一、全局層
全局層主要對Rancher Server自身的基礎配置,比如Rancher Server URL
、登錄認證等。
-
集群
全局層的集群菜單,用於列出集群中所有的K8S集群。
-
主機驅動
用於與三方雲平台API對接的中間件程序。
-
應用商店-全局
全局層的應用商店,負責應用商店的開關與添加。
-
用戶
添加或者刪除用戶,或者修改用戶的權限。
-
系統設置
全局下系統的基礎配置,比如系統默認鏡像倉庫。
-
安全
-
角色
一組權限的集合
-
Pod安全策略
Pod安全設置
-
登錄認證
用戶的登錄訪問認證
-
二、集群層
-
集群
顯示當前集群的資源配置情況,各系統組件的健康狀態;2.2之前,集群儀表盤顯示當前集群的資源預留狀態(並非實際資源使用);
-
主機
當前集群中添加的所有主機
-
存儲
- 存儲類
- 持久卷
-
項目與命名空間
此集群擁有的項目和命名空間
-
集群成員
-
工具
-
告警
-
通知
-
日志
-
CI/CD
-
三、項目層
-
工作負載
-
工作負載服務
-
負載均衡
-
服務發現
-
數據卷
-
CI/CD
-
-
應用商店-項目
-
資源
-
告警
-
證書
-
配置映射
-
日志收集
-
鏡像庫
-
密文
-
-
命名空間
-
項目成員
四、其他 (右上角登錄菜單)
-
API Keys
-
主機模板
-
喜好設定
3 - 快速入門
注意:本入門指南的目的是讓您快速的運行一個Rancher2.0環境,它不適用於生產。有關更全面的說明,請查閱Rancher安裝.
本教程將指導您完成:
- 安裝Rancher v2.0 ;
- 創建第一個集群;
- 部署一個應用程序,如Nginx;
一、入門須知
- 熟悉Linux基礎命令;
- 了解SSH使用方法,了解公鑰/私鑰工作原理;
- 熟悉Docker基本使用方法及基礎命令,比如:容器日志查看;
- 了解SSL證書使用方法;
- 了解負載均衡工作原理(L4/L7);
- 了解域名解析原理;
- 了解K8S基本概念
二、配置Linux主機
通過配置Linux主機開始創建自定義集群。您的主機可以是:
- 雲主機
- 本地虛擬機
- 本地物理機
注意:在使用雲主機時,您需要允許TCP/80和TCP/443入站通信端口。請查閱您的雲主機文檔以獲取有關端口配置的信息。有關端口要求的完整列表,請查閱端口需求.
根據以下要求配置主機:
- Ubuntu 16.04 +(64位)
- Centos/RedHat Linux 7.5+(64位)
- RancherOS 1.3.0+(64位)
Ubuntu操作系統有Desktop和Server版本,選擇安裝server版本.
1、硬件需求:
- CPU: 2C
- 內存: 4GB
注意:此配置僅為滿足小規模測試環境的最低配置。如用於生產,請參考基礎配置要求。
2、軟件需求:
-
軟件: Docker
-
支持的Docker版本:
- 17.03.x
- 18.06.x
- 18.09.x
注意:有關Docker安裝說明,請訪問其文檔。軟件需求要應用於所有節點。
主機的更詳細配置說明,請查看基礎環境配置
三、安裝Rancher
要想在主機上安裝Rancher,需要先登錄到主機上,接着進行以下步驟:
-
通過shell工具(例如PuTTy或遠程終端連接)登錄到主機
-
在shell中執行以下命令:
sudo docker run -d --restart=unless-stopped -v <主機路徑>:/var/lib/rancher/ -p 80:80 -p 443:443 rancher/rancher:stable
四、登錄Rancher
登錄並開始使用Rancher。登錄后,您將進行一些一次性配置。
-
打開瀏覽器,輸入
https://<server_ip>
,server_ip
替換為運行Rancher容器主機的ip; -
因為是自動使用的自簽名證書,在第一次登錄會提示安全授信問題,信任即可;
-
設置管理員密碼
第一次登錄會要求設置管理員密碼,默認管理員賬號為: admin
如果沒有設置密碼而要求輸入當前密碼,可以輸入密碼: admin
-
設置Rancher Server URL
Rancher Server URL是agent節點注冊到Rancher Serverd的地址,需要保證這個地址能夠被agent主機訪問,不要設置為
127.0.0.1
或者localhost
。
五、創建K8S集群
現在創建第一個Kubernetes集群,可以使用自定義選項。您可以添加雲主機、內部虛擬機或物理主機作為集群節點,節點可以運行任何一種或多種主流Linux發行版:
-
頁面右下角可以切換語言;
-
在全局視圖下,點擊菜單中的集群 , 並點擊添加集群;
-
選擇 Custom,並設置集群名稱,其他參數可不用修改,點擊下一步;
-
選擇節點運行的角色
默認會勾選Worker角色,根據需要可以一次勾選多種角色。比如,假設我只有一個節點,那就需要把所有角色都選擇上,選擇后上面的命令行會自動添加相應的命令參數;
-
如果是雲主機,需要添加主機的內網地址和對應的公網地址,如果是沒有公網的雲主機,可以跳過這步;
-
其他參數保持默認,點擊命令行右側的復制按鈕,復制命令參數
如果是多台主機,根據角色的不同,需要復制多次
-
登錄預添加集群的主機,執行以上復制的命令;
-
在主機上執行完命令后,最后點擊完成;
-
回到全局視圖,可以查看集群的部署狀態;
-
點擊集群名稱,進入集群視圖
-
點擊菜單欄主機按鈕
-
集群創建完成
-
集群創建完成后,默認會生成Default項目,點擊Default切換到項目視圖;
六、部署工作負載
工作負載是一個對象,包括pod以及部署應用程序所需的其他文件和信息。我們以nginx作為例如:
-
在Default視圖下,點擊工作負載—部署服務
-
在部署工作負載頁面,設置工作負載名稱、副本數量、鏡像名稱、命名空間、端口映射,其他參數保持默認,最后點擊啟動;
-
部署完成
-
通過31174端口去訪問nginx服務。
4 - 功能列表
Rancher v2.1.0功能列表
對比內容 | 分類 | 描述 |
K8S集群管理 | 多集群管理 | 容器平台能同時對多個Kubernetes集群進行管理,包括創建集群、刪除集群、集群搜索、為集群添加主機等。每個集群有自己獨立的管理視圖,包括控制面板、主機視圖、容器視圖、應用視圖,可圖形化顯示其所包含的節點狀態和容器運行狀態,並可以對節點和容器操作。每個集群上運行的應用和其他集群隔離。 |
集群基礎設施管理和部署 | 容器雲平台能夠指定Kubernetes集群的部署角色,包括etcd數據節點、API Server、Controller Manager控制節點、worker計算節點等。不同集群能夠指定不同的容器網絡模式,靈活支持目前社區主流的容器網絡解決方案,包括flannel、Calico、Canal等。平台能夠提供自動化部署工具,快速靈活的部署kubernetes集群。 | |
集群管理權限設定 | 可設定每個集群的用戶角色和權限,除默認內置角色外,支持在圖形界面進行細粒度的RBAC權限自定義和角色創建。管理員可以創建自定義角色,指定對平台內各種資源對象(包括但不限於Cluster、Pod、Deployment、ConfigMap等)的創建、刪除、編輯、枚舉等各種細粒度的操作權限。 | |
導入外部Kubernetes集群管理 | 容器雲平台必須能夠導入外部Kubernetes集群並進行管理的功能,以滿足對各種Kubernetes集群統一納管的需求。導入的Kubernetes集群能夠通過容器雲平台界面進行統一的角色管理,應用部署等各種操作。 | |
Kubernetes多版本支持 | 支持Kubernetes目前的主要穩定開源版本,包括1.9、1.10、1.11、1.12。用戶在部署Kubernetes集群時可以根據需要選擇相應的版本進行部署。 | |
集群升級 | 通過平台創建的Kubernetes集群,集群的系統軟件,如Kubernetes版本、網絡等系統服務軟件,可通過圖形界面在線升級或回退,不影響集群環境中業務的使用。 | |
Windows 集群支持 | 可管理 Windows Kubernetes 集群主機。 | |
多租戶功能 | 基於獨立集群的多租戶支持 | 容器雲平台支持基於獨立集群的多租戶隔離,可以為不同租戶創建並使用獨立的Kubernetes集群。各集群可以按需配置獨立的管理員、用戶及自定義角色,彼此之間完全隔離。 |
基於共享集群的多租戶支持 | 容器雲平台應支持集群內部的多租戶隔離,集群內租戶支持設置管理員、用戶及自定義RBAC角色,以滿足權限管理需求。當基於單個集群實現多租戶隔離時,同一個集群內部的租戶應用彼此隔離,單個租戶內部的用戶僅能查看和管理自己租戶內部的應用,且不同租戶應用容器之間需要實現網絡隔離。 | |
租戶權限管理 | 支持租戶內用戶角色的管理和設置,支持RBAC自定義創建租戶內用戶角色和權限,以實現靈活的權限管理。 | |
容器主機管理 | 納管虛擬機 | 支持以圖形界面在線添加虛擬機主機,新的主機被添加成功后將會顯示活動狀態,並可在圖形界查看主機的具體配置信息,包括但不限於主機名,IP地址,docker引擎版本號,操作系統版本,CPU/內存/磁盤配置信息等。 |
納管物理機 | 支持以圖形界面在線添加物理機主機,新的主機被添加成功后將會顯示活動狀態,並可在圖形界面看到主機的具體配置信息,包括但不限於主機名,IP地址,docker引擎版本號,操作系統版本,CPU/內存/磁盤配置信息等。 | |
內置Docker Machine驅動管理 | 內置Docker Machine驅動,可以對各類Docker的machine drivers進行配置和管理,方便用戶對接各類雲平台、vSphere環境、OpenStack環境等。 | |
主機分組管理 | 支持對不同的主機進行分組管理,可以使用標簽(或類似方式)標識,如按物理區域、安全區域、組織架構、項目、應用划分打標簽邏輯分組,支持多標簽。 | |
查看主機性能狀態信息 | 系統提供便捷的圖形化界面,以實現對容器主機相關性能和狀態信息的監控和查看。可以查看的主機性能信息包括,CPU、內存、網絡和磁盤,容器分配情況、端口使用情況、標簽、存儲等關鍵信息。 | |
驅散容器功能 | 在對主機進行維護時,例如升級內核,硬件維護等,這個功能首先會禁止新的容器調度到這個節點,然后會對該節點上的容器有規則的進行驅散。完成主機維護后,可以恢復節點功能。 | |
容器主機故障自動檢測和自動應用漂移 | 當某個主機故障時,無法和管理節點時間正常通信時,則該主機將被表示為不可用狀態,並在圖形界面顯示。該狀態下管理節點將視圖重連該主機,同時會將該主機上運行的容器自動漂移到其他正常主機節點,以保證該情況下相關容器的服務訪問正常。 | |
容器調度與管理 | 容器生命周期管理 | 平台提供便捷操作容器服務圖形化界面,可以編輯容器信息,可以啟動、重啟、停止、刪除、克隆容器。 並可在圖形界面上展示容器的信息和運行狀態,包括健康狀態,容器名、IP地址、所在主機、鏡像和命令等 |
查看容器狀態和性能 | 管理平台可以通過圖形界面查看容器關鍵性能和配置信息,可以查看標簽、存儲卷、端口映射、實時監控信等關鍵信息,包括但不限於: CPU、內存、網絡和磁盤、容器IP、Image、所使用主機等情況。 | |
容器控制台 | 圖形化界面可以直接調出該容器控制台,管理界面可以操作容器的CLI,方便后台控制人員執行命令行操作容器。 | |
查看容器日志 | 管理平台圖形化界面可以直接展示容器日志信息,並實時刷新。 | |
指定容器運行的主機 | 支持標簽或其它方式唯一限定容器運行主機。系統提供圖形化界面,設置容器編排調度規則。支持親和性/反親和性容器調度設置,系統提供圖形化界面,設置容器編排調度規則,支持基於標簽的親和性/反親和性調度,支持全部滿足/部分等過濾條件。 | |
容器應用管理 | 容器應用堆棧管理 | 支持使用應用模板一鍵創建容器應用棧。可以從應用集合,服務集合的角度對容器進行集中的管理和配置。 |
應用管理視圖 | 支持以不同方式查看、展現應用容器。至少支持根據命令空間Namespace、應用分類、容器運行節點、列表等方式展示容器列表。 | |
通過上傳編排文件直接部署應用 | 支持通過上yaml編排 文件,一鍵部署和啟動應用。極大提高部署效率,降低部署難度和時間。 | |
查看、下載編排配置文件 | 支持實時查看kubernetes編排文件配置內容。支持下載和保存kubernetes編排文件,方便配置編輯、保存、重新部署和故障恢復。 | |
統一調用非容器化服務或系統 | 管理平台可方便的實現容器訪問外部的應用和服務,容器可以訪問如不適合進行容器化的大型應用(如MySQL/Oracle數據庫)。支持通過圖形界面創建相應的服務發現記錄,包括外部IP地址、外部主機名、DNS別名等多種方 | |
容器管理 | 項目管理功能 | 項目是一個或多個 namespace 集合,集群管理員和項目管理員可以從項目層級設置配額。可以配置該項目的CPU,內存,存儲,Pod數量等等的配額。同時,在每個項目里,管理員也可以對每個namespace的配額進行控制。 |
容器服務健康檢查 | 系統內置對容器服務的健康檢查功能,支持在圖形界面進行以下健康檢查設置,包括: • 可以設定基於HTTP的健康檢查。 • 可以設定基於TCP的健康檢查。 • 可以設定基於命令行命令的健康檢查。 • 可以設定健康檢查的顆粒度,如檢查次數、間隔、超時時間等。 支持通過圖形界面對容器設置不同的Liveness Check和Readniess check規則。 |
|
容器服務伸縮 | 提供圖形界面,可以便捷手動進行容器擴容和收縮。還提供容器基於CPU、內存等資源使用率狀態數值觸發的自動擴容縮容。 | |
容器升級和回滾功能 | 提供圖形界面,可以便捷實現容器的升級和回滾操作。部署應用時可以設置應用的升級策略,包括新舊容器啟停順序、批量大小、最小就緒時間等等。 | |
支持灰度發布 | 可以實現灰度升級,升級過程中服務不中斷。升級后,圖形界面提供UI回滾到之前版本。當部署之前包括多個版本時,可提供多個版本進行回滾選擇。 | |
伴隨容器服務 | 可以為主容器提供伴隨容器服務,在進行復雜應用部署時,可以提供支持。支持通過圖形界面創建伴隨容器。 1.可以為主容器創建伴隨容器。 2.伴隨容器可以和主容器同時啟動和同時關閉。 3.伴隨容器可以和主容器共享容器數據卷和容器網絡。 |
|
容器可用性保障機制 | 可以設定服務容器的需要保證的有效數量,當系統故障時,平台可保證有效的的容器數量。可以保證應用服務維持一定的容器數量,用來保證服務正常。服務故障時可以重新創建容器,保證服務正常。 | |
容器網絡管理 | 容器網絡訪問策略控制 | 容器網絡支持多租戶隔離和策略控制,同集群內部的不同租戶可以實現網絡的隔離和限制。 |
支持容器基本網絡模式 | 支持容器共享主機網絡方式,可以在管理界面上設置容器網絡為主機共享網路模式,容器共享主機網絡namespace,使用主機網卡進行容器內外部通信。 | |
支持高級網絡模式 | 支持多種網絡模式,容器平台提供網絡插件,實現對容器IP和容器網絡的管理,支持容器網絡IP的自定義和跨主機容器網絡互訪。至少同時支持Flannel/Calico、Canal主流網絡技術。 | |
負載均衡服務 | 內置負載均衡服務 | 內置容器負載均衡服務。通過圖形界面創建負載均衡,可以進行端口指定、服務指定、SSL證書、會話保持、自定義負載均衡配置、標簽及調度等各項功能。 |
可定義負載均衡會話保持策略 | 內置負載均衡服務可以配置可以配置並使用基於cookie的會話保持功能。 | |
支持SSL終結功能 | 內置負載均衡服務可以配置可以配置並使用基於HTTPS的SSL終結功能。 | |
負載均衡后端支持 | 提供圖形界面,負載均衡后端同時支持Kubernetes Service對象和Pod直連,以支持話保持設置。 | |
支持高級訪問路由功能 | 提供圖形界面,可以配置負載均衡高級路由功能,實現根據URL頭信息、Domain name、訪問路徑等不同實現七層信息的轉發。 | |
容器存儲服務 | 存儲類型支持 | 容器雲平台應支持Kubernetes社區版本內置支持的所有存儲類型,包括FC、iSCSI、Ceph、Cinder、GlusterFS、AzureDisk、AWS EBS、ScaleIO等等。 方案提供方應該能夠提供自主產權且開源的分布式塊存儲方案,以滿足業務上對持久化存儲的要求 |
Persistent Volume支持 | 支持通過圖形界面創建Persistent Volume,支持的類型包括上述所列Kubernetes標准版本內置的存儲類型。用戶可以通過圖形界面方便的設置相關存儲參數。PV創建后可以在應用部署時通過圖形界面創建PVC使用。 | |
Storage Class支持 | 支持通過圖形界面創建Storage Class以滿足存儲動態自動創建需求,支持的類型包括上述所列Kubernetes標准版本內置的存儲類型。用戶可以通過圖形界面方便的設置相關存儲參數。Storage Class創建后可以在應用部署時通過圖形界面使用。 | |
超融合存儲支持 | 提供超融合存儲解決方案,支持基於容器集群宿主機本地磁盤構建存儲池並與容器集群進行集成。容器可利用本集群內部的存儲池實現數據的持久化和高可用。 | |
系統監控及日志 | 系統監控 | 支持集群和集群內部租戶不同層級的監控設置,監控內容至少應包括: • 系統組件健康狀態,如etcd、API Server等 • 系統部署事件,如創建Deployment、Service對象等。 • 主機資源利用率,如CPU、內存等 • 應用可用狀態,如Deployment中可用容器低於一定比例等。 |
系統告警 | • 需要提供系統內建的告警系統 • 告警系統支持通過圖形界面設置告警目標,不同告警規則可按需設置告警目標。告警目標應支持多種企業級集成,至少要同時支持對電子郵件、Slack、PageDuty系統的支持。同時需要提供 Webhook擴展方式,實現對其他告警方式的支持和擴展。 • 告警規則支持臨時暫停、恢復,初始發送延遲、發送間隔等高級設置,以按需控制告警信息的發送。 |
|
系統日志 | 平台提供日志收集代理,支持自動收集容器和應用程序日志。 • 日志系統能夠在集群層面、項目層面分別對應不同的日志平台,以滿足用戶部門對日志功能使用的靈活性,以滿足不同應用場景需求。 |
|
日志平台集成 | • 日志代理應支持業內主流日志平台集成,可以同時支持對ElasticSearch、Kafka、Splunk和Syslog的對接,用戶在圖形界面即可設置與上述平台的自動化集成對接。 • 日志系統能夠在集群層面、項目層面分別對應不同的日志平台,以滿足用戶部門對日志功能使用的靈活性 |
|
應用商店管理 | 容器應用商店 | 容器平台支持容器化應用商店,實現容器應用的模板化展示和快速部署。應用商店應支持Kubernetes社區的Helm Charts模板。 |
企業級應用商店展示、組織及管理 | 提供圖形界面,可以查看應用商店、實現應用模板的組織和管理。支持搜索和分類選擇展示。 | |
支持用戶交互的參數配置 | 在應用商店配置頁面中可配置模板版本和自定義參數,在配置過程中可以通過界面進行自定義配置。在啟動應用過程中,進行交互的參數可以自定義。同時不同的應用可以定義不同的參數。支持在應用商店模板中定義參數的類型、提示信息、默認值等相關設置,應用部署展示UI可根據參數定義動態生成並展示相關頁面。 | |
支持應用發布版本管理 | 可以在應用商店中選擇應用的不同發布版本,並啟動運行。應用商店出現該應用的新版本時,可自動提示正在運行的應用實例有新版本可以升級。 | |
支持部署私有隔離的應用商店 | 管理平台可以設置不同的應用商店路徑。每個路徑都可以指向一個獨立的應用商店,可以設置多個應用商店,應用可以放在不同的應用商店中進行隔離管理。 | |
系統管理及安全 | 認證方式 | 容器雲平台支持多種認證集成方式,除本地認證外,需支持主流的認證系統如微軟活動目錄、OpenLDAP、Github、Keycloak等,支持自定義認證插件實現集成認證。 |
容器安全策略 | 容器雲平台支持設置容器安全策略,對創建的容器進行安全管控,例如限制啟動特權容器、限制容器使用主機IPC模式、主機網絡模式,限制容器可以映射的主機數據卷路徑等。容器安全策略應當支持綁定到特定集群和集群內部的多租戶隔離實現。 | |
API秘鑰管理 | 容器雲平台支持為不同用戶創建獨立的API秘鑰,API秘鑰僅當首次創建時可查看。且支持進行API秘鑰自動過期設置,以確保系統安全。 | |
配置映射(configmap) | 提供圖形化界面,配置configmap以供服務調用。 | |
密文管理(secret) | 提供圖形化界面,配置secret以供服務調用。 | |
證書管理 | 平台提供圖形界面,可以對SSL證書進行管理。包括導入證書、刪除證書等。證書可用於應用訪問SSL加密。 | |
鏡像庫功能 | 對接外部私有鏡像倉庫 | 提供圖形界面,設置連接外部的鏡像倉庫,可設置外部倉庫的認證信息實現認證集成。可以設置默認鏡像庫,設置鏡像庫白名單等。 |
項目管理 | 支持公有和私有項目類型: • 公有: 公有項目中的鏡像所有用戶均有下載權限; • 私有: 私有項目中的鏡像只有項目內的成員有相應的操作權限; 新建項目: 每當新建一個用戶時,系統都會默認創建一個以該用戶的用戶名為項目名稱的私有項目;系統管理員可以創建新的項目,項目詳情頁,可查看鏡像和訪問控制列表。 搜索項目: 支持輸入關鍵字進行項目搜索; |
|
鏡像生命周期管理 | 鏡像生命生命周期主要功能如下所示: 鏡像下載: 若鏡像為私有鏡像,用戶至少要獲得對應項目的下載權限才能成功下載鏡像; 鏡像上傳: 用戶首先要擁有對應項目的提交權限才能在該項目下上傳鏡像; 鏡像修改: 用戶可以修改鏡像的描述信息,以及dockerfile; 鏡像復制: 實現鏡像在不同項目間的復制,用戶至少必須同時擁有源項目與目標項目的提交權限; 鏡像刪除: 在鏡像列表可以選擇刪除鏡像的某個版本,也可以直接刪除整個鏡像。 |
|
異地鏡像倉庫同步 | 支持設置好同步關系,並且多鏡像倉庫之間鏡像自動同步。鏡像同步的最小顆粒度是容器項目。 | |
系統集成支持 | 支持通過純命令行方式進行配置和管理 | 容器平台提供命令行管理工具,可以通過命令行對容器管理平台進行配置和管理。 方便運維人員開發自動化運維腳本。 |
提供API接口 | 容器雲平台應支持Restful API調用,以方便的與內部系統進行集成。API接口需求如下: *支持頁面直接展現API調用內容 *所有頁面上的操作都能通過API支持 支持基於多租戶API調用的訪問授權。 針對不同的用戶,都可以生成Access key和Secret key秘鑰對,在獲取正確的秘鑰對后方能對API接口進行訪問。 |
|
容器操作系統 | 容器雲廠商在提供容器平台的同時,還擁有知名的自主品牌的容器化操作系統平台,以實現容器宿主機的快速創建和部署,降低系統資源消耗和受攻擊面。 | |
CI/CD功能 | 同時支持多源碼管理 | CI/CD支持公有Github、Gitlab和私有Gitlab代碼庫的對接。 |
自動部署鏡像 | 打通了從代碼提交,自動測試,自動構建鏡像,自動部署鏡像的全流程。 | |
與應用商店集成 | 打通與應用商店的集成,可根據CI/CD的產物動態更新應用商店中的配置文件,應用商店提示有更新可用。 | |
靈活的流程控制 | 可以在最初的設置階段配置符合某既定要求的表達式或標簽,而系統會在執行階段根據執行情況自動跳過不符合該表達式或標簽的階段或步驟。如此一來,不同的代碼分支可以自動匹配不同的CI流程,從而支持較為復雜的流程控制。 |