Gyakorlat – Fejlesztési környezet beállítása az AKS-sel

Befejeződött

A példaforgatókönyvben a csapatnak egy tárolórendszerképet kell üzembe helyeznie az Azure Container Registryből az AKS-ben.

Ebben a leckében a következőket teheti meg:

  • Csatlakozás az AKS Kubernetes-fürthöz az Azure Cloud Shell kubectl használatával.
  • Konfiguráljon egy üzembehelyezési jegyzékfájlt az express.js-tárolóhoz.
  • Helyezze üzembe a tárolórendszerképet a tárolóregisztrációs adatbázisból az AKS Kubernetes-fürtön.
  • Application Gateway engedélyezése a fürthöz.
  • Tekintse át és telepítse a szolgáltatásjegyzékfájlt.

Megjegyzés:

Ha kilép az Azure Cloud Shell lapról, újra kell alkalmaznia a következő parancsokat, vagy meg kell adnia az egyes lépések erőforrásneveit.

```azurecli-interactive
# Environment variable for the registry name
REGISTRYNAME={registry_name}

# Environment variable for the resource group name
RESOURCEGROUP={resource-group-name}

# Environment variable for the cluster name
CLUSTERNAME={cluster-name}
```

Csatlakozás a fürthöz a kubectl használatával

  1. Lépjen az Azure Cloud Shellre, és konfigurálja kubectl a Kubernetes-fürthöz való csatlakozást a az aks get-credentials paranccsal.

    az aks get-credentials --resource-group $RESOURCEGROUP --name $CLUSTERNAME
    
  2. Ellenőrizze a fürthöz való kapcsolatot a kubectl get nodes parancs használatával, amely a fürtcsomópontok listáját adja vissza.

    kubectl get nodes
    
  3. Kérje le a ACR login server nevét a az acr list parancs használatával.

    az acr list --resource-group $RESOURCEGROUP --query "[].{acrLoginServer:loginServer}" --output table
    

Tároló üzembe helyezése az AKS-ben

  1. Módosítsa a könyvtárakat a aks forráskód mappájába.

    cd mslearn-cloud-native-apps-express/aks
    
  2. Nyissa meg az integrált szerkesztőt a Cloud Shellben a code .

  3. Nyissa meg a fájlt a deployment.yaml konfiguráció áttekintéséhez. Tartalmazza az express.js-tároló AKS-ben való üzembe helyezésére vonatkozó utasításokat.

    # deployment.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cna-express
    spec:
      selector: # Define the wrapping strategy
        matchLabels: # Match all pods with the defined labels
          app: cna-express # Labels follow the `name: value` template
      template: # This is the template of the pod inside the deployment
        metadata:
          labels:
            app: cna-express
        spec:
          containers:
            - image: <AcrLoginServer>/expressimage # Add your ACR login server from step 3 here
              name: expressimage
              ports:
                - containerPort: 80
    
  4. deployment.yamlA területen cserélje le <AcrLoginServer> az ACR bejelentkezési kiszolgáló nevét. Győződjön meg arról, hogy a /expressimage sor végén hagyja el a vonalat.

  5. Mentse a jegyzékfájlt a CTRL S billentyűkombinációval + , és zárja be a szerkesztőt a CTRL Q billentyűkombinációval. +

A jegyzékfájl alkalmazása

  1. Küldje el az üzembehelyezési jegyzékfájlt a fürtnek a kubectl apply parancs használatával.

    kubectl apply -f ./deployment.yaml
    

    A parancs kimenete a következő példához hasonlót eredményez:

    deployment.apps/cna-express created
    
  2. Ellenőrizze, hogy az üzembe helyezés sikeres volt-e a kubectl get deploy parancs használatával.

    kubectl get deploy cna-express
    

    A parancsnak az alábbi példához hasonló táblát kell kihoznia:

    NAME              READY   UP-TO-DATE   AVAILABLE   AGE
    cna-express       0/1     1            0           16s
    
  3. Ellenőrizze, hogy a pod fut-e a kubectl get pods paranccsal.

    kubectl get pods
    

    A parancsnak az alábbi példához hasonló táblát kell kihoznia:

    NAME                               READY   STATUS    RESTARTS   AGE
    cna-express-7c58c5f699-r79mv       1/1     Running   0          63s
    

Az Application Gateway engedélyezése a fürthöz

A Kubernetes-fürtök teljes üzembe helyezése és elérése eltarthat egy ideig. Időt takaríthat meg, ha most engedélyezi az Application Gatewayt a fürt számára, mivel akár 15 percet is igénybe vehet a teljes működés.

  1. Lépjen az Azure Portalra , és válassza ki az AKS-fürtöt.

  2. A Gépház területen válassza a Hálózatkezelés lehetőséget.

  3. A Forgalom útválasztása csoportban jelölje be a HTTP-alkalmazások útválasztásának engedélyezése jelölőnégyzetet.

  4. Az Application Gateway bejövőforgalom-vezérlése alatt jelölje be a Bejövő forgalom vezérlő engedélyezése jelölőnégyzetet.

  5. Select Apply.

A szolgáltatásjegyzék áttekintése

  1. Lépjen az Azure Cloud Shellre , és győződjön meg arról, hogy a aks mappában van.

  2. Nyissa meg az integrált szerkesztőt a Cloud Shellben a következő használatával code .: .

  3. Nyissa meg a fájlt a service.yaml konfiguráció áttekintéséhez. Nem kell szerkesztenie semmit, csak vegye figyelembe, hogy a szolgáltatás cna-expressnevét fogjuk adni.

    # service.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: cna-express
    spec:
      type: ClusterIP
      selector:
        app: cna-express
      ports:
        - port: 80 # SERVICE exposed port
          name: http # SERVICE port name
          protocol: TCP # The protocol the SERVICE will listen to
          targetPort: 4000
    
  4. Zárja be a szerkesztőt a CTRL Q billentyűkombinációval. +

A szolgáltatás üzembe helyezése

  1. Küldje el a szolgáltatásjegyzéket a fürtnek a kubectl apply paranccsal.

    kubectl apply -f ./service.yaml
    

    A parancs kimenete a következő példához hasonlót eredményez:

    service/cna-express created
    
  2. Ellenőrizze, hogy az üzembe helyezés sikeres volt-e a kubectl get service parancs használatával.

    kubectl get service cna-express
    

    A parancs kimenete a következő példához hasonlót eredményez. Győződjön meg arról, hogy az oszlop CLUSTER-IP ip-címmel van kitöltve, az oszlop EXTERNAL-IP<none>pedig 80/TCPPORT(S) az .

    NAME              TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
    cna-express       ClusterIP   10.0.158.189   <none>        80/TCP    42s
    

    Ha a külső IP-cím <none> értékre van állítva, az alkalmazás nem érhető el a külső ügyfelek számára. A szolgáltatás csak a belső fürt számára érhető el. A bejövőforgalom-vezérlő ezt módosítja.