最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

五分鐘!獲得輕量級的云原生應(yīng)用控制平面

2023-07-19 16:36 作者:阿里云  | 我要投稿

云原生的不斷成熟讓大量基礎(chǔ)設(shè)施層的能力可以被業(yè)務(wù)應(yīng)用直接使用,然而廣大的開發(fā)者們卻苦于很高的上手門檻和學(xué)習(xí)成本,一直沒有機(jī)會深入了解云原生生態(tài)的工具體系。今天我們將為你介紹一個好用的工具,它能夠在離線環(huán)境幫你快速安裝 Kubernetes 集群,低門檻的上手業(yè)務(wù)應(yīng)用部署,還能具備多集群、云資源等一系列高階能力,而你只需要準(zhǔn)備一個能夠運(yùn)行 Docker 的系統(tǒng)環(huán)境。
這個工具就是?VelaD,它可以幫助開發(fā)者從零開始,在三分鐘內(nèi)快速搭建基于 K3s 和 KubeVela 的云原生應(yīng)用控制平面。

準(zhǔn)備工作

  1. 如果你使用的是 Mac 或者 Windows,需要準(zhǔn)備 Docker 環(huán)境,推薦使用?Docker Desktop

  2. 如果你使用的是 Linux,則無需準(zhǔn)備工作。

安裝 VelaD

Mac/Linux

Windows

使用 Powershell 運(yùn)行

安裝中需要你輸入當(dāng)前用戶的密碼來安裝到 PATH 中,用以下命令確認(rèn)你已經(jīng)安裝成功:

一鍵安裝 Kubernetes 和 KubeVela 控制平面

最簡單的情況下,使用 VelaD 創(chuàng)建多集群控制平面,只需要一條命令:

整個安裝過程是離線完成的,只需要 1 分鐘左右便可安裝完成,除了 Kubernetes 以外,還會安裝 KubeVela 這個現(xiàn)代化的云原生應(yīng)用交付和管理平臺,幫你輕松上手云原生應(yīng)用的部署。不僅如此,你還可以通過添加更多節(jié)點(diǎn)和數(shù)據(jù)庫來保證集群數(shù)據(jù)的更高可用性(見“添加集群”小節(jié))。另外,以上命令所創(chuàng)建的控制平面并不會自動將集群暴露給公網(wǎng)。如果你需要通過公網(wǎng)訪問你在遠(yuǎn)程服務(wù)器上創(chuàng)建的控制平面,參見遠(yuǎn)程訪問文檔。

該命令的背后是基于 K3s/K3d 技術(shù)為你在機(jī)器上創(chuàng)建一個單節(jié)點(diǎn)的 Kubernetes 集群,并在其中安裝 KubeVela,及其命令行工具 vela?;谶@個環(huán)境,你可以立刻開始交付你的業(yè)務(wù)應(yīng)用。

開箱即用的應(yīng)用交付功能

開啟 VelaUX

隨著 velad install 的執(zhí)行,廣受歡迎的控制臺插件 VelaUX 也一并在你的機(jī)器上就緒了。注意 velad install 執(zhí)行結(jié)束后的提示:

復(fù)制安裝成功后的提示命令,執(zhí)行,啟用 VelaUX 插件,命令中的路徑在你的環(huán)境有所不同

Linux/Mac

Windows

VelaUX 是一個控制平面上運(yùn)行的應(yīng)用,你可以通過瀏覽器來訪問,將 VelaUX 的端口轉(zhuǎn)發(fā)到本機(jī)來訪問:

使用上下方向鍵選擇 >local | velaux | velaux。接下來你就能在瀏覽器中訪問:http://127.0.0.1:8080/

初始管理員用戶名和密碼分別為 admin 和 VelaUX12345,登陸后你需要設(shè)置郵箱和密碼。

部署應(yīng)用

下面將帶你體驗(yàn)使用 VelaUX 三步部署一個 Wordpress 應(yīng)用。Wordpress 是一個著名的博客軟件,可以通過 Helm Chart 部署。

第一步:在插件列表中啟用 fluxcd 插件。fluxcd 插件為 KubeVela 提供了交付 Helm Chart 的能力。等待 fluxcd 插件就緒,狀態(tài)轉(zhuǎn)為 running。

