共計(jì) 4066 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“K8S 集群怎么創(chuàng)建”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓丸趣 TV 小編來(lái)帶大家學(xué)習(xí)“K8S 集群怎么創(chuàng)建”吧!
一、引言
在國(guó)內(nèi),大部分的 CaaS 云廠商都是基于 Kubernetes 本身做了 Web 的二次開(kāi)發(fā),對(duì)容器進(jìn)行生命周期的管理。而在真實(shí)的企業(yè)級(jí) Kubernetes 的使用中,客戶的痛點(diǎn)并不在于 Pod 的管理,試想一下,如果你的企業(yè)中存在 20 套 Kubernetes 集群,而每個(gè)集群如何做到統(tǒng)一監(jiān)控、滾動(dòng)升級(jí)、動(dòng)態(tài)擴(kuò)容、自動(dòng)擴(kuò)展、故障自檢與恢復(fù)等等?而 PKS CC Platfrom 不僅實(shí)現(xiàn)了以上功能,而且還進(jìn)行了額外的擴(kuò)展,我們的理念是:CsaaS,即 Container Service As A Service。
二、功能詳解
下一步,我們會(huì)針對(duì) K8S 本身做進(jìn)一步擴(kuò)展,基于 Pivotal 的 Open Service Broker API 標(biāo)準(zhǔn),將更多的服務(wù)集成到 K8S 商店,同時(shí)將這些服務(wù)的生命周期的管理、監(jiān)控、擴(kuò)容、故障恢復(fù)等工作交給平臺(tái)本身自動(dòng)化完成。
K8S 集群創(chuàng)建:
一鍵生成 K8S 集群(在資源充足條件下,K8S 集群數(shù)量無(wú)限制),且 Master,Node 節(jié)點(diǎn)數(shù)量可預(yù)設(shè),目前支持的 Master 節(jié)點(diǎn)數(shù)量最大支持 5 個(gè)節(jié)點(diǎn),Node 節(jié)點(diǎn)數(shù)量無(wú)限制,但平臺(tái)默認(rèn)最大 Node 為 40 個(gè),可通過(guò)環(huán)境變量調(diào)節(jié)數(shù)量。下圖演示通過(guò) PKS CC Platfrom 一鍵創(chuàng)建 K8S 集群,其中 Mater 節(jié)點(diǎn)為 3 個(gè),Node 節(jié)點(diǎn)為 5 個(gè),底層資源為:Mster 為 2vCPU,4GB 內(nèi)存,32GB 存儲(chǔ),10GB 裸映射磁盤(永久磁盤)。Node 為 2cCPU,4GB 內(nèi)存,32GB 存儲(chǔ),10GB 裸映射磁盤(永久磁盤)。
第一步,給 K8S 集群起一個(gè)別名。
第二步,選擇 K8S 集群的預(yù)設(shè)節(jié)點(diǎn)規(guī)格,包括 K8S Master 數(shù)量,資源等。
第三步,初始化 K8S Node 節(jié)點(diǎn)的數(shù)量,這里默認(rèn)最大數(shù)量為 40 個(gè),可以通過(guò)環(huán)境變量調(diào)節(jié)。
第四步,選擇 K8S 所屬用戶,用戶概念會(huì)在后面講解,全部填寫完成后,點(diǎn)擊提交,后臺(tái)就會(huì)自動(dòng)生成所選規(guī)格的 K8S 集群。
其中底層資源是根據(jù) Plan 閾值動(dòng)態(tài)獲取的,這個(gè)閾值是可改的,也就是說(shuō) K8S 集群的資源定義是可變的。目前支持的虛擬機(jī)資源閾值和永久磁盤閾值如下:這個(gè)功能會(huì)在后面演示。
K8S 集群擴(kuò)容:
PKS CC Platfrom 支持一鍵擴(kuò)容或升級(jí) K8S 集群版本,這里的擴(kuò)容指 K8SNode 節(jié)點(diǎn)數(shù)量的擴(kuò)縮,底層資源的擴(kuò)縮會(huì)在后面演示,PKS CC Platfrom 的集群擴(kuò)容、升級(jí)操作,全部采用金絲雀方式,在擴(kuò)容、升級(jí)過(guò)程中不會(huì)中斷業(yè)務(wù)(不包括單節(jié)點(diǎn)集群)。下圖演示上一步創(chuàng)建的 jy-k8s-clusters 集群的擴(kuò)容操作。
我們點(diǎn)擊“查看集群”,然后選擇要進(jìn)行擴(kuò)容、升級(jí)的集群,可以看到當(dāng)前集群的 Node 節(jié)點(diǎn)為 5 個(gè),這里我們把節(jié)點(diǎn)擴(kuò)容到 7 個(gè)。
輸入好要擴(kuò)縮的節(jié)點(diǎn)數(shù)量后,點(diǎn)擊確認(rèn)按鈕,這時(shí),后臺(tái)會(huì)自動(dòng)將此 K8S 集群進(jìn)行自動(dòng)的節(jié)點(diǎn)擴(kuò)縮。我們可以看到上一次集群動(dòng)作為 UPDATE,且狀態(tài)為執(zhí)行中。
在集群 Node 節(jié)點(diǎn)擴(kuò)容成功完成后,我們點(diǎn)擊詳情按鈕,可以查看當(dāng)前集群的詳細(xì)信息。包括:K8S 版本信息,Master/Node 節(jié)點(diǎn)對(duì)應(yīng)的虛擬機(jī)詳情信息,和集群的狀態(tài)信息等等。
K8S 集群滾動(dòng)升級(jí):
在集群擴(kuò)容演示中,我們可以看到 K8S 的版本為 1.15.5,接下來(lái),我們?cè)趯?duì)此集群進(jìn)行 K8S 版本升級(jí)的操作,升級(jí)過(guò)程中我們也可以對(duì)虛擬機(jī)底層資源(存儲(chǔ)、CPU、內(nèi)存)進(jìn)行動(dòng)態(tài)擴(kuò)容,并且在所有操作過(guò)程中不會(huì)影響業(yè)務(wù)的連續(xù)性。
首先我們先看一下當(dāng)前 Node 節(jié)點(diǎn)虛擬機(jī)的資源情況,可以看到 K8S 版本為:1.15.5。虛擬機(jī)內(nèi)存為 4GB、CPU 為 2vCPU、非持久化磁盤為 32GB。
接下來(lái)我們對(duì) Node 節(jié)點(diǎn)的虛擬機(jī)資源進(jìn)行調(diào)整,首先我們將原來(lái)的 2vCPU、4GB 內(nèi)存、32GB 存儲(chǔ)擴(kuò)展為:8GB 內(nèi)存、64GB 存儲(chǔ)。點(diǎn)擊保存按鈕。
然后我們選中之前的 jy-k8s-clusters 集群,勾選“我只想升級(jí)此集群版本”然后點(diǎn)擊確認(rèn),在集群升級(jí)和資源擴(kuò)展完成后,我們?cè)俅尾榭粗暗?Node 節(jié)點(diǎn)信息,(這里每次升級(jí)或擴(kuò)容底層資源時(shí),虛擬機(jī)的名字會(huì)發(fā)生變化,但是 IP 地址和實(shí)例名字是永遠(yuǎn)不會(huì)變化的),可以看到,K8S 的版本從 1.15.5 升級(jí)到了 1.16.7,虛擬機(jī)底層資源也進(jìn)行了自動(dòng)擴(kuò)展,虛擬機(jī)類型也從 medium.disk 擴(kuò)展到了 large.disk。
K8S 集群一鍵刪除:
由于之前的 jy-k8s-clusters 集群正在滾動(dòng)升級(jí)過(guò)程中,需要很長(zhǎng)的一段等待時(shí)間,因此集群刪除功能我使用另一套 cluster-for-upgrade 集群進(jìn)行演示,我們選中 cluster-for-upgrade 集群,點(diǎn)擊刪除按鈕,這時(shí)底層 IaaS 會(huì)通過(guò) CPI 接口自動(dòng)刪除所選 K8S 集群。
點(diǎn)擊確認(rèn)按鈕,可以看到集群狀態(tài)變?yōu)?DELETE,底層 IaaS 也會(huì)刪除集群虛擬機(jī)。
點(diǎn)擊 cluster-for-upgrade 集群詳情,可以看到由于沒(méi)有升級(jí)此集群,K8S 版本還是 1.15.5。右側(cè) IaaS 任務(wù)中可以看到此集群的資源已經(jīng)被系統(tǒng)回收。
集群日志下載與連接 K8S 虛機(jī)功能:
點(diǎn)擊 jy-k8s-clusters 集群詳情,點(diǎn)擊后面的日志下載按鈕,系統(tǒng)會(huì)自動(dòng)收集當(dāng)前 K8S 節(jié)點(diǎn)的所有日志信息,包括 Waring、Error、DeBug、Info 等信息,并將所有信息打包。而連接 K8S 虛擬功能主要是為了降低運(yùn)維人員對(duì)于 BOSH 工具的使用要求,通過(guò)點(diǎn)擊某 K8S 實(shí)例,可以通過(guò) Web 窗口遠(yuǎn)程到 K8S 節(jié)點(diǎn)的虛擬機(jī)。
首先點(diǎn)擊兩個(gè) Mater 節(jié)點(diǎn),一個(gè) Node 節(jié)點(diǎn)的日志下載功能,后臺(tái)開(kāi)始收集日志并打包。
在集群詳情下方,可以查看我們下載的節(jié)點(diǎn)日志,并下載。
點(diǎn)擊任意一個(gè)日志下載到本地,解壓完成后,可以查看包括每一個(gè) K8S 組件的詳盡的日志信息。
通過(guò) Web 連接 K8S 虛擬機(jī)是為了更加方便快捷,并且能夠大大降低運(yùn)維人員對(duì)于底層工具命令的使用難度。以 Master 節(jié)點(diǎn)為例,點(diǎn)擊 Master 節(jié)點(diǎn)實(shí)例,這時(shí)候會(huì)自動(dòng)打開(kāi) WEB Terminal,并連接到相應(yīng)的虛機(jī)。K8S 集群采用進(jìn)程級(jí)監(jiān)控,任意 K8S 組件故障,系統(tǒng)可自動(dòng)檢測(cè)并拉起相應(yīng)服務(wù),保證 K8S 的健壯性、可靠性。
集群用戶管理功能:
我們點(diǎn)擊集群用戶管理,對(duì)于集群用戶的概念之前有提到過(guò),這里詳細(xì)說(shuō)一下,集群用戶是對(duì) K8S 做管理功能,比如:A 用戶最多可以創(chuàng)建 3 個(gè) K8S 集群,創(chuàng)建的 K8S 集群可用總內(nèi)存 200GB、總 CPU80 個(gè)。或者 A 用戶只能管理 1、2、3 這三個(gè) K8S 集群,對(duì)其他集群無(wú)管理權(quán)限。也可以是 A 用戶的權(quán)限只能獲取 1、2,k8S 集群的 kubeconfig、網(wǎng)絡(luò)配置、kube-profile 等一系列功能和限制。
在上圖中我們可以看到每個(gè)用戶有三種權(quán)限,這三種權(quán)限的限制如下:
執(zhí)行的操作 pks.clusters.adminpks.clusters.managepks.clusters.admin.read 創(chuàng)建,更新,調(diào)整大小和刪除集群是。可以創(chuàng)建,修改和刪除所有群集。是。只能創(chuàng)建,修改和刪除自己的集群。否。無(wú)法創(chuàng)建,修改和刪除集群。獲取集群憑證是。可以檢索所有群集的群集憑據(jù)。是。只能檢索其自己的群集的群集憑據(jù)。否。無(wú)法檢索群集憑據(jù)。升級(jí)集群是。可以升級(jí)所有群集。是。只能升級(jí)自己的集群。否。無(wú)法升級(jí)群集。列出集群是。可以列出所有群集。是。只能列出自己的集群。是。可以列出所有群集。查看集群詳細(xì)信息是。可以查看所有集群的集群詳細(xì)信息。是。只能查看自己集群的集群詳細(xì)信息。是。可以查看所有集群的集群詳細(xì)信息。創(chuàng)建和刪除計(jì)算配置文件是。可以創(chuàng)建和刪除計(jì)算配置文件。否。無(wú)法創(chuàng)建和刪除計(jì)算配置文件。否。無(wú)法創(chuàng)建和刪除計(jì)算配置文件。創(chuàng)建和刪除網(wǎng)絡(luò)配置文件是。可以創(chuàng)建和刪除網(wǎng)絡(luò)配置文件。否。無(wú)法創(chuàng)建和刪除網(wǎng)絡(luò)配置文件。否。無(wú)法創(chuàng)建和刪除網(wǎng)絡(luò)配置文件。創(chuàng)建和刪除 Kubernetes 配置文件是。可以增刪改所有 Kubernetes 配置文件。是。只能增刪改自己的 Kubernetes 配置文件。否。無(wú)法創(chuàng)建和刪除 Kubernetes 配置文件。創(chuàng)建,更新和刪除配額是。可以創(chuàng)建,更新和刪除配額。否。無(wú)法創(chuàng)建,更新和刪除配額。否。無(wú)法創(chuàng)建,更新和刪除配額。列出 PKS Plan 信息是。可以列出所有可用計(jì)劃。是。可以列出所有可用計(jì)劃。是。可以列出所有可用計(jì)劃。
創(chuàng)建新用戶并分配權(quán)限后,可以在列表中查看當(dāng)前用戶擁有的集群詳情和以上功能操作。
集群報(bào)警預(yù)警功能:
當(dāng) K8S 某節(jié)點(diǎn)被關(guān)機(jī)或者出現(xiàn)進(jìn)程監(jiān)控?zé)o法自修復(fù)的故障時(shí),PKS CC Platfrom 可以做到實(shí)時(shí)監(jiān)控和報(bào)警,可以設(shè)置郵箱或者短信方式通知平臺(tái)管理員,因此功能需要消耗一定的性能,需要手工開(kāi)啟。
這里我關(guān)閉一個(gè)節(jié)點(diǎn),模擬出現(xiàn) k8S 的故障情況,并開(kāi)啟監(jiān)控功能,可以看到平臺(tái)已經(jīng)監(jiān)控到了故障虛擬機(jī)節(jié)點(diǎn),并報(bào)警。而 PKS 平臺(tái)在出現(xiàn)不可修復(fù)的故障時(shí),自動(dòng)恢復(fù)的方式也很簡(jiǎn)單,平臺(tái)會(huì)自動(dòng)剔除這個(gè)節(jié)點(diǎn),并創(chuàng)建一個(gè)新的虛擬機(jī)節(jié)點(diǎn),重新加入到 K8S 集群中,達(dá)到平臺(tái)的高度自動(dòng)化運(yùn)維。
我們?cè)诳匆幌录簣?bào)警也監(jiān)控到了這個(gè)異常,并且在郵件中也收到了故障節(jié)點(diǎn)的報(bào)警信息。
三、其他功能簡(jiǎn)介
除了以上功能以外, PKS CC Platform 還提供了以下功能:個(gè)人信息管理,PKS CC Platform 用戶管理,基于 RBAC 的角色權(quán)限認(rèn)證,臨時(shí)離開(kāi)模式,K8S 操作日志,PKS CC Platform 操作日志等等。如下介紹一下基于 RBAC 的角色鑒權(quán),此功能可以任意創(chuàng)建角色并分配角色權(quán)限,并把角色分配給相應(yīng)用戶,在權(quán)限控制上更加靈活。
為新創(chuàng)建的角色分配權(quán)限。
為用戶分配相應(yīng)的角色。
到此,相信大家對(duì)“K8S 集群怎么創(chuàng)建”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!