Přístup k soukromému clusteru Azure Kubernetes Service (AKS)
Když přistupujete k privátnímu clusteru AKS, musíte se k němu připojit z virtuální sítě clusteru, partnerské sítě nebo nakonfigurovaného privátního koncového bodu. Tyto přístupy vyžadují konfiguraci sítě VPN, Express Route, nasazení jumpboxu ve virtuální síti clusteru nebo vytvoření privátního koncového bodu uvnitř jiné virtuální sítě.
Pomocí Azure CLI můžete přistupovat command invoke
k privátním clusterům bez nutnosti konfigurace sítě VPN nebo ExpressRoute. command invoke
umožňuje vzdáleně volat příkazy, například kubectl
a helm
, ve vašem privátním clusteru prostřednictvím rozhraní Azure API bez přímého připojení ke clusteru. Akce Microsoft.ContainerService/managedClusters/runcommand/action
řídí Microsoft.ContainerService/managedclusters/commandResults/read
oprávnění pro použití command invoke
.
Pomocí webu Azure Portal můžete pomocí Run command
funkce spouštět příkazy v privátním clusteru. Tato Run command
funkce používá stejné command invoke
funkce ke spouštění příkazů ve vašem clusteru.
Než začnete
Než začnete, ujistěte se, že máte následující prostředky a oprávnění:
- Existující privátní cluster. Pokud ho nemáte, přečtěte si téma Vytvoření privátního clusteru AKS.
- Azure CLI verze 2.24.0 nebo novější. Verzi zjistíte spuštěním příkazu
az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. - Přístup k rolím
Microsoft.ContainerService/managedClusters/runcommand/action
aMicrosoft.ContainerService/managedclusters/commandResults/read
rolím v clusteru
Omezení
Pod vytvořený příkazem run
poskytuje helm
a nejnovější kompatibilní verzi clusteru kubectl
s kustomize
.
command invoke
spouští příkazy z vašeho clusteru, takže všechny příkazy spouštěné tímto způsobem podléhají nakonfigurovaným omezením sítě a jakýmkoli jiným nakonfigurovaným omezením. Ujistěte se, že v clusteru je dostatek uzlů a prostředků k naplánování tohoto podu příkazů.
Poznámka:
Výstup je command invoke
omezen na velikost 512 kB.
Spouštění příkazů v clusteru AKS
Slouží command invoke
ke spuštění jednoho příkazu.
Spuštěním příkazu v clusteru spusťte
az aks command invoke --command
příkaz. Následující ukázkový příkaz spustíkubectl get pods -n kube-system
příkaz v clusteru myPrivateCluster v myResourceGroup.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl get pods -n kube-system"
Slouží command invoke
ke spouštění více příkazů.
Pomocí příkazu spusťte ve svém clusteru
az aks command invoke --command
více příkazů. Následující ukázkový příkaz spustí třihelm
příkazy v clusteru myPrivateCluster v 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"
Slouží command invoke
ke spouštění příkazů s připojeným souborem nebo adresářem.
Pomocí příkazu s parametrem spusťte příkazy s připojeným souborem nebo adresářem
az aks command invoke --command
--file
. Následující ukázkový příkaz se spustíkubectl apply -f deployment.yaml -n default
v clusteru myPrivateCluster v myResourceGroup. Soubordeployment.yaml
je připojen z aktuálního adresáře na vývojovém počítači, kdeaz aks command invoke
byl spuštěn.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml -n default" \ --file deployment.yaml
Slouží command invoke
ke spouštění příkazů se všemi soubory v připojeném aktuálním adresáři.
Pomocí příkazu s parametrem spusťte příkazy se všemi soubory v aktuálním adresáři, které jsou
--file
připojenéaz aks command invoke --command
. Následující ukázkový příkaz se spustíkubectl apply -f deployment.yaml configmap.yaml -n default
v clusteru myPrivateCluster v myResourceGroup. Souborydeployment.yaml
jsouconfigmap.yaml
součástí aktuálního adresáře na vývojovém počítači, na kterémaz aks command invoke
byl spuštěný.az aks command invoke \ --resource-group myResourceGroup \ --name myPrivateCluster \ --command "kubectl apply -f deployment.yaml configmap.yaml -n default" \ --file .
Azure Kubernetes Service