In diesem Thema wird erläutert, wie Sie Microsoft Azure für die Ausführung von Tanzu Kubernetes Grid vorbereiten.
Wenn Sie Tanzu Kubernetes Grid in Azure VMware Solution (AVS) installieren, führen Sie die Installation in einer vSphere-Umgebung durch. Unter Vorbereitung von Azure VMware Solution in Microsoft Azure in Vorbereiten der Bereitstellung von Verwaltungsclustern in einer VMware Cloud-Umgebung finden Sie Informationen zur Vorbereitung Ihrer Umgebung, und unter Vorbereitung der Bereitstellung von Verwaltungsclustern für vSphere zur Bereitstellung von Verwaltungsclustern.
Am Ende dieser Seite finden Sie eine Checkliste für die Vorbereitung, um sicherzustellen, dass Sie auf die Bereitstellung eines Tanzu Kubernetes Grid-Verwaltungsclusters für Azure vorbereitet sind.
Ein Microsoft Azure-Konto mit den folgenden Optionen:
Owner
erforderlich sind. prod
- oder dev
-Plan verwenden. Weitere Informationen zu den Plänen finden Sie unter Arbeitslastclusterpläne.dev
-Plan: 4 vCPU (1 Haupt, 1 Worker)prod
-Plan: 8 vCPU (3 Haupt, 1 Worker)dev
-Plan: 4 vCPU (1 Haupt, 1 Worker)prod
-Plan: 12 vCPU (3 Haupt, 3 Worker)Angenommen, es gibt einen einzigen Verwaltungscluster, und für alle Cluster gilt derselbe Plan:
Plan | Arbeitslastcluster | vCPU für Arbeitslast | vCPU für Verwaltung | vCPU insgesamt |
---|---|---|---|---|
Dev | 1 | 4 | 4 | 8 |
5 | 20 | 24 | ||
Prod | 1 | 12 | 8 | 20 |
5 | 60 | 68 |
Ausreichende Kontingente öffentlicher IP-Adressen für Ihre Cluster, einschließlich des Kontingents für Öffentliche IP-Adressen – Standard (Public IP Addresses - Standard), Öffentliche IP-Adressen – Basis (Public IP Addresses - Basic) und Statische öffentliche IP-Adressen (Static Public IP Addresses). Ein Azure-Standardkonto verfügt über ein Kontingent von 10 öffentlichen IP-Adressen pro Region. Jeder Tanzu Kubernetes Grid-Cluster benötigt 2 öffentliche IP-Adressen, unabhängig davon, wie viele Steuerungsebenenknoten und Worker-Knoten er hat. Für jedes Kubernetes-Dienstobjekt vom Typ LoadBalancer
ist 1 öffentliche IP-Adresse erforderlich.
~/.config/tanzu/tkg/bom/
, und ihr Name enthält die Tanzu Kubernetes Grid-Version. Beispiel: tkg-bom-v2.2.0+vmware.1 .yaml
.imageRepository
-Werte aus, um deren CNAMEs zu finden.(Optional) Ein virtuelles Netzwerk (VNet) mit:
CLUSTER_API_SERVER_PORT
fest.Wenn Sie kein vorhandenes VNet verwenden, wird beim Installationsvorgang ein neues erstellt.
Die lokal installierte Azure-CLI. Weitere Informationen finden Sie unter Installieren der Azure CLI in der Microsoft Azure-Dokumentation.
Wenn Sie Dienste des Typs LoadBalancer
auf klassenbasierten Arbeitslastclustern bereitstellen, konfigurieren Sie ein NAT-Gateway oder ein anderes Frontend, wie in LoadBalancer
-Dienste für klassenbasierte Arbeitslastcluster in Azure benötigen eine manuelle Gateway- oder Frontendkonfiguration beschrieben.
Informationen zur Installation ohne Zugriff auf externe Netzwerke finden Sie unter Vorbereitung einer Umgebung mit Internetbeschränkung.
In der folgenden Tabelle werden Beispiele für die Dimensionierung von Verwaltungsclustern in Azure beschrieben. Verwenden Sie diese Daten als Richtlinie, um sicherzustellen, dass Ihr Verwaltungscluster für die Anzahl der Arbeitslastcluster skaliert ist, die Sie bereitstellen möchten. In der Spalte Größe der Arbeitslastcluster-VMwerden die VM-Größen aufgelistet, die für die Beispiele in der Spalte Kann verwalten… verwendet wurden.
Verwaltungscluster Plan | Größe der Verwaltungscluster-VM | Kann verwalten … | Größe der Arbeitslastcluster-VM |
---|---|---|---|
3 Knoten der Steuerungsebene und 3 Worker-Knoten |
|
Beispiele:
|
|
3 Knoten der Steuerungsebene und 3 Worker-Knoten |
|
Beispiel: Ein Arbeitslastcluster, der mit 3 Steuerungsebenen- und 250 Worker-Knoten bereitgestellt wird |
|
3 Knoten der Steuerungsebene und 3 Worker-Knoten |
|
Beispiel: 199 Arbeitslastcluster, die jeweils mit 3 Steuerungsebenen- und 3 Worker-Knoten bereitgestellt werden |
|
Tanzu Kubernetes Grid-Verwaltungs- und Arbeitslastcluster in Azure benötigen zwei Netzwerksicherheitsgruppen (NSGs), die in ihrem VNet und in ihrer VNet-Ressourcengruppe definiert werden:
CLUSTER-NAME-controlplane-nsg
, die dem Subnetz der Steuerungsebene des Clusters zugeordnet istEine NSG mit dem Namen CLUSTER-NAME-node-nsg
, die dem Subnetz des Worker-Knotens des Clusters zugeordnet ist
Dabei gilt: CLUSTER-NAME
ist der Name des Clusters.
VorsichtDie Vergabe von Namen für NSGs, die nicht dem obigen Format entsprechen, kann die Bereitstellung verhindern.
Wenn Sie ein vorhandenes VNet für den Verwaltungscluster angeben, müssen Sie diese NSGs erstellen, wie oben unter Allgemeine Anforderungen beschrieben. Ein bestehendes VNet für einen Verwaltungscluster wird mit Vorhandenes VNet auswählen (Select an existing VNet) in der Installationsprogramm-Schnittstelle oder mit AZURE_VNET_NAME
in der Konfigurationsdatei angegeben.
Wenn Sie kein vorhandenes VNet für den Cluster angeben, erstellt der Bereitstellungsprozess ein neues VNet und die erforderlichen NSGs.
Informationen zum Konfigurieren des VNet, der Ressourcengruppen und der Subnetze des Clusters finden Sie in der Microsoft Azure-Tabelle in der Variablenreferenz für Konfigurationsdatei.
Tanzu Kubernetes Grid verwaltet Azure-Ressourcen als registrierte Clientanwendung, die über einen Dienstprinzipal auf Azure zugreift. Um den Dienstprinzipal zu erstellen und seinen Zugriff auf Azure-Ressourcen zu konfigurieren, können Sie den Befehl az ad sp create-for-rbac
verwenden.
Melden Sie sich bei der Azure-CLI an, indem Sie az login
ausführen.
Erstellen Sie einen Dienstprinzipal und weisen Sie ihm die Rolle Owner
zu:
az ad sp create-for-rbac --role "Owner" --name "APP-NAME" --scopes /subscriptions/SUBSCRIPTION-ID/resourceGroups/RESOURCE-GROUP
az role assignment create --assignee APP-ID --role "Owner"
Dabei gilt:
APP-NAME
ist ein beliebiger Name für Ihren DienstprinzipalSUBSCRIPTION-ID
und RESOURCE-GROUP
sind Ihre Azure-Abonnement-ID und VNet-RessourcengruppeAPP-ID
ist der appId
-Wert, der von az ad sp create-for-rbac
zurückgegeben wirdSo können Sie beispielsweise die Rolle Owner
erstellen und einem Dienstprinzipal namens tkg
zuweisen:
$ az ad sp create-for-rbac --role "Owner" --name "tkg" --scopes /subscriptions/c789uce3-aaaa-bbbb-cccc-a51b6b0gb405/resourceGroups/myrg
Creating 'Owner' role assignment under scope '/subscriptions/c789uce3-aaaa-bbbb-cccc-a51b6b0gb405'
The output includes credentials that you must protect. Be sure that you do not include these credentials in your code or check the credentials into your source control. For more information, see https://aka.ms/azadsp-cli
'name' property in the output is deprecated and will be removed in the future. Use 'appId' instead.
{
"appId": "c407cfd4-aaaa-bbbb-cccc-80af703eb0ed",
"displayName": "tkg",
"name": "c407cfd4-aaaa-bbbb-cccc-80af703eb0ed",
"password": "R6yM_.aaaabbbbccccdddd111122223333",
"tenant": "9c117323-aaaa-bbbb-cccc-9ee430723ba3"
}
$ az role assignment create --assignee c407cfd4-aaaa-bbbb-cccc-80af703eb0ed --role "Owner"
Notieren Sie sich die Ausgabe. Sie verwenden diese Informationen in den folgenden Schritten unter Akzeptieren der Basisimage-Lizenz und später, wenn Sie einen Verwaltungscluster bereitstellen. Eine vollständige Liste der Optionen, die von az ad sp create-for-rbac
unterstützt werden, finden Sie unter az ad sp create-for-rbac in der Azure-Dokumentation.
Um Verwaltungscluster-VMs in Azure auszuführen, akzeptieren Sie die Lizenz für ihre Kubernetes-Basisversion und das Maschinenbetriebssystem.
Führen Sie den Befehl az vm image terms accept
aus und geben Sie den --plan
und Ihre Abonnement-ID an.
In Tanzu Kubernetes Grid v2.2 lautet der Standardwert --plan
für das Cluster-Image auf k8s-1dot25dot7-ubuntu-2004
, basierend auf der Kubernetes-Version 1.25.7 und dem Maschinenbetriebssystem Ubuntu 20.04. Führen Sie den folgenden Befehl aus:
az vm image terms accept --publisher vmware-inc --offer tkg-capi-2022-06-24 --plan k8s-1dot25dot7-ubuntu-2004 --subscription AZURE_SUBSCRIPTION_ID
Dabei ist AZURE_SUBSCRIPTION_ID
Ihre Azure-Abonnement-ID.
Sie müssen dies wiederholen, um die Lizenz für das Basisimage für jede Version von Kubernetes oder des Betriebssystems zu akzeptieren, die Sie bei der Bereitstellung von Clustern verwenden möchten, und jedes Mal, wenn Sie ein Upgrade auf eine neue Version von Tanzu Kubernetes Grid durchführen.
Sie stellen Verwaltungscluster von einer als Bootstrap-Maschine bezeichneten Maschine mithilfe der Tanzu CLI bereit. Um eine Verbindung mit Azure herzustellen, muss die Bootstrap-Maschine den öffentlichen Schlüssel eines SSH-Schlüsselpaars bereitstellen. Wenn Ihre Bootstrap-Maschine nicht bereits über ein SSH-Schlüsselpaar verfügt, können Sie ein Tool wie ssh-keygen
verwenden, um eines zu generieren.
Führen Sie auf Ihrer Bootstrap-Maschine den folgenden Befehl ssh-keygen
aus.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
An der Eingabeaufforderung: Enter file in which to save the key (/root/.ssh/id_rsa):
Drücken Sie die Eingabetaste, um die Vorgabe zu akzeptieren.
Fügen Sie den privaten Schlüssel zum SSH-Agenten hinzu, der auf Ihrem Computer ausgeführt wird, und geben Sie das im vorherigen Schritt erstellte Kennwort ein.
ssh-add ~/.ssh/id_rsa
Öffnen Sie die Datei .ssh/id_rsa.pub
in einem Texteditor, sodass Sie sie bei der Bereitstellung eines Verwaltungsclusters problemlos kopieren und einfügen können.
Verwenden Sie diese Checkliste, um sicherzustellen, dass Sie auf die Bereitstellung eines Tanzu Kubernetes Grid-Verwaltungsclusters in Azure vorbereitet sind:
Tanzu CLI installiert
tanzu version
aus. In der Ausgabe sollte version: v0.29.0
aufgeführt werden. Dies ist die Tanzu Framework-Version in Tanzu Kubernetes Grid v2.2.Azure-Konto
https://portal.azure.com
an.Azure CLI installiert
az version
aus. In der Ausgabe sollte die aktuelle Version der Azure CLI aufgelistet werden, wie unter Installieren der Azure CLI in der Microsoft Azure-Dokumentation erläutert.Registrierte tkg
-App
tkg
-App wie unter Registrieren von Tanzu Kubernetes Grid als Azure-Client-App konfiguriert und mit einem aktuellen geheimen Schlüssel aufgelistet ist.az ad sp show --id.
Basis-VM-Image-Lizenz akzeptiert
az vm image terms show --publisher vmware-inc --offer tkg-capi-2022-06-24 --plan k8s-1dot25dot7-ubuntu-2004
aus. Die Ausgabe sollte "accepted": true
enthalten.Für Produktionsbereitstellungen wird dringend empfohlen, die Identitätsverwaltung für Ihre Cluster zu aktivieren: * Informationen zu den vorbereitenden Schritten, die vor der Bereitstellung eines Verwaltungsclusters durchgeführt werden müssen, finden Sie unter Abrufen der Details Ihres Identitätsanbieters im Abschnitt Konfigurieren der Identitätsverwaltung. * Konzeptionelle Informationen zur Identitätsverwaltung und Zugriffssteuerung in Tanzu Kubernetes Grid finden Sie unter Informationen zur Identitäts- und Zugriffsverwaltung.
Wenn Sie Tanzu Kubernetes Grid in einer Umgebung mit einer externen Internetverbindung verwenden, können Sie nach der Einrichtung der Identitätsverwaltung Verwaltungscluster in Azure bereitstellen.