Rychlý start: Nasazení clusteru Azure Kubernetes Service pomocí Azure CLI

Azure Kubernetes Service (AKS) je spravovaná služba Kubernetes, která umožňuje rychle nasazovat a spravovat clustery. V tomto rychlém startu budete:

  • Nasazení clusteru AKS pomocí Azure CLI
  • Spusťte ukázkovou vícekontenerovou aplikaci s webovým front-endem a instancí Redis v clusteru.

Screenshot of browsing to Azure Vote sample application.

Tento rychlý start předpokládá základní znalosti konceptů Kubernetes. Další informace najdete v základních konceptech Kubernetes pro Azure Kubernetes Service (AKS).

Pokud nemáte předplatné Azure, vytvořte si bezplatný účet Azure , než začnete.

Další informace o vytvoření fondu uzlů serveru Windows najdete v tématu Vytvoření clusteru AKS, který podporuje kontejnery Windows Server.

Požadavky

  • Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start azure Cloud Shell – Bash.

    Launch Cloud Shell in a new window

  • Pokud dáváte přednost místnímu spuštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Dockeru. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.

    • Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení jsou popsané v tématu Přihlášení pomocí Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

  • Tento článek vyžaduje verzi 2.0.64 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

  • Identita, kterou používáte k vytvoření clusteru, má odpovídající minimální oprávnění. Další podrobnosti o přístupu a identitě pro AKS najdete v tématu Možnosti přístupu a identity pro Azure Kubernetes Service (AKS).

  • Pokud máte více předplatných Azure, vyberte příslušné ID předplatného, ve kterém se mají prostředky účtovat pomocí příkazu az account .

  • Ověřte, že jsou ve vašem předplatném zaregistrované Microsoft.OperationsManagement a Microsoft.OperationalInsights . Postup kontroly stavu registrace:

    az provider show -n Microsoft.OperationsManagement -o table
    az provider show -n Microsoft.OperationalInsights -o table
    

    Pokud nejsou zaregistrované, zaregistrujte Microsoft.OperationsManagement a Microsoft.OperationalInsights pomocí:

    az provider register --namespace Microsoft.OperationsManagement
    az provider register --namespace Microsoft.OperationalInsights
    

Poznámka

Pokud chcete příkazy spustit v tomto rychlém startu místně místo v Azure Cloud Shell, spusťte příkazy s oprávněními správce.

Vytvoření skupiny prostředků

Skupina prostředků Azure je logická skupina, ve které se nasazují a spravují prostředky Azure. Při vytváření skupiny prostředků se zobrazí výzva k zadání umístění. Toto umístění je:

  • Umístění úložiště metadat skupiny prostředků.
  • Pokud během vytváření prostředků nezadáte jinou oblast, spustí se prostředky v Azure.

Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus.

Vytvořte skupinu prostředků pomocí příkazu az group create .

az group create --name myResourceGroup --location eastus

Následující příklad výstupu se podobá úspěšnému vytvoření skupiny prostředků:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Vytvoření clusteru AKS

Vytvořte cluster AKS pomocí příkazu az aks create s parametrem monitorování --enable-addons pro povolení služby Container Insights. Následující příklad vytvoří cluster s názvem myAKSCluster s jedním uzlem:

az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys

Po několika minutách příkaz dokončí a vrátí informace ve formátu JSON o clusteru.

Poznámka

Při vytváření clusteru AKS se automaticky vytvoří druhá skupina prostředků pro ukládání prostředků AKS. Další informace najdete v tématu Proč jsou ve službě AKS vytvořeny dvě skupiny prostředků?

Připojení ke clusteru

Ke správě clusteru Kubernetes použijte klienta příkazového řádku Kubernetes kubectl. kubectlpokud používáte Azure Cloud Shell, je už nainstalovaný.

  1. Místní instalace kubectl pomocí příkazu az aks install-cli :

    az aks install-cli
    
  2. Nakonfigurujte kubectl připojení ke clusteru Kubernetes pomocí příkazu az aks get-credentials . Následující příkaz:

    • Stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používal.
    • Používá ~/.kube/configvýchozí umístění konfiguračního souboru Kubernetes. Zadejte jiné umístění konfiguračního souboru Kubernetes pomocí argumentu --file .
    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Pomocí příkazu kubectl get ověřte připojení ke clusteru. Tento příkaz vrátí seznam uzlů clusteru.

    kubectl get nodes
    

    Následující příklad výstupu ukazuje jeden uzel vytvořený v předchozích krocích. Ujistěte se, že je stav uzlu připravený:

    NAME                       STATUS   ROLES   AGE     VERSION
    aks-nodepool1-31718369-0   Ready    agent   6m44s   v1.12.8
    

