Rychlý Start: nasazení clusteru služby Azure Kubernetes pomocí Azure CLI

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

  • Nasaďte cluster AKS pomocí Azure CLI.

  • Spusťte aplikaci s více kontejnery s webovým front-end a instancí Redis v clusteru.

  • Monitorujte stav clusteru a lusky, které spouští vaši aplikaci.

    Hlasovací aplikace nasazená ve službě Azure Kubernetes

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

Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.

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

Požadavky

  • V nástroji použijte prostředí Bash Azure Cloud Shell.

    Spuštění služby Cloud Shell v novém okně

  • Pokud tomu dáváte přednost, můžete nainstalovat Azure CLI a spouštět referenční příkazy CLI.

    • 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 rozhraní příkazového řádku Azure (2.0.64) nebo vyšší verze. Pokud používáte Azure Cloud Shell, nejnovější verze je už nainstalovaná.
  • 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).

Poznámka

Spusťte příkazy jako správce, pokud máte v plánu spustit příkazy v tomto rychlém startu místo v Azure Cloud Shell.

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ů.
  • Kde se vaše prostředky spustí v Azure, pokud při vytváření prostředků nezadáte jinou oblast.

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

Výstup pro úspěšně vytvořenou skupinu prostředků:

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

Povolit monitorování clusteru

Ověřte, že se ve vašem předplatném zaregistrovali 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 registrovány, zaregistrujte Microsoft. OperationsManagement a Microsoft. OperationalInsights pomocí:

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

Vytvoření clusteru AKS

Vytvořte cluster AKS pomocí příkazu AZ AKS Create s parametrem --Enable-addons monitoring a povolte Azure monitor pro kontejnery. 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č jsou dvě skupiny prostředků vytvořené pomocí AKS?

Připojení ke clusteru

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

  1. kubectlMístně nainstalujte pomocí příkazu AZ AKS Install-CLI :

    az aks install-cli
    
  2. Nakonfigurujte kubectl pro 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 pro jejich použití.
    • Používá ~/.kube/config výchozí umístění konfiguračního souboru Kubernetes. Zadejte jiné umístění konfiguračního souboru Kubernetes pomocí --File.
    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Pomocí příkazu kubectl Get ověřte připojení ke svému clusteru. Tento příkaz vrátí seznam uzlů clusteru.

    kubectl get nodes
    

    Výstup zobrazuje jeden uzel vytvořený v předchozích krocích. Přesvědčte se, zda je stav uzlu připraveno:

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

Spuštění aplikace

Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například které image kontejnerů 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 hlasování Azure. Tento manifest obsahuje dvě Kubernetes nasazení:

  • Ukázková aplikace Pythonu pro Azure
  • Instance Redis

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

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

    • Pokud použijete Azure Cloud Shell, tento soubor se dá vytvořit pomocí code , vi nebo nano jako při práci 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
    

    Výstup zobrazuje ú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ž je aplikace spuštěná, služba Kubernetes zpřístupňuje 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 --watch argumentem.

kubectl get service azure-vote-front --watch

Výstup externích IP adres pro azure-vote-front službu se zpočátku zobrazí jako čeká na vyřízení.

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

Jakmile se adresa External-IP změní ze stavu čeká 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 ke službě:

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

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

Hlasovací aplikace nasazená ve službě Azure Kubernetes

Zobrazuje metriky stavu uzlů clusteru a lusky zachycené Azure monitor pro kontejnery v Azure Portal.

Odstranění clusteru

Pokud se chcete vyhnout poplatkům za Azure, 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

Při odstranění clusteru se neodebere instanční objekt služby Azure Active Directory používaný clusterem AKS. Postup odebrání instančního objektu najdete v tématu věnovaném aspektům instančního objektu AKS a jeho odstranění.

Pokud jste použili spravovanou identitu, tato identita je spravovaná platformou a nevyžaduje odebrání.

Získání kódu

V tomto rychlém startu se použily již existující image kontejnerů k vytvoření nasazení Kubernetes. Související soubor manifestu Application Code, souboru Dockerfile a Kubernetes jsou k dispozici na GitHub.

Další kroky

V tomto rychlém startu jste nasadili cluster Kubernetes a potom do něj nasadili aplikaci s více kontejnery. Přístup k webovému řídicímu panelu Kubernetes pro váš cluster AKS.

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.