Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ AKS Automatic ✔️ AKS Standard
Een Azure Kubernetes Service (AKS)-cluster dat is geconfigureerd met API Server VNet-integratie projecten het API-servereindpunt rechtstreeks in een gedelegeerd subnet in het VNet waar AKS wordt geïmplementeerd. VNet-integratie van API Server maakt netwerkcommunicatie mogelijk tussen de API-server en de clusterknooppunten zonder een privékoppeling of tunnel. De API-server is beschikbaar achter een interne load balancer VIP in het gedelegeerde subnet, dat de knooppunten zijn geconfigureerd voor gebruik. Door VNet-integratie van API Server te gebruiken, kunt u ervoor zorgen dat netwerkverkeer tussen uw API-server en uw knooppuntgroepen alleen in het privénetwerk blijft.
Voor de meeste productieworkloads is AKS Automatic de aanbevolen standaard-AKS-ervaring. AKS Automatic is standaard gereed voor productie en bevat API Server VNet-integratie als een vooraf geconfigureerde clusterbeveiligingsmogelijkheid. In AKS Standard is VNet-integratie van API Server optioneel en schakelt u deze in tijdens het maken van het cluster of door een bestaand cluster bij te werken.
Zie Wat is Azure Kubernetes Service (AKS) Automatisch voor meer informatie over AKS Automatic?
VNet-integratie van API Server in AKS Automatisch en AKS Standard
VNet-integratie van API Server is beschikbaar in beide AKS-clustermodi, maar de installatie verschilt:
- AKS Automatisch: VNet-integratie van API Server is vooraf geconfigureerd.
- AKS Standard: VNet-integratie van API Server is optioneel en moet expliciet worden ingeschakeld.
Voor de meeste productiescenario's begint u met AKS Automatisch om standaardinstellingen voor productie te gebruiken en operationele overhead te verminderen.
API-serverconnectiviteit
Het besturingsvlak of de API-server bevindt zich in een door AKS beheerd Azure-abonnement. Uw cluster- of knooppuntgroep bevindt zich in uw Azure-abonnement. De server en de virtuele machines waaruit de clusterknooppunten bestaan, kunnen met elkaar communiceren via de VIP- en pod-IP-adressen van de API-server die in het gedelegeerde subnet worden geprojecteerd.
VNet-integratie van API Server wordt ondersteund voor openbare of privéclusters. U kunt openbare toegang toevoegen of verwijderen na de provisioning van het cluster. In tegenstelling tot niet-VNet-geïntegreerde clusters communiceren de agentknooppunten altijd rechtstreeks met het privé-IP-adres van de interne load balancer (ILB) van de API-server zonder gebruik te maken van DNS. Al het verkeer van knooppunten naar API-server wordt bewaard op privénetwerken en er is geen tunnel vereist voor api-server-naar-knooppuntconnectiviteit. Out-of-cluster-clients die moeten communiceren met de API-server kunnen dit normaal doen als openbare netwerktoegang is ingeschakeld. Als openbare netwerktoegang is uitgeschakeld, moet u dezelfde privé-DNS-instellingsmethode volgen als standaard privéclusters.
Vereiste voorwaarden
- U moet Azure CLI versie 2.73.0 of hoger hebben geïnstalleerd. U kunt uw versie controleren met behulp van de
az --versionopdracht. - Als u uw eigen virtuele netwerk gebruikt, controleert u de vereisten voor het virtuele netwerk.
Beperkingen
De volgende beperkingen gelden voor VNet-integratie van API Server, ongeacht of deze vooraf is geconfigureerd op AKS Automatisch of expliciet is ingeschakeld op AKS Standard:
- VNet-integratie van API Server biedt geen ondersteuning voor Virtual Network-versleuteling. Clusters die zijn geïmplementeerd op v3- of eerdere AKS-knooppunt-SKU's (die VNet-versleuteling niet ondersteunen), zijn toegestaan, maar verkeer wordt niet versleuteld. Clusters die zijn geïmplementeerd op v4- of hoger AKS-knooppunt-SKU's (die VNet-versleuteling ondersteunen) worden geblokkeerd omdat versleutelde VNet's niet compatibel zijn met VNet-integratie van API Server. Zie AKS-ondersteunde VM-SKU's voor meer informatie.
- Als u dual-stack-netwerken wilt gebruiken, heeft uw cluster Kubernetes versie 1.26.3 of hoger nodig, de netwerkinvoegtoepassing
azureen de netwerkinvoegtoepassingsmodusoverlay. Zie Azure CNI-cluster met dual-stack-netwerken voor meer informatie.
Availability
- API Server VNet-integratie is beschikbaar in alle openbare GA-cloudregio's, met uitzondering van qatarcentral.
Een cluster maken met API Server VNet-integratie
AKS Automatisch (aanbevolen standaard voor productie)
In AKS Automatic is VNet-integratie van API Server vooraf geconfigureerd. Er is geen expliciete --enable-apiserver-vnet-integration vlag vereist.
Maak een automatisch AKS-cluster door de quickstart te volgen:
AKS Standard: beheerd VNet
U kunt AKS Standard-clusters configureren met API Server VNet-integratie in de beheerde VNet-modus als openbare of privéclusters.
Opmerking
VNet-integratie van API Server is niet beschikbaar in qatarcentral.
Een brongroep maken
Maak een resourcegroep met behulp van de az group create opdracht.
az group create --location <location> --name <resource-group>
Een openbaar cluster implementeren
Implementeer een openbaar AKS Standard-cluster met API Server VNet-integratie voor beheerd VNet met behulp van de az aks create opdracht met de --enable-apiserver-vnet-integration vlag.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
Een privécluster implementeren
Implementeer een privé-AKS Standard-cluster met API Server VNet-integratie voor beheerd VNet met behulp van de az aks create opdracht met de --enable-apiserver-vnet-integration en --enable-private-cluster vlaggen.
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: gebruik van uw eigen VNet
Wanneer u een eigen VNet gebruikt, moet u een subnet voor de API-server maken en delegeren aan Microsoft.ContainerService/managedClusters. Deze delegatie verleent de AKS-service toestemming om de API-serverpods en de interne load balancer in dat subnet te plaatsen. U kunt het subnet niet gebruiken voor andere workloads, maar u kunt het gebruiken voor meerdere AKS-clusters die zich in hetzelfde virtuele netwerk bevinden. De minimaal ondersteunde subnetgrootte van de API-server is /28.
De clusteridentiteit heeft machtigingen nodig voor zowel het subnet van de API-server als het knooppuntsubnet. Gebrek aan machtigingen in het subnet van de API-server kan leiden tot een inrichtingsfout.
Waarschuwing
Een AKS-cluster reserveert ten minste negen IP-adressen in de adresruimte van het subnet. Als er onvoldoende IP-adressen zijn, kan het schalen van API-servers worden voorkomen en wordt er een storing in de API-server veroorzaakt.
Opmerking
VNet-integratie van API Server is niet beschikbaar in qatarcentral.
Een brongroep maken
Maak een resourcegroep met behulp van de az group create opdracht.
az group create --location <location> --name <resource-group>
Een virtueel netwerk maken
Maak een virtueel netwerk met behulp van de
az network vnet createopdracht.az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16Maak een subnet van de API-server met behulp van het
az network vnet subnet createcommando.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/28Maak een clustersubnet met behulp van de
az network vnet subnet createopdracht.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
Een beheerde identiteit maken en deze machtigingen geven voor het virtuele netwerk
Maak een beheerde identiteit met behulp van de
az identity createopdracht.az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>Wijs de rol Inzender voor het netwerk toe aan het subnet van de API-server met behulp van de
az role assignment createopdracht.az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>Wijs de rol Inzender voor het netwerk toe aan het clustersubnet met behulp van de
az role assignment createopdracht.az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Een openbaar cluster implementeren
Implementeer een openbaar AKS-cluster met API Server VNet-integratie met behulp van de az aks create opdracht met de --enable-apiserver-vnet-integration vlag.
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
Een privécluster implementeren
Implementeer een privé-AKS-cluster met API Server VNet-integratie met behulp van de az aks create opdracht met de --enable-apiserver-vnet-integration en --enable-private-cluster vlaggen.
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
Een bestaand AKS Standard-cluster converteren naar VNet-integratie van API Server
Waarschuwing
VNet-integratie van API Server is een eenzijdige, capaciteitsgevoelige functie. Wanneer u VNet-integratie van API Server inschakelt op een bestaand AKS Standard-cluster, gelden de volgende beperkingen:
-
Handmatig opnieuw opstarten vereist: nadat U VNet-integratie van API Server hebt ingeschakeld met behulp van
az aks update --enable-apiserver-vnet-integration, vanwege de overgang van de besturingsvlakresource, moet u het cluster onmiddellijk opnieuw opstarten om de wijziging van kracht te laten worden. Deze herstart is niet geautomatiseerd. Het uitstellen van het opnieuw opstarten vergroot het risico dat de capaciteit niet beschikbaar is, wat kan voorkomen dat de API-server wordt gestart. Het opnieuw opstarten van het cluster zorgt er ook voor dat alle knooppunten betrouwbaar opnieuw verbinding maken met het nieuwe API-servereindpunt. - Capaciteit wordt gevalideerd, maar niet gereserveerd: AKS valideert regionale capaciteit wanneer u de functie inschakelt op een bestaand cluster, maar met deze validatie wordt geen capaciteit gereserveerd. Als u de herstart uitstelt en de capaciteit ondertussen niet meer beschikbaar wordt, kan het gebeuren dat het cluster na een stop of herstart niet kan worden gestart. Clusters die deze functie vóór algemene beschikbaarheid (GA) hebben ingeschakeld of die nog niet zijn opgestart sinds het inschakelen, ondergaan geen capaciteitsvalidatie.
- De functie kan niet worden uitgeschakeld: nadat deze is ingeschakeld, is de functie permanent. U kunt VNet-integratie van API Server niet uitschakelen.
Met deze upgrade wordt een versie-upgrade van de knooppuntafbeeldingen uitgevoerd voor alle knooppoolen, en worden alle workloads opnieuw gestart terwijl ze een rolling afbeeldingsupgrade ondergaan.
Waarschuwing
Het converteren van een cluster naar API Server VNet-integratie resulteert in een wijziging van het IP-adres van de API-server, hoewel de hostnaam hetzelfde blijft. Als u het IP-adres van de API-server configureert in firewalls of regels voor netwerkbeveiligingsgroepen, moet u deze regels mogelijk bijwerken.
Werk uw cluster bij naar API Server VNet-integratie met behulp van de
az aks updateopdracht met de--enable-apiserver-vnet-integrationvlag.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>Start het cluster opnieuw met behulp van de opdrachten [
az aks stop][az-aks-stop] en [az aks start][az-aks-start].az aks stop --name <cluster-name> --resource-group <resource-group> az aks start --name <cluster-name> --resource-group <resource-group>
Privéclustermodus in- of uitschakelen op een bestaand cluster met API Server VNet-integratie
AKS-clusters die zijn geconfigureerd met API Server VNet-integratie, kunnen de modus openbaar netwerktoegang/privécluster hebben ingeschakeld of uitgeschakeld zonder het cluster opnieuw te implementeren. De hostnaam van de API-server wordt niet gewijzigd, maar openbare DNS-vermeldingen worden zo nodig gewijzigd of verwijderd.
Opmerking
--disable-private-cluster is momenteel beschikbaar als preview-versie. Zie Referentie- en ondersteuningsniveaus voor meer informatie.
Privéclustermodus inschakelen
Schakel de privéclustermodus in met behulp van de az aks update opdracht met de --enable-private-cluster vlag.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--apiserver-subnet-id <apiserver-subnet-resource-id>
Modus privécluster uitschakelen
Schakel de privéclustermodus uit met behulp van de az aks update opdracht met de --disable-private-cluster vlag.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--disable-private-cluster
Verbinding maken met cluster met behulp van kubectl
Configureer kubectl om verbinding te maken met uw cluster met behulp van het az aks get-credentials commando.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
De API-server beschikbaar maken via Private Link
U kunt het API-servereindpunt van een privécluster beschikbaar maken met API Server VNet-integratie met behulp van Azure Private Link. De volgende stappen laten zien hoe u een Private Link Service (PLS) maakt in het cluster-VNet en er verbinding mee maakt vanuit een ander VNet of abonnement met behulp van een privé-eindpunt.
Opmerking
VNet-integratie van API Server is niet beschikbaar in qatarcentral.
Een privécluster voor API Server-VNet-integratie maken
Maak een privé-AKS-cluster met API Server VNet-integratie met behulp van de az aks create opdracht met de --enable-apiserver-vnet-integration en --enable-private-cluster vlaggen.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--enable-private-cluster \
--enable-apiserver-vnet-integration
Zie Private Link met API Server VNet-integratie voor meer informatie over het instellen van Private Link met API Server VNet-integratie.
Netwerkbeveiligingsgroep (NSG)-beveiligingsregels
Al het verkeer binnen het VNet is standaard toegestaan. Maar als u NSG-regels hebt toegevoegd om verkeer tussen verschillende subnetten te beperken, moet u ervoor zorgen dat de NSG-beveiligingsregels de volgende typen communicatie toestaan:
| Bestemming | Bron | protocol | Porto | Gebruik |
|---|---|---|---|---|
| APIServer Subnetwerk CIDR | Clustersubnet | TCP | 443 en 4443 | Vereist om communicatie tussen knooppunten en de API-server mogelijk te maken. |
| APIServer Subnetwerk CIDR | Azure Load Balancer | TCP | 9988 | Vereist om communicatie mogelijk te maken tussen Azure Load Balancer en de API-server. U kunt ook alle communicatie tussen de Azure Load Balancer en de CIDR van het API Server-subnet inschakelen. |
Verwante inhoud
- Een automatisch AKS-cluster maken
- Zie Best practices voor netwerkconnectiviteit en -beveiliging in AKS voor de bijbehorende aanbevolen procedures.
- Zie Private Link met VNet-integratie van API Server voor hulp bij het instellen van private link met API Server VNet-integratie.