每日速遞:開(kāi)始使用 VMware Tanzu Community Edition

2022-12-30 14:16:53 來(lái)源:51CTO博客

VMware Tanzu 社區(qū)版是 VMware Tanzu 的免費(fèi)、社區(qū)支持的開(kāi)源發(fā)行版,已在 DevOps Loop 2021 上宣布。

首先,Tanzu 社區(qū)版打算匯集 Tanzu 的所有功能,為用戶提供跨多個(gè)云和基礎(chǔ)設(shè)施提供商創(chuàng)建和支持現(xiàn)代應(yīng)用程序生命周期的能力。這些平臺(tái)的中心引擎是Kubernetes。但是,根據(jù)團(tuán)隊(duì)的需求,可以使用其他工具來(lái)輕松分層更多平臺(tái)抽象和功能。例如,Tanzu Community Edition 可用于基于 Knative 配置無(wú)服務(wù)器平臺(tái)、自動(dòng)配置基礎(chǔ) Kubernetes 集群、配置容器網(wǎng)絡(luò)接口 (CNI)、安裝 Contour 等入口控制器以及部署 Knative。此過(guò)程是自動(dòng)化的,可以在任何云提供商上運(yùn)行。


(資料圖)

如何開(kāi)始使用 Tanzu 社區(qū)版

Tanzu Community Edition 基于 Tanzu CLI 工作,并提供簡(jiǎn)單的 CLI/UI 界面。它使用 Docker 來(lái)啟動(dòng)預(yù)配請(qǐng)求,因此必須在引導(dǎo)計(jì)算機(jī)上預(yù)安裝 Docker(在此處查找說(shuō)明)。確保為 Docker 提供至少 6GB 的內(nèi)存和兩個(gè) CPU。截至此日期,v. 0.9.1 是 Tanzu 社區(qū)版的最新版本。

如果你在MacOS或Linux上運(yùn)行,獲得Tanzu CLI的最簡(jiǎn)單方法是通過(guò)Homebrew。添加 vmware-tanzu tap,安裝 tanzu CLI,然后運(yùn)行配置腳本:

??brew tap vmware-tanzu/tanzu??

??brew install tanzu-community-edition??

安裝后,根據(jù)您的平臺(tái)運(yùn)行以下命令:

??Linux : {HOMEBREW-INSTALL-LOCATION}/configure-tce.shMac: {HOMEBREW-INSTALL-LOCATION}/v0.9.1/libexec/configure-tce.sh??

如果您在 Windows 上運(yùn)行或未安裝 Homebrew,請(qǐng)從此處下載 tar/zip 文件,將其解壓縮,然后從解壓縮的目錄運(yùn)行安裝腳本。

第 0 天可以做什么

構(gòu)建現(xiàn)代應(yīng)用程序的開(kāi)發(fā)團(tuán)隊(duì)可以使用 Tanzu 社區(qū)版創(chuàng)建一個(gè)以 Kubernetes 為中心的平臺(tái),以開(kāi)發(fā)、測(cè)試、驗(yàn)證并最終在給定的云或基礎(chǔ)架構(gòu)端點(diǎn)上部署其應(yīng)用程序代碼。它可以在 vSphere、AWS、Azure 或筆記本電腦或臺(tái)式機(jī)上運(yùn)行的 Docker 上自動(dòng)預(yù)配 Kuberernetes 集群。

使用 Tanzu 社區(qū)版配置 Kubernetes 集群有兩種方法:

獨(dú)立集群– 預(yù)配開(kāi)發(fā)環(huán)境的最簡(jiǎn)單方法是預(yù)配“獨(dú)立”群集。Tanzu 社區(qū)版將接受所需的節(jié)點(diǎn)數(shù)量、基礎(chǔ)設(shè)施身份驗(yàn)證和授權(quán)等輸入來(lái)配置節(jié)點(diǎn),以及 Docker 來(lái)啟動(dòng)配置控制器。在此運(yùn)行結(jié)束時(shí),你將部署 Kubernetes 群集和群集配置文件。但是,不建議在快速開(kāi)發(fā)環(huán)境之外使用此方法。由于不存儲(chǔ) Kubeconfig 和其他詳細(xì)信息,因此由用戶來(lái)存儲(chǔ)和保存訪問(wèn)集群的憑據(jù)。此外,目前的獨(dú)立集群無(wú)法擴(kuò)展。出于這些原因,對(duì)于許多用例,不建議使用獨(dú)立集群。由管理群集管理的工作負(fù)載群集– 預(yù)配 Kubernetes 群集的另一種方法是首先為給定基礎(chǔ)結(jié)構(gòu)預(yù)配管理群集,然后使用該群集預(yù)配工作負(fù)載群集。每當(dāng)預(yù)配生產(chǎn)環(huán)境時(shí),建議這樣做。管理群集將身份驗(yàn)證詳細(xì)信息存儲(chǔ)到所有工作負(fù)載集群,可以擴(kuò)展工作負(fù)載集群,還可以提供身份服務(wù)。

