Rychlý start: Nasazení clusteru Azure Kubernetes Service (AKS) pomocí Azure Portal

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 Portal.
  • Spusťte vícekon kontejnerovou aplikaci s webovým front-endem a instancí Redis v clusteru.
  • Monitorujte stav clusteru a podů, na které běží vaše aplikace.

Obrázek přechodu na ukázkovou aplikaci Azure Vote

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 napřed bezplatný účet.

Požadavky

Přihlaste se k webu Azure Portal na adrese https://portal.azure.com.

Vytvoření clusteru AKS

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Create a resource (Vytvořit prostředek).

  2. Vyberte Containers (Kontejnery) > Kubernetes Service.

  3. Na kartě Basics (Základy) nakonfigurujte následující možnosti:

    • Project podrobnosti:
      • Vyberte předplatné Azure.
      • Vyberte nebo vytvořte skupinu prostředků Azure, například myResourceGroup.
    • Podrobnosti o clusteru:
      • Ujistěte se, že přednastavená konfigurace je Standard ($$). Další podrobnosti o přednastavených konfiguracích najdete v tématu Přednastavení konfiguraceclusteru v Azure Portal .
      • Zadejte Název clusteru Kubernetes, například myAKSCluster.
      • Vyberte oblast a verzi Kubernetes pro cluster AKS.
    • Primární fond uzlů:
      • Ponechte vybrané výchozí hodnoty.

    Vytvoření clusteru AKS – zadání základních informací

    Poznámka

    Přednastavenou konfiguraci můžete při vytváření clusteru změnit tak, že Zobrazit vše přednastavené konfigurace a zvolíte jinou možnost. Vytvoření clusteru AKS – možnosti přednastavení portálu

  4. Po dokončení vyberte Další: Fondy uzlů.

  5. Podržte výchozí možnosti fondů uzlů. V dolní části obrazovky klikněte na Další: Ověřování.

    Upozornění

    Rozšíření nově vytvořených instančních objektů Azure AD může trvat několik minut, což způsobuje chyby "Instanční objekt se nenašel" a chyby ověřování v Azure Portal. Pokud se vám to podaří, navštivte prosím náš článek o řešení potíží, který vám umožní zmírnit potíže.

  6. Na kartě Authentication (Ověřování) nakonfigurujte následující možnosti:

    • Vytvořte novou identitu clusteru pomocí:
      • Ponechání pole Ověřování se spravovanou identitou s přidruženou systémem nebo
      • Výběr objektu služby pro použití objektu služby
        • Výběrem (nového) výchozího objektu služby vytvořte výchozí objekt služby, nebo
        • Vyberte Configure service principal to use an existing one (Nakonfigurovat objekt služby tak, aby se používá existující). Budete muset zadat ID a tajný kód klienta SPN stávajícího objektu zabezpečení.
    • Povolením možnosti řízení přístupu na základě role Kubernetes (Kubernetes RBAC) zajistíte přesnější kontrolu nad přístupem k prostředkům Kubernetes nasazených ve vašem clusteru AKS.

    Ve výchozím nastavení se používají základní sítě a Azure Monitor pro kontejnery povolená.

  7. Klikněte na Review + create (Zkontrolovat a vytvořit) a po dokončení ověření na Create (Vytvořit).

  8. Vytvoření clusteru AKS bude trvat několik minut. Po dokončení nasazení přejděte k prostředku pomocí jedné z těchto možností:

    • Kliknutím na Přejít k prostředku nebo

    • Procházení skupiny prostředků clusteru AKS a výběr prostředku AKS

      • Podle následujícího příkladu řídicího panelu clusteru: procházení skupiny prostředků myResourceGroup a výběr prostředku myAKSCluster.

      Příklad řídicího panelu AKS na webu Azure Portal

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. Otevřete Cloud Shell >_ pomocí tlačítka v horní části Azure Portal.

    Portál s otevřenou službou Azure Cloud Shell

    Poznámka

    Provedení těchto operací v instalaci místního prostředí:

    1. Ověřte, že je azure CLI nainstalované.
    2. Připojení do Azure prostřednictvím az login příkazu .
  2. Pomocí kubectl příkazu az aks get-credentials nakonfigurujte 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 bylo možné používat.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Ověřte připojení ke clusteru pomocí příkazu , abyste vrátili seznam kubectl get uzlů clusteru.

    kubectl get nodes
    

    Výstup zobrazuje jeden uzel vytvořený v předchozích krocích. Ujistěte se, že je stav uzlu Připraveno:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-12345678-vmss000000   Ready    agent   23m   v1.19.11
    aks-agentpool-12345678-vmss000001   Ready    agent   24m   v1.19.11
    