Tips: KubeVela 的微內(nèi)核設(shè)計(jì),可以通過插件系統(tǒng)不斷擴(kuò)充系統(tǒng)能力,你可以借此持續(xù)采納云原生領(lǐng)域中最新的實(shí)踐。目前 KubeVela 官方插件目錄中含有 40+ 正式插件,30+ 實(shí)驗(yàn)插件,涉及工作負(fù)載、云資源、可觀測性、滾動發(fā)布等多個領(lǐng)域,并且還在不斷擴(kuò)充中。

第二步:創(chuàng)建應(yīng)用,填入名稱 wordpress,選擇主組件類型為 helm,并綁定 default 環(huán)境。

Tips: 環(huán)境是 VelaUX 的重要概念,可以幫助用戶區(qū)分例如開發(fā)、測試、生產(chǎn)等環(huán)境。

點(diǎn)擊下一步,填寫如下參數(shù):

倉庫地址:https://charts.bitnami.com/bitnami

Chart: wordpress


開啟高級參數(shù),給 Values 添加四個值:

service.type:ClusterIP

wordpressUsername:admin

wordpressPassword:wordpress_password

mariadb.db.password:mariadb_password

Tips: 參數(shù)的來源是?wordpress/README.md,你還可以選擇其它你需要的參數(shù)。以上參數(shù)保證我們可以完成交付。

第三步:點(diǎn)擊“部署”,你可以看到正在執(zhí)行的工作流,我們的應(yīng)用沒有額外配置工作流,所以 VelaUX 會生成一個默認(rèn)工作流。點(diǎn)擊左側(cè)狀態(tài)欄,可以追蹤整個應(yīng)用的拓?fù)浣Y(jié)構(gòu)。等待直至工作流完成。以及資源拓?fù)鋱D中所有資源都達(dá)到健康狀態(tài)。

Tips: 除了通過應(yīng)用的拓?fù)浣Y(jié)構(gòu)觀察全部底層資源的狀態(tài),你還可以在其它 Tab 中查看容器狀態(tài)、事件、日志、資源指標(biāo)等信息,如果開啟了 cloudshell 插件,用戶還能進(jìn)入 pod shell 執(zhí)行命令。整個過程受到 VelaUX 多租戶權(quán)限體系的嚴(yán)格管控。你可以通過?KubeVela 文檔進(jìn)一步了解權(quán)限管理、單點(diǎn)登錄等問題。

Tips: 應(yīng)用的工作流是 KubeVela 中對應(yīng)用發(fā)布過程的一部分。提供了面向過程的靈活性,可以實(shí)現(xiàn)條件判斷、暫停、狀態(tài)等待、數(shù)據(jù)流傳遞、多環(huán)境灰度等復(fù)雜操作。

訪問應(yīng)用

接下來,你就可以訪問剛剛部署的應(yīng)用了!運(yùn)行如下命令,將 Wordpress 的端口轉(zhuǎn)發(fā)到本地。使用上下鍵和回車選擇 local | wordpress | wordpress:80

使用瀏覽器訪問:http://127.0.0.1:8081/login,使用剛剛填寫的用戶名和密碼:admin/wordpress_password 登錄為管理員。

我們一直在使用端口轉(zhuǎn)發(fā)來訪問應(yīng)用,但是在實(shí)際情況中,你可能更多采用其它更高效和安全的方式來暴露服務(wù),但是在測試環(huán)境中,端口轉(zhuǎn)發(fā)已經(jīng)足夠好用。我們在高級功能中將展示如何在跨環(huán)境差異化部署,并且不同環(huán)境甚至可以在不同集群中!因?yàn)槎嗉簯?yīng)用的部署在 KubeVela 中是一等公民。

回收應(yīng)用

在 wordpress 應(yīng)用的 Default 環(huán)境里,選擇左側(cè)狀態(tài)欄,可以回收應(yīng)用,這一操作會回收下發(fā)的應(yīng)用以及其下的工作負(fù)載。

添加插件,擴(kuò)展你的應(yīng)用控制平面

