Použití Azure Kubernetes Service ve službě Azure Stack Hub s rozhraním příkazového řádku
Tento průvodce vám pomůže začít používat službu Azure Kubernetes Service (AKS) ve službě Azure Stack Hub. Tento článek popisuje hlavní sadu scénářů, které vás seznámí s AKS ve službě Azure Stack Hub. Funkce dostupné ve službě Azure Stack Hub jsou podmnožinou toho, co je k dispozici v globálním Azure.
V následujících částech:
- Dokončete požadavky na používání AKS ve službě Azure Stack Hub.
- Dokončete operace životního cyklu clusteru AKS pomocí Azure CLI a uživatelského portálu služby Azure Stack Hub.
Instalace rozhraní příkazového řádku Azure CLI
Pro váš počítač budete muset nainstalovat Azure CLI s podporou AKS. Připravte čistý počítač s Linuxem nebo Windows na instalaci verze Preview Azure CLI s podporou AKS. Ujistěte se, že na počítači není nainstalované Rozhraní příkazového řádku Azure, abyste se vyhnuli konfliktům s verzí Preview Azure CLI, kterou nainstalujete jako další. Většina následujících pokynů předpokládá, že používáte virtuální počítač s Linuxem, ale ekvivalentní postup najdete v dokumentaci k produktu ve Windows.
Po instalaci Azure CLI s podporou AKS neupgradujte Azure CLI. Pokud upgrade provedete, nahradí se verzí připravenou pro produkční prostředí, která nemá podporu AKS.
V případě počítače s Ubuntu postupujte podle pokynů v tématu Instalace Azure CLI v Linuxu.
Po instalaci Azure CLI s podporou AKS spuštěním následujícího příkazu Azure CLI ověřte správnost instalace:
az --version
Toto je výstup z počítače s Linuxem:
Azure CLI by mělo mít verzi 2.28.0 nebo vyšší.
Připojení ke službě Azure Stack Hub
Připojte se ke koncovému bodu služby Azure Stack Hub. K vytvoření konkrétního prostředí služby Azure Stack Hub, ke kterému se připojujete, musíte použít Azure CLI. Pokyny najdete v tématu Připojení ke službě Azure Stack Hub.
Zaregistrujte své prostředí, aby se Azure CLI mohl připojit ke koncovému bodu Resource Manager služby Azure Stack Hub pro vaši instanci. Aktualizujte adresy URL v následujícím fragmentu kódu a spusťte následující příkaz:
az cloud register \ -n aks-preview-test \ --endpoint-resource-manager "https://management.redmond.xbx.nxn.microsoft.com" \ --suffix-storage-endpoint "redmond.xbx.nxn.microsoft.com" \ --suffix-keyvault-dns ".vault.redmond.xbx.nxn.microsoft.com"
Nastavte aktivní prostředí.
az cloud set -n aks-preview-test
Aktualizujte konfiguraci prostředí.
az cloud update --profile 2020-09-01-hybrid
Připojte se k prostředí.
az login -u 'user@contoso.onmicrosoft.com' -p 'xxxxxxx' --tenant 'contoso.onmicrosoft.com'
Poznámka
Pokud aktivujete chybu ověření certifikátu, které selhalo, může to být tím, že certifikát použitý pro koncový bod Azure Resource Manager není pro váš klientský počítač důvěryhodný. Pokud ano, musíte exportovat certifikát použitý v koncových bodech služby Azure Stack Hub a důvěřovat mu. Pokyny najdete v tématu Export kořenového certifikátu certifikační autority služby Azure Stack Hub.
Konkrétně pro počítače s Linuxem si přečtěte: Microsoft Entra ID v Linuxu.
Nastavte předplatné v relaci Azure CLI jako výchozí pomocí:
az account set --subscription <subscription-id>
Zaregistrujte poskytovatele prostředků Azure Kubernetes Service. Uveďte seznam dostupných poskytovatelů prostředků ve vašem předplatném.
az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table
Výstup by měl vypadat takto:
Poznamenejte si poskytovatele prostředků Microsoft.ContainerService a pak ho zaregistrujte:
az provider register --namespace Microsoft.ContainerService
Znovu spusťte krok sedm a ověřte stav registrace poskytovatele prostředků. Dokončení registrace může trvat několik minut.
Po dokončení těchto požadovaných kroků můžete pokračovat k otestováním následujících scénářů.
Vytvoření clusteru AKS
Globální pokyny k Azure najdete v tématu Nasazení clusteru Azure Kubernetes Service pomocí Azure CLI. Tyto pokyny odrážejí omezení používání AKS ve službě Azure Stack Hub. Pomocí Azure CLI můžete vytvořit cluster AKS pro kontejnery s Linuxem nebo Windows.
Vytvořte skupinu prostředků:
az group create --name myResourceGroup --location <Azure Stack Hub location>
Ujistěte se, že máte ve svém předplatném připravené ID instančního objektu s oprávněním přispěvatele, abyste v něm mohli vytvářet clustery.
- Pokud chcete vytvořit instanční objekt (SPN) pomocí ID Microsoft Entra, postupujte podle těchto pokynů.
- Pokud chcete vytvořit hlavní název služby (SPN) pomocí služby Active Directory Federated Services (AD FS), postupujte podle těchto pokynů.
- Informace o přiřazení role Přispěvatel k hlavnímu názvu služby (SPN) najdete v pokynech. Nezapomeňte vybrat roli Přispěvatel.
Vytvořte cluster AKS se třemi uzly agentů. Zadejte hodnoty parametrů níže, uvádíme příklady. Spusťte tento příkaz:
az aks create \ --resource-group myResourceGroup \ --name myakscluster \ --dns-name-prefix myakscluster \ --nodepool-name mynodepool \ --admin-username azureuser \ --service-principal xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --client-secret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --node-count 3 \ --generate-ssh-keys \ --load-balancer-sku basic \ --vm-set-type VirtualMachineScaleSets \ --location <Azure Stack Hub location> \ --kubernetes-version 1.20.7
Výstup této operace bude ve formátu JSON a bude obsahovat specifikaci clusteru, včetně vygenerovaného veřejného klíče SSH, plně kvalifikovaného názvu domény (FQDN) používaného v clusteru a dalších vlastností. Všimněte si, že výstupem příkazu bude text, jako je tento, který zvýrazní umístění privátního klíče:
SSH key files '/home/azureuser/.ssh/id_rsa'
a'/home/azureuser/.ssh/id_rsa.pub'
vygeneroval se v části\~/.ssh
, aby byl povolen přístup k virtuálnímu počítači SSH. Tyto klíče uložte na bezpečném místě, abyste je mohli použít pro případ, že je potřeba připojit se k virtuálním počítačům pomocí SSH, jako je tomu při řešení potíží.Teď můžete pokračovat opakováním testů pro škálování, nasazení aplikace a odstranění.
Připojení ke clusteru
Ke správě clusteru Kubernetes použijete kubectl, klienta příkazového řádku Kubernetes. Pokud chcete kubectl nainstalovat místně, použijte příkaz az aks install-cli (možná budete muset použít sudo na začátku, abyste k jeho instalaci měli oprávnění):
az aks install-cli
Pokud chcete nakonfigurovat kubectl pro připojení ke clusteru
az aks get-credentials
Kubernetes, použijte příkaz . Tento příkaz stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používalo.az aks get-credentials --resource-group myResourceGroup --name myakscluster --admin
Pokud chcete ověřit připojení ke clusteru, použijte příkaz kubectl get, který vrátí seznam uzlů clusteru.
kubectl get nodes
Škálování clusteru
Další úlohou správy clusteru je škálování clusteru. Cluster můžete kdykoli po vytvoření škálovat pomocí příkazu az aks scale. Pokud chcete škálovat cluster z počátečních tří uzlů na 4, spusťte:
az aks scale --resource-group myResourceGroup --name myakscluster --node-count 4
Po úspěšném škálování clusteru bude výstup obsahovat agentPoolProfiles podobný následujícímu příkladu:
"agentPoolProfiles": [
{
"availabilityZones": null,
"count": 4,
"enableAutoScaling": null,
"enableNodePublicIp": false,
"maxCount": null,
"maxPods": 110,
"minCount": null,
"mode": "System",
"name": "mynodepool",
"nodeLabels": {},
"nodeTaints": null,
"orchestratorVersion": "1.20.7",
"osDiskSizeGb": 100,
"osType": "Linux",
"provisioningState": "Succeeded",
"scaleSetEvictionPolicy": null,
"scaleSetPriority": null,
"spotMaxPrice": null,
"tags": null,
"type": "VirtualMachineScaleSets",
"vmSize": " Standard_DS2_v2",
"vnetSubnetId": null
}
]
Odstranění clusteru
Po provedení předchozích operací můžete pokračovat k odstranění clusteru. Spusťte tento příkaz:
az aks delete --name myakscluster --resource-group myResourceGroup
Vytvoření clusteru AKS s vlastní virtuální sítí
Běžným scénářem je vytvoření clusteru, který se má nasadit v síti poskytované uživatelem. Plánování konfigurace sítě vyžaduje určitou přípravu. Všimněte si také, že u AKS je výchozím síťovým modulem plug-in Azure CNI, nikoli Kubenet jako v případě modulu AKS. S Azure CNI získá každý pod IP adresu z podsítě a je k němu možné přistupovat přímo (bez nutnosti použití směrovací tabulky, jako je tomu v případě Kubenetu). Tyto IP adresy musí být jedinečné v rámci vašeho síťového prostoru a musí být naplánované. Následující článek vás provede procesem plánování nasazení vlastní virtuální sítě. Můžete najít různé konfigurace sítě, které fungují pro vaše potřeby, a otestovat je. Pro počáteční test vám následující dva kroky ukážou základní proces:
Při plánování nasazení pomocí Azure CNI postupujte podle pokynů v tomto článku . Pomocí portálu můžete například vytvořit virtuální síť myAKSVnet s rozsahem IP adres 10.0.0.0/8 s podsítí myAKSSubnet a rozsahem IP adres 10.240.0.0/16 ve skupině prostředků myTest-rg. Pak použijte další krok k vytvoření clusteru.
az network vnet create \ --resource-group myTest-rg \ --name myAKSVnet \ --address-prefixes 10.0.0.0/8 \ --subnet-name myAKSSubnet \ --subnet-prefix 10.240.0.0/16
Všimněte si, že příkaz clusteru uvedený v článku o Azure funguje správně při nasazování v Azure. Pokud chcete provést nasazení do služby Azure Stack Hub, musíte zadat další parametry jako v následujícím příkladu. ID podsítě virtuální sítě by mělo vypadat takto: /subscriptions/dfdfdff-5dfdf-dfdf-dfdfdfdfd/resourceGroups/myTest-rg/providers/Microsoft.Network/virtualNetworks/myAKSVnet/subnets/myAKSSubnet::
az aks create \ --resource-group myTest-rg \ --name aksvnet \ --dns-name-prefix aksvnet \ --nodepool-name mynodepool \ --admin-username azureuser \ --service-principal xvxvxvxvx-ffff-ffff-xvxvxvx-8xbxbxbx8 \ --client-secret dccbcbcbcbcbcbcbcbbcbcbcbcbcbcbc-LNX \ --node-count 3 \ --generate-ssh-keys \ --load-balancer-sku basic \ --vm-set-type VirtualMachineScaleSets \ --network-plugin azure \ --vnet-subnet-id '<subnet-resource-id>' \ --skip-subnet-role-assignment \ --docker-bridge-address 172.17.0.1/16 \ --dns-service-ip 10.0.0.10 \ --location redmond
Postupujte podle pokynů v části Připojení ke clusteru a připojte se ke clusteru Kubernetes a nasaďte své aplikace.
Kontrola konzistence
Kontrola konzistence mezi Azure a službou Azure Stack Hub
- Vyberte kombinaci příkazů z výše testovaných příkazů, z níže uvedené části Referenční informace o příkazech nebo z vlastních každodenních skriptů.
- Použijte je v Azure a později ve službě Azure Stack Hub. Poznamenejte si případné nesrovnalosti, které nejsou očekávané, a poskytněte nám zpětnou vazbu.