Megosztás a következőn keresztül:


Kubernetes-fürtök létrehozása az Azure CLI használatával

A következőkre vonatkozik: Azure Local, 23H2-es verzió

Ez a cikk azt ismerteti, hogyan hozhat létre Kubernetes-fürtöket az Azure Local-ban az Azure CLI használatával. A munkafolyamat a következő:

  1. Hozzon létre egy Kubernetes-fürtöt az Azure Local 23H2-es verziójában az Azure CLI használatával. A fürt alapértelmezés szerint Azure Arc-kapcsolattal rendelkezik.
  2. A fürt létrehozásakor meg kell adnia egy Microsoft Entra-csoportot, amely tartalmazza a Kubernetes-fürt rendszergazdai hozzáféréssel rendelkező Microsoft Entra-felhasználók listáját.
  3. A fürt elérése a kubectl és a Microsoft Entra-azonosító használatával.
  4. Futtasson egy többtárolós mintaalkalmazást egy webes előtérrel és egy Redis-példánnyal a fürtben.

Mielőtt elkezdené

  • Mielőtt hozzákezdene, győződjön meg arról, hogy a helyszíni infrastruktúra rendszergazdájától a következő adatokkal rendelkezik:
    • Azure-előfizetés azonosítója – Az Azure-előfizetés azonosítója, ahol az Azure Local az üzembe helyezéshez és a regisztrációhoz használatos.
    • Egyéni helyazonosító – Az egyéni hely Azure Resource Manager-azonosítója. Az egyéni hely az Azure Local fürt üzembe helyezése során van konfigurálva. Az infrastruktúra rendszergazdájának meg kell adnia az egyéni hely Resource Manager-azonosítóját. Ez a paraméter a Kubernetes-fürtök létrehozásához szükséges. A Resource Manager-azonosítót az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsvakkor is lekérheti, ha az infrastruktúra-rendszergazda egyéni helynevet és erőforráscsoportnevet ad meg.
    • Hálózati azonosító – Az Alábbi lépések végrehajtásával létrehozott Azure Local logikai hálózat Azure Resource Manager-azonosítója. A rendszergazdának meg kell adnia a logikai hálózat azonosítóját. Ez a paraméter a Kubernetes-fürtök létrehozásához szükséges. Az Azure Resource Manager-azonosítót az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv akkor is lekérheti, ha ismeri azt az erőforráscsoportot, amelyben a logikai hálózat létrejött.
  • Az ebben a cikkben ismertetett lépéseket egy helyi fejlesztőgépen futtatva létrehozhat egy Kubernetes-fürtöt a távoli Azure Local-környezetben. Győződjön meg arról, hogy a fejlesztői gépen az Az CLI legújabb verziója található. Az Az CLI-verzió frissítését is választhatja a következővel az upgrade: .
  • Ha bárhonnan csatlakozni szeretne a Kubernetes-fürthöz, hozzon létre egy Microsoft Entra-csoportot, és adjon hozzá tagokat. A Microsoft Entra csoport összes tagja fürtadminisztrátori hozzáféréssel rendelkezik a fürthöz. Mindenképpen vegye fel magát tagként a Microsoft Entra csoportba. Ha nem adja hozzá magát, nem férhet hozzá a Kubernetes-fürthöz a kubectl használatával. További információ a Microsoft Entra-csoportok létrehozásáról és a felhasználók hozzáadásáról: Microsoft Entra-csoportok és csoporttagság kezelése.
  • Töltse le és telepítse a kubectl-et a fejlesztőgépre. A Kubernetes parancssori eszköze, a kubectl lehetővé teszi, hogy parancsokat futtasson a Kubernetes-fürtökön. A kubectl használatával alkalmazásokat helyezhet üzembe, megvizsgálhatja és kezelheti a fürterőforrásokat, és megtekintheti a naplókat.

Az Azure CLI-bővítmény telepítése

Futtassa a következő parancsot a szükséges Azure CLI-bővítmények telepítéséhez:

az extension add -n aksarc --upgrade
az extension add -n customlocation --upgrade
az extension add -n stack-hci-vm --upgrade
az extension add -n connectedk8s --upgrade

Kubernetes-fürt létrehozása

az aksarc create A parancs használatával hozzon létre egy Kubernetes-fürtöt az AKS Arcban. A parancs futtatása előtt győződjön meg arról, hogy bejelentkezik az Azure-ba. Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót az az account set paranccsal.

az aksarc create -n $aksclustername -g $resource_group --custom-location $customlocationID --vnet-ids $logicnetId --aad-admin-group-object-ids $aadgroupID --generate-ssh-keys 

Néhány perc elteltével a parancs befejeződik, és JSON formátumú információkat ad vissza a fürtről.

Feljegyzés

  • Az SSH-kulcs értéke a kiépített fürt csomópontjaihoz való hozzáférés nyilvános kulcsa. Ez a kulcs alapértelmezés szerint a következő helyen ~/.ssh/id_rsa.pubtalálható: . A fürt létrehozása során a paraméterrel --ssh-key-value megadhat egy másik helyet.
  • A --generate-ssh-keys paraméterre akkor van szükség, ha nincs már meglévő SSH-kulcs a helyi gépen. Ha nem adja meg ezt a paramétert a fürt létrehozásakor, és nem létezik SSH-kulcs, hibaüzenet jelenik meg.
  • Ha már rendelkezik SSH-kulccsal a helyi gépen, az AKS-fürt újra felhasználja ezt a kulcsot. Ebben az esetben a paraméter megadása --generate-ssh-keysvagy kihagyása nincs hatással.

