Toegang tot een privé-Azure Kubernetes Service-cluster (AKS)
Wanneer u toegang hebt tot een privé-AKS-cluster, moet u verbinding maken met het cluster vanuit het virtuele clusternetwerk, een peernetwerk of een geconfigureerd privé-eindpunt. Deze benaderingen vereisen het configureren van een VPN, Express Route, het implementeren van een jumpbox in het virtuele clusternetwerk of het maken van een privé-eindpunt in een ander virtueel netwerk.
Met de Azure CLI kunt u gebruiken command invoke
om toegang te krijgen tot privéclusters zonder dat u een VPN of Express Route hoeft te configureren. command invoke
hiermee kunt u op afstand opdrachten, zoals kubectl
en helm
, op uw privécluster aanroepen via de Azure-API zonder rechtstreeks verbinding te maken met het cluster. De Microsoft.ContainerService/managedClusters/runcommand/action
acties en Microsoft.ContainerService/managedclusters/commandResults/read
bepalen de machtigingen voor het gebruik van command invoke
.
Met de Azure Portal kunt u de Run command
functie gebruiken om opdrachten uit te voeren op uw privécluster. De Run command
functie maakt gebruik van dezelfde command invoke
functionaliteit om opdrachten uit te voeren op uw cluster.
Voordat u begint
Voordat u begint, moet u ervoor zorgen dat u over de volgende resources en machtigingen beschikt:
- Een bestaand privécluster. Zie Een privé-AKS-cluster maken als u er nog geen hebt.
- De Azure CLI versie 2.24.0 of hoger. Voer
az --version
uit om de versie te bekijken. Zie Azure CLI installeren als u de CLI wilt installeren of een upgrade wilt uitvoeren. - Toegang tot de
Microsoft.ContainerService/managedClusters/runcommand/action
rollen enMicrosoft.ContainerService/managedclusters/commandResults/read
in het cluster.
Beperkingen
De pod die met de run
opdracht is gemaakt, biedt helm
en de meest recente compatibele versie van kubectl
voor uw cluster met kustomize
.
command invoke
voert de opdrachten uit vanuit uw cluster, zodat alle opdrachten die op deze manier worden uitgevoerd, onderhevig zijn aan uw geconfigureerde netwerkbeperkingen en eventuele andere geconfigureerde beperkingen. Zorg ervoor dat er voldoende knooppunten en resources in uw cluster zijn om deze opdrachtpod te plannen.
Notitie
De uitvoer voor command invoke
is beperkt tot 512 kB.
Opdrachten uitvoeren op uw AKS-cluster
Gebruik command invoke
om één opdracht uit te voeren
Voer een opdracht uit op uw cluster met behulp van de
az aks command invoke --command
opdracht . Met de volgende voorbeeldopdracht wordt dekubectl get pods -n kube-system
opdracht uitgevoerd op het cluster myPrivateCluster in myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl get pods -n kube-system"
Gebruik command invoke
om meerdere opdrachten uit te voeren
Voer meerdere opdrachten uit op uw cluster met behulp van de
az aks command invoke --command
opdracht . Met de volgende voorbeeldopdracht worden driehelm
opdrachten uitgevoerd op het cluster myPrivateCluster in myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update && helm install my-release bitnami/nginx"
Gebruik command invoke
om opdrachten uit te voeren met een bijgevoegd bestand of een bijgevoegde map
Voer opdrachten uit met een bijgevoegd bestand of map met behulp van de
az aks command invoke --command
opdracht met de--file
parameter . De volgende voorbeeldopdracht wordt uitgevoerdkubectl apply -f deployment.yaml -n default
op het cluster myPrivateCluster in myResourceGroup. Hetdeployment.yaml
bestand is bijgevoegd vanuit de huidige map op de ontwikkelcomputer waaropaz aks command invoke
is uitgevoerd.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml -n default" \ --file deployment.yaml
Gebruik command invoke
om opdrachten uit te voeren met alle bestanden in de huidige map bijgevoegd
Voer opdrachten uit met alle bestanden in de huidige map die is gekoppeld met behulp van de
az aks command invoke --command
opdracht met de--file
parameter . De volgende voorbeeldopdracht wordt uitgevoerdkubectl apply -f deployment.yaml configmap.yaml -n default
op het cluster myPrivateCluster in myResourceGroup. Dedeployment.yaml
bestanden enconfigmap.yaml
maken deel uit van de huidige map op de ontwikkelcomputer waaropaz aks command invoke
is uitgevoerd.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml configmap.yaml -n default" \ --file .