運(yùn)營(yíng)團(tuán)隊(duì)可以配置 Kubernetes 集群,并通過(guò)身份和身份驗(yàn)證管理向用戶提供對(duì) Kubernetes API 的訪問(wèn)權(quán)限。

如何預(yù)配獨(dú)立群集

預(yù)配獨(dú)立群集的方法有兩種:一種是通過(guò) UI 實(shí)現(xiàn)的,另一種是通過(guò)提供群集配置 YAML 文件的 Tanzu CLI。處理所有依賴項(xiàng)的最簡(jiǎn)單方法是先運(yùn)行 UI 方法。這將自動(dòng)生成預(yù)配其他群集所需的配置 YAML。

對(duì)于 UI,請(qǐng)從以下命令開(kāi)始:

??tanzu standalone-cluster create --ui??

將打開(kāi)一個(gè)瀏覽器窗口,為您提供選擇基礎(chǔ)架構(gòu)提供商和更多詳細(xì)信息的選項(xiàng)。填寫(xiě)詳細(xì)信息后,安裝程序?qū)⒋鎯?chǔ)配置數(shù)據(jù)并開(kāi)始預(yù)配。

例如,如果您選擇 AWS,以下屏幕將詢問(wèn)有關(guān)如何連接到 AWS、您希望集群中有多少個(gè)節(jié)點(diǎn)、節(jié)點(diǎn)應(yīng)該是什么大小以及要使用的虛擬私有云 (VPC) 的詳細(xì)信息;然后,它將開(kāi)始預(yù)配群集。

對(duì)于 CLI,請(qǐng)從以下命令開(kāi)始:

??tanzu standalone-cluster create -f ??

此處,配置位置是從上次運(yùn)行中保存的配置 YAML 的位置。

如何部署管理群集

部署管理群集的過(guò)程與部署獨(dú)立群集的過(guò)程非常相似,但它從以下命令開(kāi)始。系統(tǒng)將要求您提供相同的數(shù)據(jù),例如如何連接到基礎(chǔ)架構(gòu)、群集配置和網(wǎng)絡(luò)詳細(xì)信息。

??tanzu management-cluster create --ui??

此外,在為管理群集提供輸入時(shí),可以啟用標(biāo)識(shí)管理。Tanzu Community Edition 支持基于 OpenID Connect 或 LDAP 的外部身份提供程序。

如何部署工作負(fù)載群集

創(chuàng)建管理群集后,將 設(shè)置為 管理群集。??kubectl context??

您可以使用以下命令獲取管理群集上下文:

??kubectl config get-contexts??

然后,使用以下方法選擇管理群集的上下文,其中 MGMT-CLUSTER-CONTEXT 是根據(jù)管理群集的名稱看到的上下文:

??kubectl config use-context ??

通過(guò)運(yùn)行命令登錄到 Tanzu。??Tanzu Login??

創(chuàng)建管理群集時(shí),群集的配置 YAML 文件存儲(chǔ)在位置 中。您可以重復(fù)使用此文件,更改節(jié)點(diǎn)實(shí)例類型或計(jì)數(shù)等內(nèi)容的值,并提供該文件以創(chuàng)建工作負(fù)載集群,如下所示:??~/.config/tanzu/tkg/clusterconfigs/.yaml??

??tanzu cluster create -f ??

上述命令將預(yù)置工作負(fù)載集群,并將工作負(fù)載集群的 Kubeconfig 合并到文件中。??~.kube/config??

您可以更改上下文并使用 kubectl 開(kāi)始使用工作負(fù)載集群。

第 1 天可以做什么

