Přístup k privátnímu clusteru Azure Kubernetes Service (AKS) pomocí funkce vyvolání příkazu nebo spuštění příkazu
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.
Pod vytvořený nástrojem Run command
poskytuje kubectl
a helm
pro provoz clusteru. jq
grep
, xargs
a awk
jsou k dispozici pro podporu Bash.
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í
Tato funkce je navržená tak, aby zjednodušila přístup ke clusteru a není určená pro programový přístup. Pokud máte program, který volá Kubernetes pomocí Run command
, platí následující nevýhody:
- Získáte pouze ukončovací kód a textový výstup a ztratíte podrobnosti na úrovni rozhraní API.
- Jeden další segment směrování představuje další body selhání.
Pod vytvořený pomocí Run command
pevně zakódovaného 200m CPU
souboru a 500Mi memory
požadavku a 500m CPU
omezení 1Gi memory
. Vevýjimečných To znamená, že Run command
dojde k selhání, i když je nakonfigurované automatické škálování.
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 .
Řešení problému
Informace o nejběžnějších problémech a az aks command invoke
jejich řešení najdete v tématu Řešení az aks command invoke
chyb.
Další kroky
V tomto článku jste se dozvěděli, jak získat přístup k privátnímu clusteru a spouštět příkazy v tomto clusteru. Další informace o clusterech AKS najdete v následujících článcích:
Azure Kubernetes Service