Sdílet prostřednictvím


Použití služby Azure Kubernetes Service ve službě Azure Stack Hub s rozhraním příkazového řádku

Tento článek je průvodce, který vám pomůže začít používat službu Azure Kubernetes Service (AKS) ve službě Azure Stack Hub. Popisuje hlavní sadu scénářů, které vám pomůžou seznámit se se službou AKS ve službě Azure Stack Hub. Funkce, které jsou dostupné ve službě Azure Stack Hub, je podmnožinou toho, co je dostupné v globálním Azure.

V následujících částech vy:.

  1. Dokončete požadavky na použití AKS ve službě Azure Stack Hub.

  2. Dokončete operace životního cyklu clusteru AKS pomocí Azure CLI a uživatelského portálu Azure Stack Hub.

Instalace Azure CLI

Musíte nainstalovat Azure CLI s podporou AKS pro váš počítač. Připravte čistý počítač s Linuxem nebo počítačem s Windows a nainstalujte si verzi Preview Azure CLI s podporou AKS. Ujistěte se, že v počítači není nainstalováno Azure CLI, abyste se vyhnuli konfliktům s verzí preview Azure CLI, kterou nainstalujete. Většina následujících pokynů předpokládá, že používáte virtuální počítač s Linuxem, ale ekvivalentní kroky najdete v dokumentaci k produktu ve Windows.

Po instalaci Azure CLI s podporou AKS neupgradujte Azure CLI. Pokud provedete upgrade, nahradí se produkční připravenou verzí, která nemá podporu AKS.

V případě počítače s Ubuntu postupujte podle pokynů na stránce Instalace Azure CLI na Linuxu.

Po instalaci Azure CLI s podporou AKS ověřte správnost instalace spuštěním následujícího příkazu Azure CLI:

    az --version

Tady je ukázkový výstup z počítače s Linuxem:

výstup z počítače s Linuxem

Azure CLI by mělo být 2.28.0 nebo novější.

Připojení ke službě Azure Stack Hub

  1. 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.

  2. Zaregistrujte prostředí, aby se Azure CLI mohl připojit ke koncovému bodu Resource Manageru 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"
    
  3. Nastavte aktivní prostředí.

    az cloud set -n aks-preview-test
    
  4. Aktualizujte konfiguraci prostředí.

    az cloud update --profile 2020-09-01-hybrid
    
  5. Připojte se k prostředí.

    az login -u 'user@contoso.onmicrosoft.com' -p 'xxxxxxx' --tenant 'contoso.onmicrosoft.com'
    

    Poznámka

    Pokud dojde k chybě 'Certificate verify failed', může to znamenat, že váš klientský počítač nedůvěřuje certifikátu použitému pro koncový bod Azure Resource Manageru. Pokud ano, musíte exportovat certifikát použitý v koncových bodech služby Azure Stack Hub a důvěřovat ho. Pokyny najdete v tématu Export kořenového certifikátu ca služby Azure Stack Hub.

    Zejména v případě počítačů s Linuxem viz: Microsoft Entra ID pro Linux

  6. Pomocí následujícího příkazu nastavte předplatné v relaci Azure CLI jako výchozí:

    az account set --subscription <subscription-id>
    
  7. Zaregistrujte poskytovatele prostředků Azure Kubernetes Service. Uveďte dostupné poskytovatele 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:

    Výstup by měl vypadat jako

  8. Poznamenejte si poskytovatele prostředků Microsoft.ContainerService a zaregistrujte poskytovatele:

    az provider register --namespace Microsoft.ContainerService
    
  9. Znovu spusťte krok 7 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 otestovat následující scénáře.

Vytvoření clusteru AKS

