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:

  • Nasaďte cluster AKS pomocí Azure CLI.
  • Spusťte ukázkovou vícekontejnerovou 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 předplatné Azure nemáte, vytvořte si před zahájením bezplatný účet Azure .

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

Požadavky

  • Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start k 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ší v 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 identit 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, vaše prostředky se budou spouštět 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 se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.

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č se v AKS vytvářejí dvě skupiny prostředků?

Připojení ke clusteru

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

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

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

    • Stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používalo.
    • 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 vypadá podobně jako výstup 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 internetu. 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 EXTERNAL-IP 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 kubectl veřejnou IP adresu, použijte CTRL-C k zastavení 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 následující kurzy, 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 se spravovanou identitou přiřazenou systémem (výchozí možnost identity použitá v tomto rychlém startu), identita je spravovaná 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 vícekontejnerovou aplikaci.

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 slouží k úvodním účelům. Pokyny k vytváření úplných řešení pomocí AKS pro produkční prostředí najdete v pokynech k řešení AKS.