Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ AKS Automatic ✔️ AKS Standard
Ein Azure Kubernetes Service (AKS) Cluster, der mit api Server VNet Integration konfiguriert ist, projiziert den API-Serverendpunkt direkt in ein delegiertes Subnetz im VNet, in dem AKS bereitgestellt wird. Die API-Server-VNet-Integration ermöglicht die Netzwerkkommunikation zwischen dem API-Server und den Clusterknoten, ohne dass eine private Verbindung oder ein Tunnel erforderlich ist. Der API-Server steht hinter der VIP eines internen Lastenausgleichsmoduls im delegierten Subnetz zur Verfügung, für deren Verwendung die Knoten konfiguriert werden. Durch Verwendung der API-Server-VNet-Integration können Sie sicherstellen, dass der Netzwerkdatenverkehr zwischen Ihrem API-Server und den Knotenpools ausschließlich im privaten Netzwerk verbleibt.
Für die meisten Produktionsworkloads ist AKS Automatic die empfohlene Standard-AKS-Oberfläche. AKS Automatic ist standardmäßig produktionsbereit und enthält api Server-VNet-Integration als vorkonfigurierte Clustersicherheitsfunktion. In AKS Standard ist die VNet-Integration von API-Servern optional, und Sie aktivieren sie während der Clustererstellung oder durch Aktualisieren eines vorhandenen Clusters.
Weitere Informationen zu AKS Automatic finden Sie unter Was ist Azure Kubernetes Service (AKS) Automatisch?
API-Server-VNet-Integration in AKS Automatic und AKS Standard
Die VNet-Integration von API-Servern ist in beiden AKS-Clustermodi verfügbar, das Setup unterscheidet sich jedoch:
- AKS Automatic: API Server VNet Integration ist vorkonfiguriert.
- AKS Standard: API Server VNet Integration ist optional und muss explizit aktiviert werden.
Beginnen Sie für die meisten Produktionsszenarien mit AKS Automatic, um produktionsbereite Standardwerte zu verwenden und den Betriebsaufwand zu reduzieren.
API-Serverkonnektivität
Die Steuerebene oder der API-Server befindet sich in einem AKS-verwalteten Azure-Abonnement. Ihr Cluster- oder Knotenpool befindet sich in Ihrem Azure-Abonnement. Der Server und die virtuellen Computer, die die Clusterknoten bilden, können miteinander über die API-Server-VIP und die Pod-IPs kommunizieren, die in das delegierte Subnetz projiziert werden.
Die API-Server-VNet-Integration wird für öffentliche oder private Cluster unterstützt. Sie können den öffentlichen Zugriff nach der Clusterbereitstellung hinzufügen oder entfernen. Im Gegensatz zu Clustern ohne VNet-Integration kommunizieren die Agent-Knoten immer direkt ohne DNS mit der privaten IP-Adresse der ILB-IP (Internal Load Balancer) des API-Servers. Der gesamte Datenverkehr von Knoten zum API-Server bleibt im privaten Netzwerk. Es ist kein Tunnel für die Konnektivität zwischen API-Server und Knoten erforderlich. Clients, die außerhalb des Clusters liegen, die mit dem API-Server kommunizieren müssen, können dies normalerweise tun, wenn der öffentliche Netzwerkzugriff aktiviert ist. Wenn der öffentliche Netzwerkzugriff deaktiviert ist, sollten Sie dieselbe private DNS-Einrichtungsmethode wie für standardmäßige private Cluster verwenden.
Voraussetzungen
- Sie müssen Azure CLI Version 2.73.0 oder höher installiert haben. Sie können Ihre Version mit dem
az --versionBefehl überprüfen. - Wenn Sie Ihr eigenes virtuelles Netzwerk mitbringen, überprüfen Sie die Voraussetzungen für das virtuelle Netzwerk.
Einschränkungen
Die folgenden Einschränkungen gelten für die API-Server-VNet-Integration, unabhängig davon, ob sie auf AKS Automatic vorab konfiguriert oder für AKS Standard explizit aktiviert ist:
- Die VNet-Integration von API-Servern unterstützt keine Virtual Network Verschlüsselung. Cluster, die auf v3- oder früheren AKS-Knoten-SKUs bereitgestellt werden (die keine VNet-Verschlüsselung unterstützen), sind zulässig, allerdings ist der Datenverkehr nicht verschlüsselt. Cluster, die auf v4 oder höheren AKS-Knoten-SKUs bereitgestellt werden (die VNet-Verschlüsselung unterstützen), werden blockiert, da verschlüsselte VNets nicht mit der API-Server-VNet-Integration kompatibel sind. Weitere Informationen finden Sie unter AKS unterstützte VM-SKUs.
- Um Dual-Stack-Netzwerke zu verwenden, benötigt Ihr Cluster Kubernetes Version 1.26.3 oder höher, Netzwerk-Plug-In
azureund Netzwerk-Plug-In-Modusoverlay. Weitere Informationen finden Sie unter Azure CNI-Cluster mit Dual-Stack-Netzwerk.
Verfügbarkeit
- Api Server VNet Integration ist in allen öffentlichen GA-Cloudregionen mit Ausnahme von katarcentral verfügbar.
Erstellen eines Clusters mit API-Server-VNet-Integration
AKS Automatic (empfohlene Standardeinstellung für Produktionsumgebungen)
In AKS Automatic ist die VNet-Integration des API-Servers vorkonfiguriert. Es ist keine explizite --enable-apiserver-vnet-integration Kennzeichnung erforderlich.
Erstellen Sie einen automatischen AKS-Cluster mithilfe der Schnellstartanleitung:
AKS Standard: verwaltetes VNet
Sie können AKS Standardcluster mit API Server VNet-Integration im verwalteten VNet-Modus als öffentliche oder private Cluster konfigurieren.
Hinweis
API Server VNet Integration ist in qatarcentral nicht verfügbar.
Erstellen einer Ressourcengruppe
Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe.
az group create --location <location> --name <resource-group>
Bereitstellen eines öffentlichen Clusters
Stellen Sie einen öffentlichen AKS Standardcluster mit API Server VNet-Integration für verwaltetes VNet mithilfe des az aks create Befehls mit der --enable-apiserver-vnet-integration Kennzeichnung bereit.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
Bereitstellen eines privaten Clusters
Stellen Sie einen privaten AKS-Standardcluster mit API-Server-VNet-Integration für ein verwaltetes VNet mit dem az aks create-Befehl und den Flags --enable-apiserver-vnet-integration und --enable-private-cluster bereit.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
AKS Standard: eigenes VNet verwenden
Wenn Sie ein eigenes VNet verwenden, müssen Sie ein API-Server-Subnetz erstellen und an Microsoft.ContainerService/managedClusters delegieren. Diese Delegation erteilt dem AKS-Dienst Berechtigungen, um die API-Server-Pods und den internen Lastenausgleichsdienst in dieses Subnetz zu integrieren. Sie können das Subnetz nicht für andere Workloads, jedoch für mehrere AKS-Cluster im selben virtuellen Netzwerk verwenden. Die minimale unterstützte API-Server-Subnetzgröße ist /28.
Die Clusteridentität benötigt Berechtigungen sowohl für das API-Serversubnetz als auch für das Knotensubnetz. Fehlende Berechtigungen im API-Serversubnetz können einen Bereitstellungsfehler verursachen.
Warnung
Ein AKS-Cluster reserviert mindestens neun IPs im Subnetzadressraum. Ein Mangel an IP-Adressen kann die Skalierung des API-Servers verhindern und zu einem Ausfall des API-Servers führen.
Hinweis
API Server VNet Integration ist in qatarcentral nicht verfügbar.
Erstellen einer Ressourcengruppe
Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe.
az group create --location <location> --name <resource-group>
Erstellen eines virtuellen Netzwerks
Erstellen Sie ein virtuelles Netzwerk mit dem Befehl
az network vnet create.az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16Erstellen Sie mit dem Befehl
az network vnet subnet createein API-Serversubnetz.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <apiserver-subnet-name> \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28Erstellen Sie mit dem Befehl
az network vnet subnet createein Clustersubnetz.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
Erstellen einer verwalteten Identität und Erteilen von Berechtigungen im virtuellen Netzwerk
Erstellen Sie mithilfe des
az identity create-Befehls eine verwaltete Identität.az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>Weisen Sie dem API-Serversubnetz mit dem Befehl
az role assignment createdie Rolle „Netzwerkmitwirkender“ zu.az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>Weisen Sie dem Clustersubnetz mit dem Befehl
az role assignment createdie Rolle „Netzwerkmitwirkender“ zu.az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Bereitstellen eines öffentlichen Clusters
Stellen Sie einen öffentlichen AKS-Cluster mit API-Server-VNet-Integration mit dem Befehl az aks create und dem Flag --enable-apiserver-vnet-integration bereit.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--vnet-subnet-id <cluster-subnet-resource-id> \
--apiserver-subnet-id <apiserver-subnet-resource-id> \
--assign-identity <managed-identity-resource-id> \
--generate-ssh-keys
Bereitstellen eines privaten Clusters
Stellen Sie einen privaten AKS-Cluster mit API-Server-VNet-Integration mit dem Befehl az aks create sowie den Flag --enable-apiserver-vnet-integration und --enable-private-clusterbereit.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--vnet-subnet-id <cluster-subnet-resource-id> \
--apiserver-subnet-id <apiserver-subnet-resource-id> \
--assign-identity <managed-identity-resource-id> \
--generate-ssh-keys
Konvertieren eines vorhandenen AKS Standard-Clusters zur API-Server-VNet-Integration
Warnung
Die VNet-Integration von API-Servern ist ein unidirektionales Feature, das kapazitätsempfindlich ist. Wenn Sie die VNet-Integration von API-Servern in einem vorhandenen AKS-Standardcluster aktivieren, gelten die folgenden Einschränkungen:
-
Manueller Neustart erforderlich: Nachdem Sie die API-Server-VNet-Integration mit
az aks update --enable-apiserver-vnet-integrationaktiviert haben, müssen Sie den Cluster aufgrund des Übergangs der Control-Plane-Ressourcen unmittelbar neu starten, damit die Änderung wirksam wird. Dieser Neustart ist nicht automatisiert. Die Verzögerung des Neustarts erhöht das Risiko, dass die Kapazität nicht mehr verfügbar ist, wodurch verhindert werden kann, dass der API-Server gestartet wird. Der Clusterneustart stellt außerdem sicher, dass alle Knoten zuverlässig eine erneute Verbindung mit dem neuen API-Serverendpunkt herstellen. - Die Kapazität wird überprüft, aber nicht reserviert: AKS überprüft regionale Kapazität, wenn Sie das Feature für einen vorhandenen Cluster aktivieren, aber diese Überprüfung reserviert keine Kapazität. Wenn Sie den Neustart verzögern und die Kapazität in der Zwischenzeit nicht mehr verfügbar ist, kann der Cluster nach einem Stopp oder Neustart fehlschlagen. Cluster, die dieses Feature vor der allgemeinen Verfügbarkeit (GA) aktiviert haben oder die seit der Aktivierung noch nicht neu gestartet wurden, durchlaufen keine Kapazitätsüberprüfung.
- Das Feature kann nicht deaktiviert werden: Nach der Aktivierung ist das Feature dauerhaft. Sie können die VNet-Integration von API-Servern nicht deaktivieren.
Dieses Upgrade führt ein Upgrade der Knotenimageversion in allen Knotenpools aus und startet alle Workloads neu, während ein paralleles Imageupgrade durchgeführt wird.
Warnung
Das Konvertieren eines Clusters in einen mit API-Server-VNet-Integration führt zu einer Änderung der IP-Adresse des API-Servers, obwohl der Hostname unverändert bleibt. Wenn Sie die IP-Adresse des API-Servers in firewalls oder Netzwerksicherheitsgruppenregeln konfigurieren, müssen Sie diese Regeln möglicherweise aktualisieren.
Aktualisieren Sie Ihren Cluster mit dem Befehl
az aks updateund dem Flag--enable-apiserver-vnet-integrationzu einem Cluster mit API-Server-VNET-Integration.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>Starten Sie ihren Cluster mit den Befehlen [
az aks stop][az-aks-stop] und [az aks start][az-aks-start] neu.az aks stop --name <cluster-name> --resource-group <resource-group> az aks start --name <cluster-name> --resource-group <resource-group>
Aktivieren oder Deaktivieren des privaten Clustermodus auf einem vorhandenen Cluster mit API-Server-VNet-Integration
Für mit API-Server-VNet-Integration konfigurierte AKS-Cluster kann der öffentliche Netzwerkzugriff/private Clustermodus aktiviert oder deaktiviert werden, ohne den Cluster erneut bereitzustellen. Der Hostname des API-Servers ändert sich nicht, öffentliche DNS-Einträge werden aber bei Bedarf geändert oder entfernt.
Hinweis
--disable-private-cluster befindet sich derzeit in der Vorschauphase. Weitere Informationen finden Sie unter Referenz und Supportebenen.
Aktivieren des privaten Clustermodus
Aktivieren Sie den privaten Clustermodus mit dem Befehl az aks update mit dem Flag --enable-private-cluster.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--apiserver-subnet-id <apiserver-subnet-resource-id>
Deaktivieren des privaten Clustermodus
Deaktivieren Sie den privaten Clustermodus mit dem Befehl az aks update und dem Flag --disable-private-cluster.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--disable-private-cluster
Herstellen einer Verbindung mit dem Cluster mithilfe von „kubectl“
Konfigurieren Sie kubectl, um mithilfe des Befehls „az aks get-credentials“ eine Verbindung mit Ihrem Cluster herzustellen.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Verfügbarmachen des API-Servers über Private Link
Sie können den API-Serverendpunkt eines privaten Clusters mit API-Server-VNet-Integration mit Azure Private Link verfügbar machen. Die folgenden Schritte zeigen, wie Sie einen Private Link-Dienst (PLS) im Cluster-VNet erstellen und eine Verbindung mit diesem über ein anderes VNet oder Abonnement mithilfe eines privaten Endpunkts herstellen.
Hinweis
API Server VNet Integration ist in qatarcentral nicht verfügbar.
Erstellen eines privaten API-Server-VNet-Integrationsclusters
Erstellen Sie einen privaten AKS-Cluster mit API-Server-VNet-Integration mithilfe des az aks create-Befehls und den Flags --enable-apiserver-vnet-integration und --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--enable-private-cluster \
--enable-apiserver-vnet-integration
Weitere Anleitungen zum Einrichten von Private Link mit der VNet-Integration von API-Servern finden Sie unter Private Link with API Server VNet Integration.
Sicherheitsregeln für Netzwerksicherheitsgruppe (NSG)
Der gesamte Datenverkehr innerhalb des VNet ist standardmäßig zulässig. Wenn Sie jedoch NSG-Regeln zum Einschränken des Datenverkehrs zwischen verschiedenen Subnetzen hinzugefügt haben, stellen Sie sicher, dass die NSG-Sicherheitsregeln die folgenden Kommunikationsarten zulassen:
| Bestimmungsort | `Source` | Protokoll | Hafen | Zweck |
|---|---|---|---|---|
| APIServer-Subnetz-CIDR | Clustersubnetz | TCP | 443 und 4443 | Erforderlich, um die Kommunikation zwischen Knoten und dem API-Server zu aktivieren. |
| APIServer-Subnetz-CIDR | Azure Load Balancer | TCP | 9988 | Erforderlich, um die Kommunikation zwischen Azure Load Balancer und dem API-Server zu aktivieren. Sie können auch die gesamte Kommunikation zwischen dem Azure Load Balancer und dem API Server Subnet CIDR aktivieren. |
Verwandte Inhalte
- Erstellen eines automatischen AKS-Clusters
- Entsprechende bewährte Methoden finden Sie unter Best Practices für Netzwerkkonnektivität und Sicherheit in AKS.
- Anleitungen zum Einrichten von Private Link mit API-Server-VNet-Integration finden Sie in Private Link mit API Server VNet Integration.