Spuštění aplikace

Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například to, 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 Azure Vote. Tento manifest zahrnuje dvě nasazení Kubernetes:

  • Ukázkové aplikace Azure Vote v Pythonu.
  • 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. V Cloud Shell pomocí editoru vytvořte soubor s názvem azure-vote.yaml , například:

    • code azure-vote.yaml
    • nano azure-vote.yamlNebo
    • vi azure-vote.yaml.
  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í kubectl apply příkazu a zadejte název manifestu YAML:

    kubectl apply -f azure-vote.yaml
    

    Výstup ukazuje ú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

Při spuštění aplikace služba Kubernetes zpřístupní front-end aplikace na internetu. Dokončení tohoto procesu může trvat několik minut.

Pokud chcete sledovat průběh, kubectl get service použijte příkaz s --watch argumentem .

kubectl get service azure-vote-front --watch

Výstup EXTERNAL-IP pro službu se zpočátku zobrazí azure-vote-front 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 čekající na skutečnou veřejnou IP adresu, pomocí CTRL-C zastavte proces kubectl 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 vidět aplikaci Azure Vote v akci, otevřete webový prohlížeč s externí IP adresou vaší služby.

Obrázek přechodu na ukázkovou aplikaci Azure Vote

Monitorování stavu a protokolů

Při vytváření clusteru se Azure Monitor pro kontejnery. Azure Monitor pro kontejnery poskytuje metriky stavu pro cluster AKS i pody spuštěné v clusteru.

Naplnění dat metriky v Azure Portal. Pokud chcete zobrazit aktuální stav, dobu provozu a využití prostředků pro pody Azure Vote:

  1. Přejděte zpět k prostředku AKS v Azure Portal.
  2. V části Monitorování na levé straně zvolte Přehledy.
  3. V horní části zvolte + Přidat filtr.
  4. Jako vlastnost vyberte Obor názvů a pak zvolte <All but kube-system> .
  5. Vyberte Kontejnery a zobrazte je.

Zobrazí azure-vote-back azure-vote-front se kontejnery a , jak je znázorněno v následujícím příkladu:

Zobrazení stavu spuštěných kontejnerů v AKS

Pokud chcete zobrazit protokoly pro pod, v horní části nabídky azure-vote-front vyberte Zobrazit v azure-vote-front Log Analytics| Oblast Přehled na pravé straně. Tyto protokoly obsahují streamy výstupů stdout a stderr z kontejneru.

Zobrazení protokolů kontejneru v AKS

Odstranění clusteru

Pokud se chcete vyhnout poplatkům za Azure, vyčistěte nepotřebné prostředky. Na řídicím panelu clusteru AKS vyberte tlačítko Odstranit. Můžete také použít příkaz az aks delete v Cloud Shell:

az aks delete --resource-group myResourceGroup --name myAKSCluster --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, je identita spravovaná platformou a nevyžaduje odebrání.

Získání kódu

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

Další kroky

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

Další informace o AKS najdete na úplném příkladu, včetně sestavení aplikace, nasazení z Azure Container Registry, aktualizace spuštěné aplikace a škálování a upgradu clusteru. Pokračujte kurzem ke clusteru Kubernetes.