本節提供的概觀說明可在 Tanzu Kubernetes Grid 中的工作負載叢集上安裝和設定的套件。
在 Tanzu Kubernetes Grid 建立的工作負載叢集上安裝套件會為叢集新增一項功能。此功能通常為叢集託管的工作負載提供服務。例如,Antrea 套件為 Antrea 容器網路介面 (CNI)、Contour 套件輸入控制服務、Harbor 套件提供私人容器登錄等。某些套件支援叢集本身的作業。
在內部,套件包含組態中繼資料和映像參考,可向套件管理員告知套件包含什麼軟體及如何安裝到 Kubernetes 叢集。套件分組為套件存放庫。有些套件自動在叢集中啟用,而有些是透過 Tanzu CLI 明確安裝。如需有關如何在 Tanzu Kubernetes Grid 中實作套件和套件存放庫的詳細資訊,請參閱下面的 Carvel API 資源。
Tanzu Kubernetes Grid 包含以下類型的套件:
tanzu-standard
套件存放庫,或您新增至叢集的其他存放庫。請參閱下面的 CLI 管理的套件一節。基本叢集功能通常需要這些套件。Tanzu Kubernetes Grid 會在您建立和升級 Kubernetes 叢集時自動安裝和升級這些套件。
附註
tanzu package
CLI 外掛程式僅適用於 CLI 管理的套件。請勿使用tanzu package
CLI 外掛程式來安裝和管理自動管理的套件。其生命週期由 Tanzu Kubernetes Grid 管理。
有關如何檢視和更新自動管理的套件組態,請參閱檢視和自訂自動管理的套件組態。
Tanzu Kubernetes Grid 管理自動管理套件的生命週期。這包括自動安裝套件和更新版本。
自動管理的套件是在叢集建立期間安裝。為了確定要在工作負載叢集中安裝哪些自動管理的套件,Tanzu Kubernetes Grid 會讀取用於建立叢集的 Tanzu Kubernetes 版本和叢集特定的組態資訊。升級工作負載叢集時,在升級過程中,Tanzu Kubernetes Grid 會更新叢集中安裝的自動管理套件的版本。
下表列出 TKG 所安裝的自動管理套件,以及其安裝所在的叢集類型。
自動管理的套件會從 tanzu-core
存放庫進行安裝,並在以下命名空間中執行,具體取決於 TKG 部署類型:
vmware-system-tkg
tkg-system
套件 | 安裝於 (具有主管) | 安裝於 (具有獨立管理叢集) | 說明 |
---|---|---|---|
ako-operator |
未安裝 | 管理 (僅限使用 NSX ALB 的 vSphere) | 提供 VMware NSX Advanced Load Balancer。如果啟用了 NSX Advanced Load Balancer,則會安裝此套件。 |
antrea |
工作負載 | 管理和工作負載 | 啟用網繭網路,並對 Kubernetes 叢集強制執行網路原則。依預設會安裝,除非選取 Calico 作為 CNI 提供者。 |
calico |
工作負載 | 管理和工作負載 | 啟用網繭網路,並對 Kubernetes 叢集強制執行網路原則。如果選取 Calico 作為 CNI 提供者,則會安裝此項。在 Windows 上不支援。 |
capabilities |
工作負載 | 工作負載 | 啟用功能 API。「capability」是 Kubernetes 叢集可以執行或擁有的任何內容,例如物件和 API 表面區域。Capability 探索可用於回答諸如「這是 TKG 叢集嗎?」或「此叢集是否具有資源 X?」等問題。 |
guest-cluster-auth-service |
工作負載 | 未安裝 | 管理 vSphere Single Sign-On (SSO),讓 vSphere SSO 使用者能夠存取目標工作負載叢集 |
kapp-controller |
工作負載 | 管理和工作負載 | 管理套件。 |
load-balancer-and-ingress-service (AKO) |
未安裝 | 管理和工作負載 (僅限使用 NSX ALB 的 vSphere) | 可針對在 Tanzu Kubernetes Grid 所建立的叢集中執行的應用程式,提供 L4+L7 負載平衡;用於南北向流量。如果啟用了 NSX Advanced Load Balancer,則會安裝此套件。 |
metrics-server |
工作負載 | 管理和工作負載 | 提供度量伺服器 |
pinniped |
工作負載 | 管理和工作負載 | 提供使用者驗證。僅當設定了身分識別提供者時,才會安裝此項。可以在獨立管理叢集建立之後,安裝於其中;請參閱在現有部署中啟用和設定身分識別管理。 |
secretgen-controller |
工作負載 | 工作負載 | 啟用 carvel-secretgen-controller |
tanzu-addons-manager |
管理 | 管理 | 管理 tanzu-core 套件的生命週期。 |
tkg-pkg |
未安裝 | 管理 | 安裝 tanzu-addons-manager 、tkr-source-controller 、ClusterClass 定義,以及 TKG 獨立管理叢集所需的其他元件。 |
vsphere-cpi |
工作負載 | 管理和工作負載 (僅限 vSphere) | 提供 vSphere 雲端提供者介面 |
vsphere-pv-csi |
工作負載 | 未安裝 | 提供 vSphere 雲端儲存介面 |
CLI 管理的套件延伸 Tanzu Kubernetes Grid 建立的 Kubernetes 叢集。建立叢集後,您可以從 tanzu-standard
套件存放庫或從新增至叢集的其他套件存放庫安裝套件。
有關 CLI 管理的套件清單、發佈這些套件的套件存放庫以及如何安裝套件,請參閱使用 Tanzu CLI 來安裝和管理套件。
為了提供套件給 Kubernetes 叢集使用,Tanzu Kubernetes Grid 會在目標叢集中建立以下 API 資源:
PackageRepository
或 pkgr
表示單一套件存放庫。這會將 kapp-controller
套件管理員指向資源中定義的套件存放庫。套件存放庫包含 Package
和 PackageMetadata
資源。在目標叢集中建立 PackageRepository
後,kapp-controller
可以安裝套件存放庫包含的任何套件。此 API 資源僅用於 CLI 管理的套件。Package
或 pkg
包含給定套件的版本特定資訊,並定義如何安裝套件。在安裝套件時,kapp-controller
會使用 Package
資源。PackageMetadata
或 pkgm
包含給定套件的版本無關資訊。PackageInstall
或 pkgi
代表目標叢集中已安裝的套件。還參考用於安裝套件的 Package
資源。您可以使用 kubectl api-resources
和 kubectl get
命令列出並檢視這些資源。如需有關 Carvel API 資源的詳細資訊,請參閱 Carvel 說明文件中的封裝。