部署 Kubernetes 集群后,開(kāi)發(fā)團(tuán)隊(duì)可以開(kāi)始進(jìn)一步分層抽象,或者運(yùn)營(yíng)團(tuán)隊(duì)可以開(kāi)始添加監(jiān)控和日志記錄功能。所有這些都是通過(guò)Tanzu社區(qū)版的包管理功能完成的。這是由命令實(shí)現(xiàn)的。在后端,Tanzu 社區(qū)版有一個(gè)支持版本、元數(shù)據(jù)信息等的軟件包存儲(chǔ)庫(kù)。在要添加其他軟件包的集群上,Tanzu 社區(qū)版會(huì)部署一個(gè)控制器,該控制器了解如何從存儲(chǔ)庫(kù)安裝軟件包,以及一個(gè)自定義資源定義 (CRD),用于存儲(chǔ)可供安裝或已安裝的軟件包的狀態(tài)。??tanzu package??

要添加包,您首先需要添加一個(gè)存儲(chǔ)庫(kù):

??tanzu package repository add tce-repo \??

??--url projects.registry.vmware.com/tce/main:0.9.1 \??

??--namespace tanzu-package-repo-global??

這將部署整個(gè)群集可以從中引用的存儲(chǔ)庫(kù)。您還可以將此存儲(chǔ)庫(kù)綁定到特定命名空間。

添加并協(xié)調(diào)存儲(chǔ)庫(kù)后,可以通過(guò)運(yùn)行以下命令獲取可用包的列表:

??$ tanzu package available list??

下面是一個(gè)示例輸出:

作為開(kāi)發(fā)人員,您可以選擇通過(guò)獲取版本并更新包所需的任何元數(shù)據(jù)來(lái)添加包。例如,要安裝證書(shū)管理器,您可以通過(guò)運(yùn)行以下命令獲取可用版本:

??tanzu package available list cert-manager.community.tanzu.vmware.com??

獲得版本后,可以使用以下命令安裝證書(shū)管理器:

??tanzu package install cert-manager --package-name cert-manager.community.tanzu.vmware.com --version 1.3.1??

您將看到證書(shū)管理器已添加到群集中:

同樣,運(yùn)營(yíng)團(tuán)隊(duì)可以開(kāi)始安裝Fluentbit或Prometheus等軟件包,以集中收集平臺(tái)的日志和指標(biāo)。

第 2 天可以做什么

你已預(yù)配群集,設(shè)置了其他包,部署了應(yīng)用程序,并且運(yùn)行良好。現(xiàn)在怎么辦?也許您遇到了容量問(wèn)題,或者已部署的包的較新版本已用完。或者,也許有一個(gè)新版本的 Kubernetes,你想將你的集群升級(jí)到它。Tanzu社區(qū)版可以幫助您完成上述所有操作。

縮放工作負(fù)載群集

您可以通過(guò)向 Tanzu CLI 提供控制器和工作器節(jié)點(diǎn)的新節(jié)點(diǎn)計(jì)數(shù)來(lái)擴(kuò)展現(xiàn)有工作負(fù)載集群:

??tanzu cluster scale --controlplane-machine-count 5 --worker-machine-count 10 --namespace tkg-system??

升級(jí)現(xiàn)有軟件包

假設(shè)我們安裝了 Cert-Manager 的 1.3.1 版,現(xiàn)在版本 1.5.1 可用。使用以下命令升級(jí)證書(shū)管理器:

??tanzu package installed update cert-manager --version 1.5.1??

升級(jí) Kubernetes 版本

隨著新的 Kubernetes 版本可供升級(jí),Tanzu 社區(qū)版將提供適當(dāng)?shù)墓?jié)點(diǎn)鏡像版本來(lái)支持和升級(jí)到。要升級(jí)工作負(fù)載集群,您需要先升級(jí) CLI 和管理集群。

通過(guò)運(yùn)行以下命令檢查給定工作負(fù)載集群的可用升級(jí):

??tanzu cluster available-upgrades get ??

最后,要將集群升級(jí)到最新版本,請(qǐng)運(yùn)行以下命令。Tanzu 社區(qū)版中的管理集群將開(kāi)始自動(dòng)在集群節(jié)點(diǎn)上執(zhí)行滾動(dòng)升級(jí),一次升級(jí)一個(gè)集群節(jié)點(diǎn)。

??tanzu cluster upgrade ??

標(biāo)簽: 工作負(fù)載 詳細(xì)信息 開(kāi)始使用

上一篇:焦點(diǎn)速訊:消除在 KubeAcademy 上使用學(xué)習(xí)路徑學(xué)習(xí) Kubernetes 時(shí)的猜測(cè)
下一篇:【世界新視野】【web 開(kāi)發(fā)基礎(chǔ)】php 開(kāi)發(fā)基礎(chǔ)快速入門(mén) (2)-PHP的程序開(kāi)發(fā)