通過上文我們知道 KubeVela 通過插件來提供許多功能。VelaUX、fluxcd 、dex 都是 KubeVela 優(yōu)秀的插件體系的一部分。插件幫助我們把“以應(yīng)用為中心”的理念發(fā)揚(yáng)光大,想要增強(qiáng)控制平面的應(yīng)用交付、管理能力,只需要啟用不同的插件即可。

  • 需要快速迭代并控制發(fā)布的風(fēng)險(xiǎn)?kruise-rollout 插件提供應(yīng)用灰度發(fā)布能力,支持原生 Deployment/Helm Chart。

  • 需要提高團(tuán)隊(duì)生產(chǎn)力和協(xié)作效率?backstage 插件幫助將應(yīng)用信息關(guān)聯(lián)至開發(fā)者門戶。

  • 需要更高資源彈性以及可用性?terraform 插件賦予平臺交付云資源的能力,借助你需要的云資源完成應(yīng)用構(gòu)建。

  • 需要掌握應(yīng)用運(yùn)行狀態(tài)?一組可觀測插件集成了包括 Prometheus、Loki、Grafana 在內(nèi)的可觀測項(xiàng)目,提供全棧的聲明式可觀測能力,幫助業(yè)務(wù)開發(fā)者靈活定制,輕松洞察各類復(fù)雜的云原生工作負(fù)載。

KubeVela 插件倉庫還包含了在工作流、網(wǎng)關(guān)、大數(shù)據(jù)、安全、混部等領(lǐng)域的插件,更多來自社區(qū)的最佳實(shí)踐正在以插件形式沉淀下來。

高級功能

添加節(jié)點(diǎn) - 擴(kuò)容集群

本功能要求 VelaD 控制平面安裝在 Linux 中

想要使用 VelaD 作為輕量級控制平面,單節(jié)點(diǎn)在加入更多插件時(shí),或者在控制面部署過多應(yīng)用時(shí),可能達(dá)到計(jì)算資源上限,這時(shí)你可以向原本的控制平面添加 worker 節(jié)點(diǎn)來擴(kuò)容集群。

1. 在你已經(jīng)運(yùn)行過 velad install 的第一個節(jié)點(diǎn)上,運(yùn)行 velad token 獲得該集群的注冊 Token。


2. 在第二個節(jié)點(diǎn)上,通過如下命令向控制平面加入新的 worker 節(jié)點(diǎn),從而組建多節(jié)點(diǎn)的控制平面。

其中↓

<master-ip>:是 VelaD 控制平面第一個節(jié)點(diǎn)的 IP 地址,只要 worker 節(jié)點(diǎn)可以訪問該 IP 地址即可,例如二者在同一個內(nèi)網(wǎng)環(huán)境內(nèi)。需要 worker 通過公網(wǎng)訪問第一個節(jié)點(diǎn)時(shí),請參見遠(yuǎn)程訪問文檔來創(chuàng)建第一個節(jié)點(diǎn)。(必填參數(shù))

<token> 是在第一步中命令打印的結(jié)果:VelaD 控制平面的 Token。(必填參數(shù))

<worker-name> 是新工作節(jié)點(diǎn)的名稱。(可選參數(shù))

3. 確認(rèn)節(jié)點(diǎn)已經(jīng)加入,在任意一個節(jié)點(diǎn)上運(yùn)行,得到兩個條目即為加入成功。


4. 當(dāng)你需要卸載節(jié)點(diǎn)時(shí),只需在被卸載的節(jié)點(diǎn)上運(yùn)行 velad uninstall 即可。

添加集群 ?- 跨多集群環(huán)境部署應(yīng)用

上文提到 VelaD 可以作為多集群的控制平面,但到目前為止你可能會問,沒有多集群的事?。肯旅婢蜁榻B如何使用 KubeVela 跨集群環(huán)境部署應(yīng)用。我們將繼續(xù)采用 VelaUX 作為演示平臺。

這次我們的目標(biāo)是將 wordpress?跨集群、跨環(huán)境部署,并且在生產(chǎn)環(huán)境中做一些自定義,具體來說:

  1. 在本地集群發(fā)布測試版本,人工確認(rèn)無誤后,將應(yīng)用發(fā)布到生產(chǎn)集群。

  2. 在生產(chǎn)集群中將 wordpress 容器副本數(shù)提高到 2 個以提高可用性。

準(zhǔn)備集群

我們需要一個子集群(相對于 KubeVela 所在的管控集群)作為生產(chǎn)集群,如果你沒有其它可用集群,可以通過 VelaD 可以在單臺 MacOS 或者 Windows 機(jī)器上輕松創(chuàng)建另一個集群,運(yùn)行如下命令

Linux 平臺怎么辦?

VelaD 不支持在單臺 Linux 機(jī)器中創(chuàng)建多個集群。如果你正在使用 Linux 并嘗試 VelaD 作為多集群控制平面,可以在其它 Linux 機(jī)器中創(chuàng)建集群并繼續(xù)。將集群暴露給其它機(jī)器的方式見遠(yuǎn)程訪問文檔。

