Rövid útmutató: Azure Kubernetes Service üzembe helyezése az Azure CLI használatával

Azure Kubernetes Service (AKS) egy felügyelt Kubernetes-szolgáltatás, amely lehetővé teszi a fürtök gyors üzembe helyezését és kezelését. Ebben a rövid útmutatóban a következőt fogja:

  • AKS-fürt üzembe helyezése az Azure CLI használatával.

  • Többtárolós alkalmazás futtatása webes előtűn és Redis-példányokkal a fürtben.

  • Figyelje az alkalmazást futtató fürt és podok állapotát.

    Voting app deployed in Azure Kubernetes Service

A rövid útmutató feltételezi, hogy rendelkezik a Kubernetes használatára vonatkozó alapvető ismeretekkel. További információ: A Kubernetes alapfogalmai a Azure Kubernetes Service (AKS) számára.

Ha nem rendelkezik Azure-előfizetéssel,hozzon létre egy ingyenes fiókot a kezdés előtt.

További információ a Windows Server-csomópontkészletek létrehozásáról: Kiszolgálói tárolókat támogató AKS-Windows létrehozása.

Előfeltételek

  • Ehhez a cikkhez az Azure CLI 2.0.64-es vagy újabb verziójára van szükség. Ha a Azure Cloud Shell, a legújabb verzió már telepítve van.

  • A fürt létrehozásához használt identitás rendelkezik a megfelelő minimális engedélyekkel. Az AKS-hez való hozzáféréssel és identitással kapcsolatos további információkért lásd: Hozzáférési és identitásbeállítások a Azure Kubernetes Service (AKS) számára.

  • Ellenőrizze, hogy a Microsoft.OperationsManagement és a Microsoft.OperationalInsights regisztrálva van-e az előfizetésében. A regisztráció állapotának ellenőrzése:

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

    Ha nincsenek regisztrálva, regisztrálja a Microsoft.OperationsManagementet és a Microsoft.OperationalInsightsot a következővel:

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

Megjegyzés

Futtassa rendszergazdaként a parancsokat, ha a rövid útmutatóban a parancsokat helyileg, nem pedig az Azure Cloud Shell.

Erőforráscsoport létrehozása

Az Azure-erőforráscsoport olyan logikai csoport, amelyben a rendszer üzembe helyez és kezeli az Azure-erőforrásokat. Amikor létrehoz egy erőforráscsoportot, a rendszer felkéri a hely megadására. Ez a hely a következő:

  • Az erőforráscsoport metaadatainak tárolási helye.
  • Ahol az erőforrások az Azure-ban fognak futni, ha nem ad meg másik régiót az erőforrás létrehozása során.

A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen.

Hozzon létre egy erőforráscsoportot az az group create paranccsal.

az group create --name myResourceGroup --location eastus

A sikeresen létrehozott erőforráscsoport kimenete:

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

AKS-fürt létrehozása

Hozzon létre egy AKS-fürtöt az az aks create paranccsal és az --enable-addons monitorozási paraméterrel a container insights Azure Monitor engedélyezéséhez. Az alábbi példa egy myAKSCluster nevű fürtöt hoz létre egy csomóponttal:

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

Néhány perc múlva befejeződik a parancs, és visszaadja a fürttel kapcsolatos JSON-formátumú információkat.

Megjegyzés

AKS-fürt létrehozásakor a rendszer automatikusan létrehoz egy második erőforráscsoportot az AKS-erőforrások tárolására. További információ: Miért jön létre két erőforráscsoport az AKS-sel?

Csatlakozás a fürthöz

Kubernetes-fürt kezeléséhez használja a Kubernetes kubectl parancssori ügyfelét. kubectl A már telepítve van, ha a Azure Cloud Shell.

  1. Helyi kubectl telepítés az az kubectl

    az aks install-cli
    
  2. Konfigurálja úgy a parancsot, hogy az kubectlkubectl paranccsal csatlakozzon a Kubernetes-fürthöz. A következő parancs:

    • Letölti a hitelesítő adatokat, és konfigurálja a Kubernetes CLI-t azok használatára.
    • A ~/.kube/config~/.kube/configkonfigurációs fájl alapértelmezett helyét használja. Adjon meg egy másik helyet a Kubernetes konfigurációs fájl számára a --file használatával.
    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Ellenőrizze a fürthöz való csatlakozást a kubectl get paranccsal. Ez a parancs a fürtcsomópontok listáját adja vissza.

    kubectl get nodes
    

    A kimenet az előző lépésekben létrehozott egyetlen csomópontot jeleníti meg. Győződjön meg arról, hogy a csomópont Ready (Kész) állapotú:

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