Nasazení aplikace

Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například které image kontejneru se mají spustit.

V tomto rychlém startu použijete manifest k vytvoření všech objektů potřebných ke spuštění aplikace Azure Vote. Tento manifest zahrnuje dvě nasazení Kubernetes:

  • Ukázkové aplikace Azure Vote Python.
  • Instance Redis.

Vytvoří se také dvě služby Kubernetes :

  • Interní služba pro instanci Redis.
  • Externí služba pro přístup k aplikaci Azure Vote z internetu.
  1. Vytvořte soubor s názvem azure-vote.yaml.

    • Pokud používáte Azure Cloud Shell, můžete tento soubor vytvořit pomocí code, vinebo nano jako kdybyste pracovali na virtuálním nebo fyzickém systému.
  2. Zkopírujte následující definici YAML:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: azure-vote-back
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: azure-vote-back
      template:
        metadata:
          labels:
            app: azure-vote-back
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-back
            image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
            env:
            - name: ALLOW_EMPTY_PASSWORD
              value: "yes"
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            ports:
            - containerPort: 6379
              name: redis
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: azure-vote-back
    spec:
      ports:
      - port: 6379
      selector:
        app: azure-vote-back
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: azure-vote-front
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: azure-vote-front
      template:
        metadata:
          labels:
            app: azure-vote-front
        spec:
          nodeSelector:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-front
            image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
            resources:
              requests:
                cpu: 100m
                memory: 128Mi
              limits:
                cpu: 250m
                memory: 256Mi
            ports:
            - containerPort: 80
            env:
            - name: REDIS
              value: "azure-vote-back"
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: azure-vote-front
    spec:
      type: LoadBalancer
      ports:
      - port: 80
      selector:
        app: azure-vote-front
    
  3. Nasaďte aplikaci pomocí příkazu kubectl apply a zadejte název manifestu YAML:

    kubectl apply -f azure-vote.yaml
    

    Následující příklad se podobá výstupu znázorňující úspěšně vytvořené nasazení a služby:

    deployment "azure-vote-back" created
    service "azure-vote-back" created
    deployment "azure-vote-front" created
    service "azure-vote-front" created
    

Testování aplikace

Když se aplikace spustí, služba Kubernetes zveřejní front-end aplikace na internet. Dokončení tohoto procesu může trvat několik minut.

Sledujte průběh pomocí příkazu kubectl get service s argumentem --watch .

kubectl get service azure-vote-front --watch

Výstup EXTERNÍ IP adresy pro azure-vote-front službu se zpočátku zobrazí jako čekající.

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s

Jakmile se externí IP adresa změní z čekání na skutečnou veřejnou IP adresu, použijte CTRL-C k zastavení kubectl procesu sledování. Následující příklad výstupu ukazuje platnou veřejnou IP adresu přiřazenou službě:

azure-vote-front   LoadBalancer   10.0.37.27   52.179.23.131   80:30572/TCP   2m

Pokud chcete zobrazit aplikaci Azure Vote v akci, otevřete webový prohlížeč na externí IP adresu vaší služby.

Screenshot of browsing to Azure Vote sample application.

Odstranění clusteru

Abyste se vyhnuli poplatkům za Azure, pokud si neplánujete projít kurzy, které následují, vyčistěte nepotřebné prostředky. Pomocí příkazu az group delete odeberete skupinu prostředků, službu kontejneru a všechny související prostředky.

az group delete --name myResourceGroup --yes --no-wait

Poznámka

Cluster AKS byl vytvořen pomocí spravované identity přiřazené systémem (výchozí možnost identity použitá v tomto rychlém startu), identita se spravuje platformou a nevyžaduje odebrání.

Další kroky

V tomto rychlém startu jste nasadili cluster Kubernetes a pak jste do něj nasadili jednoduchou aplikaci s více kontejnery.

Další informace o službě AKS a podrobné vysvětlení kompletního příkladu od kódu až po nasazení najdete v kurzu clusteru Kubernetes.

Tento rychlý start je určený pro úvodní účely. Pokyny k vytváření kompletních řešení v AKS pro produkční prostředí najdete v doprovodných materiálech k řešení AKS.