Globální pokyny k Azure najdete v tématu Nasazení clusteru Azure Kubernetes Service pomocí azure CLI. Tady uvedené 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 Linuxu nebo Windows.

  1. Vytvořte skupinu prostředků:

    az group create --name myResourceGroup --location <Azure Stack Hub location>
    
  2. Ujistěte se, že máte připravené ID entitního objektu služby s oprávněním přispěvatele na vašem předplatném pro vytváření clusterů v něm.

    1. Chcete-li vytvořit služební účet (SPN) pomocí Microsoft Entra ID, postupujte podle tohoto návodu pokyny.
    2. Pokud chcete vytvořit hlavní název služby (SPN) pomocí služby AD FS, postupujte podle těchto pokynů.
    3. Pro přiřazení role "přispěvatel" k SPN se podívejte na pokyny . Nezapomeňte vybrat roli Přispěvatel.
  3. Vytvořte cluster AKS se třemi agentními uzly. Zadejte hodnoty pro následující parametry, příklady jsou k dispozici. Běžet:

    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 z této operace je ve formátu JSON a obsahuje 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 mimo jiné vlastnosti. Všimněte si, že příkaz vypíše text podobný tomuto, 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' se vygenerují v rámci \~/.ssh, aby se umožnil přístup SSH k virtuálnímu počítači. Tyto klíče uložte do bezpečného umístění, které se mají použít v případě, že je potřeba připojit se k virtuálním počítačům pomocí SSH, jak je tomu při řešení problémů.

  4. Teď můžete pokračovat opakováním testů pro Škálovat, nasaditaplikace a Odstranit.

Připojení ke clusteru

  1. Ke správě clusteru Kubernetes použijete klienta příkazového řádku Kubernetes kubectl. Pokud chcete nainstalovat kubectl místně, použijte příkaz az aks install-cli (možná budete muset na začátku použít sudo, abyste k jeho instalaci měli oprávnění):

    az aks install-cli
    
  2. Ke konfiguraci kubectl pro připojení ke clusteru Kubernetes použijte příkaz az aks get-credentials. 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
    
  3. Pokud chcete ověřit připojení ke clusteru, použijte příkaz kubectl get a vraťte seznam uzlů clusteru.

    kubectl get nodes
    

    ověřte připojení ke clusteru

Škálování clusteru

Dalším úkolem správy clusteru je škálování clusteru. Cluster můžete škálovat kdykoli po jeho vytvoření pomocí příkazu az aks scale. Pokud chcete cluster škálovat 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 obsahuje výstup 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 cluster odstranit. Běžet:

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 služby AKS je výchozím síťovým pluginem Azure CNI, nikoli Kubenet, jak je tomu v případě AKS engine.

S Azure CNI získá každý pod IP adresu z podsítě a může k němu přistupovat přímo (bez nutnosti směrovací tabulky stejně jako u Kubenetu). Tyto IP adresy musí být jedinečné v rámci vašeho síťového prostoru a musí být naplánovány.

Následující článek vás provede procesem plánování vlastního nasazení 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:

  1. Postupujte podle pokynů v tomto článku k naplánování nasazení pomocí Azure CNI. Pomocí portálu můžete například vytvořit virtuální síť s názvem 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    
    
  2. Všimněte si, že příkaz clusteru uvedený v článku Azure funguje správně při nasazování do Azure, abyste mohli nasadit službu 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 jako '/subscriptions/dfdfdff-5dfdf-dfdf-dfdf-dfdfdfdfdfd/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
    
  3. Postupujte podle pokynů v části Připojení ke clusteru a připojte se ke clusteru Kubernetes a nasaďte aplikace.

Kontrola konzistence

Kontrola konzistence mezi Azure a službou Azure Stack Hub

  1. Vyberte kombinaci příkazů z výše testovaných příkazů, z části "Referenční příkaz", nebo z vlastních každodenních skriptů.

  2. Použijte je v Azure a později ve službě Azure Stack Hub. Všimněte si jakýchkoli nesrovnalostí, které se neočekávají, a poskytněte zpětnou vazbu.

Další kroky