相比于之前的安裝命令,該命令添加了名字參數(shù)(默認(rèn)為 default)。因?yàn)樵摷簩⒆鳛樽蛹?,我們?--cluster-onlyflag 跳過安裝 KubeVela。使用如下命令來檢查兩個集群的狀態(tài):

期望輸出

Tips:VelaD 創(chuàng)建的第二個集群是為了模擬實(shí)際上的生產(chǎn)集群,它實(shí)際上還是運(yùn)行在本地的 Docker 環(huán)境的容器。

將集群加入控制平面的管控

使用已經(jīng)配套安裝好的 vela 命令行工具,將子集群加入到控制平面的管控中來。

Linux/Mac

Windows

期望輸出

子集群加入之后,你可以使用 vela cluster list 來查看被管控的所有集群。在 VelaUX 中也能查看到剛剛加入的集群。其中 local 集群是 KubeVela 所在的控制平面集群的默認(rèn)名稱,也就是你第一個創(chuàng)建的集群。

期望輸出

升級插件

新集群加入后,我們需要回到插件頁升級 fluxcd 插件,使其在新集群生效。

新增環(huán)境和交付目標(biāo)

在左側(cè)環(huán)境列表中新增 prod 環(huán)境,先后創(chuàng)建并添加兩個交付目標(biāo),

  • local 集群,wordpress-test 命名空間

  • cluster-worker 集群,wordpress-prod 命名空間

發(fā)布應(yīng)用

在 wordpress 應(yīng)用配置中

1. 綁定 prod 環(huán)境

2. 新增一個策略使其在生產(chǎn)環(huán)境的副本數(shù)為 2。這里要添加的策略是配置覆蓋。首先選擇應(yīng)用到的工作流和步驟,在組件中選擇

選擇 Add a component patch來添加一個 Patch,選擇 wordpress 組件。由于 Properties 的 patch 非常自由,VelaUX 提供了黑屏編寫 YAML 的方式開放該接口。選擇 Assign the default properties 并點(diǎn)擊右上角綠框中的“切換黑屏”圖標(biāo)。在如圖的 value 字段中,添加 replicaCount: 2 一行并最終創(chuàng)建策略。

點(diǎn)擊上方的 prod 環(huán)境,VelaUX 以可視化的方式編輯應(yīng)用的工作流。選擇工作流畫板,在兩個步驟之間添加 suspend 步驟并保存。這允許我們在工作流中暫停并檢查測試環(huán)境的應(yīng)用狀態(tài),并人工確認(rèn)繼續(xù)工作流完成發(fā)布到生產(chǎn)環(huán)境。

點(diǎn)擊部署并選擇 prod 環(huán)境的工作流、部署。

由于我們添加的 suspend 步驟,在 local/wordpress-test 部署成功后,我們將看到狀態(tài) SUSPENDING 旁邊提示我們是否繼續(xù)工作流,假設(shè)此時(shí)我們通過訪問測試環(huán)境

  • 確認(rèn)應(yīng)用工作正常,就可以批準(zhǔn)繼續(xù)執(zhí)行。

  • 或者發(fā)現(xiàn)測試環(huán)境的應(yīng)用工作異常,選擇停止發(fā)布工作流進(jìn)行排查。

這里我們繼續(xù)執(zhí)行工作流。

工作流成功執(zhí)行后,通過狀態(tài)欄可以查看到:我們作為生產(chǎn)環(huán)境的 cluster-worker 集群中 wordpress-prod 有兩個正在運(yùn)行的 Pod 副本。驗(yàn)證了我們對于應(yīng)用策略的設(shè)置。

當(dāng)然 KubeVela 有更多對多集群管控的能力,你可以在?KubeVela 文檔中找到更多用法。

高可用的控制平面

具有單個 master 節(jié)點(diǎn)的控制平面滿足了一些使用需求,但是對于控制平面穩(wěn)定性要求更高的用戶,VelaD 還能幫助搭建一個具備更高可用性的多集群控制平面。它由以下部分組成

  • 兩個及以上的 server 節(jié)點(diǎn)

  • 一個外部數(shù)據(jù)庫

  • 一個負(fù)載均衡器

Note:這些組件的要求:server 和負(fù)載均衡節(jié)點(diǎn)要求是 Linux 系統(tǒng),外部數(shù)據(jù)庫可以采用云服務(wù)或者自建數(shù)據(jù)庫。

