Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Dieser Artikel hilft Ihnen bei der Bereitstellung eines auf einer privaten Verbindung basierenden AKS-Clusters. Wenn Sie einen AKS-Cluster ohne erforderliche private Verbindung oder ohne Tunnel erstellen möchten, finden Sie weitere Informationen unter Erstellen eines Azure Kubernetes Service-Clusters mit API-Server-VNet-Integration (Preview).
In einem privaten Cluster besitzt die Steuerungsebene oder der API-Server interne IP-Adressen, die im Dokument RFC1918 – -Allocation for Private Internet definiert sind. Durch die Verwendung eines privaten Clusters können Sie sicherstellen, dass der Netzwerkdatenverkehr zwischen Ihrem API-Server und den Knotenpools ausschließlich im privaten Netzwerk verbleibt.
Die Steuerungsebene oder der API-Server befindet sich in einer von AKS verwalteten Azure-Ressourcengruppe, und Ihr Cluster oder Knotenpool befindet sich in Ihrer Ressourcengruppe. Der Server und der Cluster oder Knotenpool können über den Azure Private Link-Dienst im virtuellen Netzwerk des API-Servers und über einen privaten Endpunkt, der im Subnetz des AKS-Clusters verfügbar gemacht wird, miteinander kommunizieren.
Wenn Sie einen privaten AKS-Cluster bereitstellen, erstellt AKS standardmäßig einen privaten FQDN mit einer privaten DNS-Zone und einen zusätzlichen öffentlichen FQDN mit einem entsprechenden A
-Eintrag in öffentlichem Azure-DNS. Die Agent-Knoten verwenden weiterhin den A
-Eintrag in der privaten DNS-Zone, um die private IP-Adresse des privaten Endpunkts für die Kommunikation mit dem API-Server aufzulösen.
Private Cluster sind in öffentlichen Regionen, Azure Government-Regionen und Microsoft Azure betrieben von 21ViaNet-Regionen mit AKS-Unterstützung verfügbar.
az --version
aus, um die Version zu finden, und führen Sie az upgrade
aus, um ein Upgrade für die Version durchzuführen. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.aks-preview
-Erweiterung 0.5.29 oder höher.Hinweis
Der Azure Linux-Knotenpool ist jetzt allgemein verfügbar (GA). Informationen zu den Vorteilen und Bereitstellungsschritten finden Sie in der Einführung in den Azure Linux-Containerhost für AKS.
Erstellen Sie mit dem Befehl az group create
eine Ressourcengruppe. Sie können auch eine vorhandene Ressourcengruppe für Ihren AKS-Cluster verwenden.
az group create \
--name <private-cluster-resource-group> \
--location <location>
Erstellen Sie mit dem Befehl „az aks create
“ mit dem --enable-private-cluster
-Flag einen privaten Cluster mit Standardnetzwerk.
az aks create \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--load-balancer-sku standard \
--enable-private-cluster \
--generate-ssh-keys
Verwenden Sie zum Verwalten eines Kubernetes-Clusters den Kubernetes-Befehlszeilenclient kubectl. kubectl
ist bei Verwendung von Azure Cloud Shell bereits installiert. Um kubectl
lokal zu installieren, verwenden Sie den Befehl az aks install-cli
.
Mit dem Befehl az aks get-credentials
können Sie kubectl
für die Verbindungsherstellung mit Ihrem Kubernetes-Cluster konfigurieren. Mit diesem Befehl werden die Anmeldeinformationen heruntergeladen und die Kubernetes-CLI für ihre Verwendung konfiguriert.
az aks get-credentials --resource-group <private-cluster-resource-group> --name <private-cluster-name>
Überprüfen Sie die Verbindung mit dem Cluster mithilfe des Befehls kubectl get
. Dieser Befehl gibt eine Liste der Clusterknoten zurück.
kubectl get nodes
Wenn Sie benutzerdefinierte Domänen konfigurieren möchten, die nur intern aufgelöst werden können, lesen Sie Verwenden von benutzerdefinierten Domänen.
Deaktivieren Sie einen öffentlichen FQDN beim Erstellen eines privaten AKS-Clusters mit dem Befehl az aks create
und dem Flag --disable-public-fqdn
.
az aks create \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--load-balancer-sku standard \
--enable-private-cluster \
--assign-identity <resourceID> \
--private-dns-zone <private-dns-zone-mode> \
--disable-public-fqdn \
--generate-ssh-keys
Deaktivieren Sie einen öffentlichen FQDN in einem vorhandenen AKS-Cluster mit dem Befehl „az aks update
“ mit dem --disable-public-fqdn
-Flag.
az aks update \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--disable-public-fqdn
Sie können private DNS-Zonen mit den folgenden Parametern konfigurieren:
system
: Dies ist der Standardwert. Wenn das Argument „--private-dns-zone
“ weggelassen wird, erstellt AKS eine private DNS-Zone in der Knotenressourcengruppe.none
: Der Standardwert ist öffentliches DNS. AKD erstellt keine private DNS-Zone.CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID
: Erfordert, dass Sie eine private DNS-Zone für die globale Azure-Cloud nur im folgenden Format erstellen: privatelink.<region>.azmk8s.io
oder <subzone>.privatelink.<region>.azmk8s.io
. Sie benötigen die Ressourcen-ID der privaten DNS-Zone für die zukünftige Verwendung. Sie benötigen auch eine benutzerseitig zugewiesene Identität oder einen Dienstprinzipal mit den Rollen Mitwirkender für private DNS-Zone und Netzwerkmitwirkender. Bei der Bereitstellung mithilfe der API-Server-VNet-Integration unterstützt eine private DNS-Zone das Namensformat private.<region>.azmk8s.io
oder <subzone>.private.<region>.azmk8s.io
. Sie können diese Ressource nach dem Erstellen des Cluster nicht ändern oder löschen, da dies zu Leistungsproblemen und Clusterupgradefehlern führen kann.
Microsoft.ContainerServices
in beiden Abonnements registrieren.fqdn-subdomain
nur mit CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID
verwenden, um Unterdomänenfunktionen für privatelink.<region>.azmk8s.io
bereitzustellen.<subzone>
angeben, gibt es einen Grenzwert von 32 Zeichen für den <subzone>
-Namen.Hinweis
Sie können CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID
mithilfe einer ARM-Vorlage oder der Azure CLI konfigurieren. privateDNSZone
akzeptiert die resourceID
der privaten DNZ-Zone, wie im folgenden Beispiel gezeigt:
properties.apiServerAccessProfile.privateDNSZone.
"apiServerAccessProfile": {
"enablePrivateCluster": true,
"privateDNSZone": "system|none|[resourceId(..., 'Microsoft.Network/privateDnsZones', 'privatelink.<region>.azmk8s.io']"
}
Erstellen Sie einen privaten AKS-Cluster mit einer privaten DNS-Zone mit dem Befehl „az aks create
“ und den folgenden Flags:
az aks create \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--load-balancer-sku standard \
--enable-private-cluster \
--assign-identity <resourceID> \
--private-dns-zone [system|none] \
--generate-ssh-keys
Erstellen Sie einen privaten AKS-Cluster mit einer benutzerdefinierten privaten DNS-Zone oder Subzone mit dem Befehl „az aks create
“ und den folgenden Flags:
# The custom private DNS zone name should be in the following format: "<subzone>.privatelink.<region>.azmk8s.io"
az aks create \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--load-balancer-sku standard \
--enable-private-cluster \
--assign-identity <resourceID> \
--private-dns-zone <custom private dns zone or custom private dns subzone resourceID> \
--generate-ssh-keys
Erstellen Sie einen privaten AKS-Cluster mit einer benutzerdefinierten privaten DNS-Zone und Subzone mit dem Befehl „az aks create
“ und den folgenden Flags:
# The custom private DNS zone name should be in one of the following formats: "privatelink.<region>.azmk8s.io" or "<subzone>.privatelink.<region>.azmk8s.io"
az aks create \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--load-balancer-sku standard \
--enable-private-cluster \
--assign-identity <resourceID> \
--private-dns-zone <custom private dns zone resourceID> \
--fqdn-subdomain <subdomain> \
--generate-ssh-keys
Sie können nur aus byo
oder system
in none
aktualisieren. Es wird keine andere Kombination von Updatewerten unterstützt. Stellen Sie vor dem Aktualisieren sicher, eine Verbindung mit dem privaten Cluster herzustellen.
Warnung
Wenn Sie einen privaten Cluster von byo
oder system
auf none
aktualisieren, stellen sich die Agent-Knoten auf die Verwendung eines öffentlichen FQDN um. In einem AKS-Cluster, der Azure Virtual Machine Scale Sets verwendet, wird ein Upgrade der Knotenimages durchgeführt, um Ihre Knoten mit dem öffentlichen FQDN zu aktualisieren.
Aktualisieren Sie einen privaten Cluster aus byo
oder system
in none
mithilfe des Befehls az aks update
mit den folgenden Flags:
az aks update \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--private-dns-zone none
Der Endpunkt des API-Servers weist keine öffentliche IP-Adresse auf. Zum Verwalten des API-Servers müssen Sie eine VM verwenden, die Zugriff auf das Azure Virtual Network (VNet) des AKS-Clusters hat. Es gibt mehrere Optionen zum Einrichten der Netzwerkkonnektivität mit dem privaten Cluster:
az vm create
“ mit dem --vnet-name
-Parameter verwenden.command invoke
-Funktion.Das Erstellen eines virtuellen Computers im selben VNet wie der AKS-Cluster ist die einfachste Option. ExpressRoute und VPNs (virtuelle private Netzwerke) erhöhen die Kosten und erfordern zusätzliche Netzwerkkomplexität. Beim Peering virtueller Netzwerke müssen Sie Ihre Netzwerk-CIDR-Bereiche planen, um sicherzustellen, dass es keine überlappenden Bereiche gibt.
Wenn Sie das Peering virtueller Netzwerke verwenden möchten, müssen Sie eine Verbindung zwischen dem virtuellen Netzwerk und der privaten DNS-Zone einrichten.
Weitere Informationen finden Sie unter Peering in virtuellen Netzwerken.
Hub-and-Spoke-Architekturen werden in Azure häufig für die Bereitstellung von Netzwerken verwendet. In vielen dieser Bereitstellungen sind die DNS-Einstellungen in den Spoke-VNets so konfiguriert, dass sie auf eine zentrale DNS-Weiterleitung verweisen, um eine lokale und Azure-basierte DNS-Auflösung zu ermöglichen.
Beim Bereitstellen eines AKS-Clusters in einer solchen Netzwerkumgebung gibt es einige besondere Überlegungen:
A
-Eintrag in der privaten Zone, um die IP-Adresse des privaten Endpunkts für die Kommunikation mit dem API-Server aufzulösen.Microsoft.ContainerService/managedCluster
“ und API-Version 2022-07-01
. Die Verwendung einer älteren Version mit einer ARM-Vorlage oder Bicep-Ressourcendefinition wird nicht unterstützt.Hinweis
Die bedingte Weiterleitung unterstützt keine Unterdomänen.
Hinweis
Wenn Sie Bring Your Own Route Table with kubenet (Verwenden einer eigenen Routingtabelle mit kubenet) und Bring Your Own DNS with Private Cluster (Verwenden eines eigenen DNS-Servers mit Private Cluster) verwenden, tritt bei der Clustererstellung ein Fehler auf. Nach dem Fehler bei der Clustererstellung müssen Sie dem Subnetz die RouteTable
in der Knotenressourcengruppe zuordnen, damit die Erstellung erfolgreich ist.
Ein privater Endpunkt kann so eingerichtet werden, dass ein VNet nicht überwacht werden muss, um mit dem privaten Cluster zu kommunizieren. Erstellen Sie einen neuen privaten Endpunkt im virtuellen Netzwerk, das die verarbeiteten Ressourcen enthält, und erstellen Sie dann eine Verbindung zwischen Ihrem virtuellen Netzwerk und einer neuen privaten DNS-Zone im selben Netzwerk.
Wichtig
Wenn das virtuelle Netzwerk mit benutzerdefinierten DNS-Servern konfiguriert ist, muss das private DNS für die Umgebung entsprechend eingerichtet werden. Weitere Einzelheiten finden Sie in der Dokumentation zur Namensauflösung für virtuelle Netze.
Erstellen Sie eine private Endpunktressource in Ihrem VNet:
Nachdem die Ressource erstellt wurde, notieren Sie die private IP-Adresse des privaten Endpunkts für die zukünftige Verwendung.
Nachdem Sie den privaten Endpunkt erstellt haben, erstellen Sie eine neue Privates DNS-Zone mit demselben Namen wie die Privates DNS-Zone, die vom privaten Cluster erstellt wurde. Denken Sie daran, diese DNS-Zone im VNet zu erstellen, das die verbrauchten Ressourcen enthält.
*.privatelink.<region>.azmk8s.io
“ folgt.A
-Eintrags (ohne den privaten DNS-Namen).Nachdem die private DNS-Zone erstellt wurde, erstellen Sie einen A
-Datensatz, der den privaten Endpunkt dem privaten Cluster ordnet:
A
-Eintrag in der DNS-Zone des privaten Clusters abgerufen haben.A
-Datensatz in der DNS-Zone des privaten Clusters ein.A
-Eintrag aus der DNS-Zone des privaten Clusters entspricht.A
-Eintrag zu erstellen:Wichtig
Verwenden Sie beim Erstellen des A
-Eintrags nur den Namen und nicht den vollständig qualifizierten Domänennamen (FQDN).
Sobald der A
-Eintrag erstellt ist, verknüpfen Sie die private DNS-Zone mit dem virtuellen Netzwerk, das auf den privaten Cluster zugreifen wird:
Es kann einige Minuten dauern, bis der Vorgang abgeschlossen ist. Nachdem die VNet-Verknüpfung erstellt wurde, können Sie über die Registerkarte VNet-Verknüpfungen, die Sie in Schritt 2 verwendet haben, auf sie zugreifen.
Warnung
nslookup
-Befehls überprüfen. Wenn Sie feststellen, dass die Updates nicht in der Ausgabe widergespiegelt werden, müssen Sie möglicherweise den DNS-Cache auf Ihrem Computer leeren und es erneut versuchen.Entsprechende bewährte Methoden finden Sie unter Best Practices für Netzwerkkonnektivität und Sicherheit in AKS.
Feedback zu Azure Kubernetes Service
Azure Kubernetes Service ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Erfahren Sie, wie Sie einen Azure SQL-Server mithilfe eines privaten Azure-Endpunkts über das Azure-Portal sicher verbinden und so die private und sichere Kommunikation mit Ihrem SQL-Server sicherstellen.
Zertifizierung
Microsoft Certified: Azure Network Engineer Associate - Certifications
Zeigen Sie Ihre Kenntnisse zu Entwurf, Implementierung und Wartung der Azure-Netzwerkinfrastruktur, zum Lastenausgleich für Datenverkehr, zum Netzwerkrouting u. v. m.