Fontos

Ha Azure RBAC-t vagy számítási feladat identitását szeretné használni egy AKS-fürthöz, meg kell adnia a szükséges paramétereket a fürt létrehozása során az Azure CLI használatával. Jelenleg nem támogatott a meglévő AKS-fürt frissítése a számítási feladatok identitásának és/vagy az Azure RBAC engedélyezéséhez. További információ: Az Azure RBAC használata a Kubernetes-engedélyezéshez vagy a számítási feladatok identitásának üzembe helyezése és konfigurálása a fürthöz.

Csatlakozás a Kubernetes-fürthöz

Most már csatlakozhat a Kubernetes-fürthöz a az connectedk8s proxy fejlesztői gépről futtatott parancs futtatásával. A parancs futtatása előtt győződjön meg arról, hogy bejelentkezik az Azure-ba. Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót az az account set paranccsal.

Ez a parancs letölti a Kubernetes-fürt kubeconfigját a fejlesztői gépre, és megnyitja a helyszíni Kubernetes-fürt proxykapcsolati csatornáját. A csatorna addig van nyitva, amíg a parancs fut. Addig futtassa ezt a parancsot, amíg hozzá szeretne férni a fürthöz. Ha túllépi az időkorlátot, zárja be a parancssori felület ablakát, nyisson meg egy újat, majd futtassa újra a parancsot.

A következő parancs sikeres futtatásához közreműködői engedélyekkel kell rendelkeznie a Kubernetes-fürtöt üzemeltető erőforráscsoporton:

az connectedk8s proxy --name $aksclustername --resource-group $resource_group --file .\aks-arc-kube-config

Várt kimenet:

Proxy is listening on port 47011
Merged "aks-workload" as current context in .\\aks-arc-kube-config
Start sending kubectl requests on 'aks-workload' context using
kubeconfig at .\\aks-arc-kube-config
Press Ctrl+C to close proxy.

Futtassa ezt a munkamenetet, és csatlakozzon a Kubernetes-fürthöz egy másik terminálról vagy parancssorból. Ellenőrizze, hogy tud-e csatlakozni a Kubernetes-fürthöz a kubectl get parancs futtatásával. Ez a parancs a fürtcsomópontok listáját adja vissza:

kubectl get node -A --kubeconfig .\aks-arc-kube-config

Az alábbi kimeneti példa az előző lépésekben létrehozott csomópontot mutatja be. Győződjön meg arról, hogy a csomópont állapota kész:

NAME             STATUS ROLES                AGE VERSION
moc-l0ttdmaioew  Ready  control-plane,master 34m v1.24.11
moc-ls38tngowsl  Ready  <none>               32m v1.24.11

Az alkalmazás üzembe helyezése

A Kubernetes-jegyzékfájl meghatározza a fürt kívánt állapotát, például hogy mely tárolólemezképeket kell futtatni.

A jegyzék használatával létrehozhatja az Azure Vote alkalmazás futtatásához szükséges összes objektumot. Ez a jegyzék két Kubernetes-üzembe helyezést tartalmaz:

  • A minta Azure Vote Python-alkalmazások.
  • Egy Redis-példány.

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

  • A Redis-példány belső szolgáltatása.
  • Egy külső szolgáltatás, amely az Azure Vote-alkalmazást az internetről éri el.

Hozzon létre egy azure-vote.yaml nevű fájlt, és másolja a következő jegyzékbe:

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: <path to image>/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: <path to image>/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

Telepítse az alkalmazást a kubectl Apply paranccsal, és adja meg a YAML nevét:

kubectl apply -f azure-vote.yaml --kubeconfig .\\aks-arc-kube-config

Az alábbi példakimenet a sikeresen létrehozott üzembe helyezéseket és szolgáltatásokat mutatja be:

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 egy Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtérét az interneten. A folyamat eltarthat pár percig.

Figyelje a folyamatot a kubectl get service paranccsal az --watch argumentummal.

kubectl get service azure-vote-front --watch --kubeconfig .\aks-arc-kube-config

Az azure-vote-front szolgáltatás külső IP-kimenete kezdetben függőben van.

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

Ha a külső IP-cím függőben lévőről tényleges nyilvános IP-címre változik, a CTRL-C billentyűkombinációval állítsa le a kubectl watch folyamatot. Az alábbi példakimenet a szolgáltatáshoz rendelt érvényes nyilvános IP-címet jeleníti meg:

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

Az Azure Vote alkalmazás működés közbeni megtekintéséhez nyisson meg egy webböngészőt a szolgáltatás külső IP-címére.

A fürt törlése

Futtassa a parancsot a az aksarc delete létrehozott fürt törléséhez:

az aksarc delete --resource-group $aksclustername --name $resource_group

Következő lépések