VelaD 盡量將全部的搭建過程變得簡單且順手,為了搭建具備高可用性的控制平面,你僅需運(yùn)行幾條命令:

1. 在第一個 server 節(jié)點(diǎn)上運(yùn)行

其中 <LB_IP> 是負(fù)載均衡節(jié)點(diǎn)的 IP 地址。<DB_ENNDPOINT> 是外部數(shù)據(jù)庫的連接串,其格式可見數(shù)據(jù)庫格式文檔。

2. 在其他 server 節(jié)點(diǎn)運(yùn)行幾乎相同的命令,額外加上 --cluster-only 參數(shù),這意味著僅將節(jié)點(diǎn)作為 master 加入集群,跳過安裝 KubeVela,因?yàn)樵诘谝粋€ server 節(jié)點(diǎn)運(yùn)行命令時(shí),已經(jīng)安裝了 KubeVela。

3. 通過在任意一個節(jié)點(diǎn)上運(yùn)行配置負(fù)載均衡的向?qū)?,獲得負(fù)載均衡的配置命令。

4. 在負(fù)載均衡節(jié)點(diǎn)上,將上述向?qū)л敵龅牡诙袕?fù)制過來并運(yùn)行。

Tips:其中 IP1 等為 server 節(jié)點(diǎn)的 IP 地址,load-balancer install 命令背后幫助用戶設(shè)置了一個轉(zhuǎn)發(fā)到 Server 的 Nginx 服務(wù)。

5. 在任何一個 server 節(jié)點(diǎn)打印 kubeconfig 的位置,并將該文件復(fù)制到任何可以訪問到負(fù)載均衡節(jié)點(diǎn)的位置(例如你的筆記本上)。其中 --external 表示該 kubeconfig 是從外部訪問集群所需要的。

Boom!你可以通過這個 kubeconfig 訪問和管理這個控制平面了!任何一個 server 節(jié)點(diǎn)故障都不會影響控制平面的可用性。

結(jié)語

以上就是本次的全部內(nèi)容,感謝你的閱讀和嘗試。云原生的逐漸成熟涌現(xiàn)出了大量開箱即用的生態(tài)功能,但是廣大開發(fā)者群體往往被云原生復(fù)雜的生態(tài)圖景勸退,今天我們介紹了 VelaD 項(xiàng)目,期望以最簡單、最快的方式幫助你上手云原生并立刻開始交付應(yīng)用。隨著你的需要,VelaD 能不斷提高控制平面的容量和可用性。你還能通過向控制面注冊子集群的方式,將應(yīng)用部署到更多你需要的位置。

其背后的 KubeVela 項(xiàng)目在開箱即用的應(yīng)用交付功能的基礎(chǔ)上,不斷以插件形式將云原生領(lǐng)域的最佳實(shí)踐帶給你,讓你以更快更簡單的方式增強(qiáng)自己的應(yīng)用交付過程。官方插件倉庫已經(jīng)擁有了囊括變體工作負(fù)載、云資源、可觀測性、滾動發(fā)布等多個領(lǐng)域的 70+ 插件。目前 KubeVela 的插件生態(tài)還在快速成長中,歡迎你來社區(qū)提出需求或做出貢獻(xiàn)。

近期 KubeVela 即將發(fā)布 v1.8 版本,帶來集群資源一鍵納管功能,幫助你無痛遷移遺留系統(tǒng)。還有對大規(guī)模應(yīng)用場景的壓測報(bào)告、性能優(yōu)化以及控制器分片方案,幫助你輕松面對業(yè)務(wù)規(guī)模增長的挑戰(zhàn)。


五分鐘!獲得輕量級的云原生應(yīng)用控制平面的評論 (共 條)

分享到微博請遵守國家法律
浦北县| 通州区| 龙州县| 临澧县| 潼南县| 华宁县| 裕民县| 锦州市| 襄樊市| 阜南县| 汪清县| 永嘉县| 抚州市| 通江县| 太保市| 本溪市| 乌拉特前旗| 柳州市| 铜梁县| 华阴市| 嵩明县| 壤塘县| 北流市| 册亨县| 兴文县| 罗定市| 金寨县| 建昌县| 邯郸市| 和静县| 广宁县| 依安县| 墨江| 江川县| 仲巴县| 筠连县| 石家庄市| 浏阳市| 香港 | 玉门市| 新巴尔虎左旗|