Az alkalmazás futtatása

A Kubernetes-jegyzékfájl határozza meg a fürt célállapotát, például hogy melyik tárolólemezképeket kell futtatni.

Ebben a rövid útmutatóban egy jegyzékfájlt fog használni az Azure Vote alkalmazás futtatásához szükséges összes objektum létrehozásához. Ez a jegyzékfájl két Kubernetes-üzemelő példányból áll:

  • Az Azure Vote Python-mintaalkalmazások.
  • Egy Redis-példány.

Két Kubernetes-szolgáltatás is létrejön:

  • Belső szolgáltatás a Redis-példányhoz.
  • Egy külső szolgáltatás, amely az internetről fér hozzá az Azure Vote alkalmazáshoz.
  1. Hozzon létre egy azure-vote.yaml nevű fájlt.

    • Ha a Azure Cloud Shell, ez a fájl a használatával, vagy virtuális vagy fizikai rendszeren codevi való nano munkavégzéshez használható
  2. Másolja be a következő YAML-definíciót:

    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. Telepítse az alkalmazást a kubectl apply paranccsal, és adja meg a YAML-jegyzék nevét:

    kubectl apply -f azure-vote.yaml
    

    A kimenet a sikeresen létrehozott üzemelő példányokat és szolgáltatásokat jeleníti meg:

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

Az alkalmazás tesztelése

Az alkalmazás futtatásakor a Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtere számára az internetet. A folyamat eltarthat pár percig.

A folyamat előrehaladásának figyelése a kubectl get service paranccsal és a argumentummal.

kubectl get service azure-vote-front --watch

A szolgáltatás EXTERNAL-IP kimenete kezdetben függőben lesz.

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

Miután az EXTERNAL-IP cím függőben értékről tényleges nyilvános IP-címre változik, a használatával állítsa le a figyelés folyamatát. Az alábbi példakimenet egy érvényes, a szolgáltatáshoz rendelt nyilvános IP-címet mutat be:

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

Az Azure Vote alkalmazás használatban való megnyitásához nyisson meg egy webböngészőt a szolgáltatás külső IP-címéhez.

Voting app deployed in Azure Kubernetes Service

Megtekintheti a fürtcsomópontok és podok állapotmetrikákat, amelyek a Azure Monitor tárolóelemzései által Azure Portal.

A fürt törlése

Az Azure-díjak elkerülése érdekében felesleges erőforrásokat kell megtisztítani. Az az group delete paranccsal eltávolíthatja az erőforráscsoportot, a tárolószolgáltatást és az összes kapcsolódó erőforrást.

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

Megjegyzés

Ha az AKS-fürtöt rendszer által hozzárendelt felügyelt identitással hozták létre (a rövid útmutatóban használt alapértelmezett identitásbeállítással), az identitást a platform kezeli, és nem igényel eltávolítást.

Ha az AKS-fürt identitási beállításként szolgáltatásnévvel lett létrehozva, akkor a fürt törlésekor az AKS-fürt által használt szolgáltatásnév nem törlődik. A szolgáltatásnév eltávolításának lépéseiért lásd az AKS-szolgáltatásnevekre vonatkozó szempontokat és a szolgáltatásnevek törlését ismertető cikket.

A kód letöltése

Ebben a rövid útmutatóban egy már meglévő tároló rendszerképeket használtunk egy Kubernetes-példány létrehozásához. A kapcsolódó alkalmazáskód, Docker-fájl és Kubernetes-jegyzékfájl elérhető a GitHub.

Következő lépések

Ebben a rövid útmutatóban üzembe helyezett egy Kubernetes-fürtöt, majd egy többtárolós alkalmazást.

Az AKS-sel kapcsolatos további információkért és a kódtól az üzembe helyezésig terjedő teljes útmutatóért folytassa a Kubernetes-fürtöket bemutató oktatóanyaggal.