Gyakorlat – Az Azure DevOps-környezet beállítása

Befejeződött

Ebben a szakaszban úgy konfigurálja az Azure DevOps-szervezetet, hogy folytassa a modul többi részét, és hozzon létre egy Azure Kubernetes Service-környezetet (AKS) az alkalmazás üzembe helyezéséhez.

E célok elérése érdekében a következőkre lesz szüksége:

  • Adjon hozzá egy felhasználót az Azure DevOps-szervezethez.
  • Állítsa be az Azure DevOps-projektet.
  • A munkafolyamat kezelése az Azure Boards használatával.
  • Azure-erőforrások létrehozása az Azure CLI használatával.
  • Folyamatváltozók létrehozása az Azure Pipelinesban.
  • Szolgáltatáskapcsolat létrehozása az Azure-ral való hitelesítéshez.
  • Frissítse a Kubernetes üzembehelyezési jegyzékét.

Felhasználó hozzáadása a szervezethez

A modul elvégzéséhez Azure-előfizetésre van szükség. Ingyenesen használhatja az Azure-t.

Bár nem szükséges az Azure DevOps használatához, azure-előfizetésre van szükség az Azure-erőforrások Azure DevOpson keresztüli üzembe helyezéséhez. A folyamat egyszerűbbé tétele érdekében ugyanazzal a Microsoft-fiókkal jelentkezzen be az Azure-előfizetésbe és az Azure DevOps-szervezetbe is.

Ha különböző Microsoft-fiókokkal jelentkezik be az Azure-ba és az Azure DevOpsba, továbbra is hozzáadhat egy felhasználót a DevOps-szervezethez az Azure-előfizetéséhez társított Microsoft-fiók alatt. További részletekért lásd: Felhasználók hozzáadása a szervezethez vagy projekthez . A felhasználó hozzáadásakor válassza az Alapszintű hozzáférési szintet.

Miután hozzáadta a felhasználót alapszintű hozzáférési szinttel, jelentkezzen ki az Azure DevOpsból, és jelentkezzen be újra az Azure-előfizetéséhez társított Microsoft-fiókkal.

Az Azure DevOps-projekt lekérése

Ebben a szakaszban egy sablont futtat, amely létrehozza a projektet az Azure DevOpsban.

A sablon futtatása

Futtassa a sablont az Azure DevOps-projekt beállításához ehhez a modulhoz:

Az Azure DevOps Demo Generator portálon az alábbi lépéseket követve futtassa a sablont:

  1. Válassza a Bejelentkezés lehetőséget, és fogadja el a használati feltételeket.

  2. Az Új projekt létrehozása lapon válassza ki az Azure DevOps-szervezetet, és adjon meg egy projektnevet, például a Space Game – web – Kubernetes nevet.

    Screenshot of the Azure DevOps Demo Generator showing the process to create the project.

  3. Válassza az Igen lehetőséget, el szeretném elágaztetni ezt az adattárat, majd engedélyezni. Ha előugrik egy ablak, adjon engedélyt a GitHub-fiók elérésére.

    Fontos

    Ha ezt a lehetőséget választja, a sablonnak csatlakoznia kell a GitHub-adattárhoz. Akkor is válassza ki, ha már elágazott a Space Game-adattár , mivel a sablon a meglévő elágazását fogja használni.

  4. Válassza a Projekt létrehozása lehetőséget, és várja meg, amíg a sablon fut, ami eltarthat néhány percig.

  5. Válassza a Navigálás a projekthez lehetőséget a projekthez való hozzáféréshez az Azure DevOpsban.

Fontos

Ebben a modulban az Azure DevOps-környezet megtisztítása egység alapvető lépéseket tartalmaz a törléshez. Ezeket a lépéseket ajánlott elvégezni, hogy ne fogyjon el az ingyenes buildelési percek száma. Még ha nem is fejezi be ezt a modult, fontos, hogy kövesse a törlési lépéseket.

A projekt láthatóságának beállítása

Kezdetben a GitHubon a Space Game-adattár elágazása nyilvánosra van állítva, míg az Azure DevOps-sablon által létrehozott projekt privátra van állítva. A GitHub nyilvános adattárát bárki elérheti, míg egy privát adattár csak Ön és az Ön által megosztott személyek számára érhető el. Hasonlóképpen, az Azure DevOpsban a nyilvános projektek írásvédett hozzáférést biztosítanak a nem hitelesített felhasználók számára, míg a privát projektekhez hozzáférést és hitelesítést kell biztosítani a felhasználóknak a szolgáltatások eléréséhez.

Jelenleg nem szükséges ezen beállítások egyikét sem módosítani a modul céljaira. Személyes projektjei esetében azonban meg kell határoznia, hogy milyen láthatóságot és hozzáférést kíván biztosítani másoknak. Ha például a projekt nyílt forráskód, dönthet úgy, hogy a GitHub-adattárat és az Azure DevOps-projektet is nyilvánossá teszi. Ha a projekt védett, általában a GitHub-adattárat és az Azure DevOps-projektet is magánjellegűvé tenné.

Később a következő erőforrásokat hasznosnak találhatja annak meghatározásához, hogy melyik lehetőség a legjobb a projekt számára:

A munkaelem áthelyezése Doing (Folyamatban) állapotba

Ebben a lépésben saját magának rendel hozzá egy munkaelemet az Azure Boardsban, és áthelyezi a Feladat állapotba. Valós helyzetekben Ön és csapata az egyes futamok vagy munka iterációk elején hozna létre munkaelemeket.

A munkaelemek hozzárendelése egy ellenőrzőlistát biztosít, amelyből dolgozhat, és más csapattagok számára is átláthatóvá teszi az előrehaladást és a hátralévő munkát. Emellett segít kikényszeríteni a folyamatban lévő munka (WIP) korlátait, hogy a csapat egyszerre ne vállaljon túl sok munkát.

  1. Navigáljon az Azure DevOps tábláihoz , majd válassza a Táblák lehetőséget a menüből.

    Screenshot of Azure DevOps showing the location of the Boards menu.

  2. Rendelje hozzá saját magához a Kubernetes-munkaelemekkel vezényelt webhely többtárolós verziójának létrehozását a kártya alján található lefelé mutató nyíl kiválasztásával.

    Screenshot of Azure Boards showing the location of the down arrow.

  3. Húzza a munkaelemet a Teendő oszlopból a Feladat oszlopba. A modul befejezése után áthelyezi a feladatot a Kész oszlopba.

    Screenshot of Azure Boards showing the card in the Doing column.

Az Azure Kubernetes Service-környezet létrehozása

Ebben a lépésben hozza létre a szükséges Azure Kubernetes Service-erőforrásokat a webhely új tárolóverziójának üzembe helyezéséhez.

Az előző modulban egy kiadási folyamat létrehozása az Azure Pipelines használatával, az Azure Portal használatával hozta létre az Azure-erőforrásokat. Bár a portál hasznos az Azure képességeinek megismeréséhez és az alapvető feladatok elvégzéséhez, az olyan összetevők létrehozása, mint az Azure Kubernetes Service, időigényes folyamat lehet.

Ebben a modulban az Azure CLI használatával hozza létre az alkalmazás Azure Kubernetes Service-ben való üzembe helyezéséhez és futtatásához szükséges erőforrásokat. Az Azure CLI egy terminálról vagy a Visual Studio Code-on keresztül érhető el. Ebben a modulban azonban az Azure CLI-t az Azure Cloud Shellből érheti el. A Cloud Shell a felhőben üzemeltetett böngészőalapú rendszerhéj-felület, amely előre konfigurálva van az Azure CLI-vel az Azure-előfizetéshez való használatra.

Fontos

A modul gyakorlatainak elvégzéséhez saját Azure-előfizetésre van szüksége.

A Cloud Shell indítása

  1. Lépjen az Azure Portalra, és jelentkezzen be.

  2. Válassza a Cloud Shell lehetőséget a menüből, majd válassza ki a Bash-felületet , amikor a rendszer kéri.

    Screenshot of the Azure portal showing the location of the Cloud Shell menu item.

Feljegyzés

A Cloud Shellhez egy Azure Storage-erőforrás szükséges a Cloud Shellben létrehozott fájlok megőrzéséhez. A Cloud Shell első megnyitásakor a rendszer kérni fogja, hogy hozzon létre egy erőforráscsoportot, tárfiókot és Azure Files-megosztást. Ezt a beállítást a rendszer automatikusan használja az összes jövőbeli Cloud Shell-munkamenethez.

Azure-régió kiválasztása

A régió egy vagy több, földrajzi területen található Azure-adatközpontra utal. Ilyen területek például az USA keleti régiója, az USA nyugati régiója és Észak-Európa. Minden Azure-erőforrás, beleértve az App Service-példányt is, egy régióhoz van társítva.

A parancsok végrehajtásának leegyszerűsítéséhez először állítsunk be egy alapértelmezett régiót. Az alapértelmezett régió beállítása után a következő parancsok alapértelmezés szerint ezt a régiót használják, hacsak nem ad meg explicit módon egy másik régiót.

  1. A Cloud Shellben futtassa a következő parancsot az Azure-előfizetésben elérhető régiók listázásához:

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. Válasszon ki egy régiót a kimenet Név oszlopából, amely földrajzilag közel van Önhöz. Választhatja például az eastasia vagy a westus2 lehetőséget.

  3. Futtassa az alábbi parancsot az alapértelmezett régió beállításához. Cserélje le a RÉGIÓt a korábban kiválasztott régió nevére.

    az configure --defaults location=<REGION>
    

    Ez a példa alapértelmezett régióként van beállítva westus2 .

    az configure --defaults location=westus2
    

Bash-változók létrehozása

A Bash-változók használatával a beállítási folyamat kényelmesebb és kevésbé hibalehetőséget biztosít. Ez a megközelítés segít elkerülni a véletlen elírásokat, ha a megosztott szöveges sztringeket változóként definiálja, amelyek a szkriptben használhatók.

  1. A Cloud Shellből hozzon létre egy véletlenszerű számot, hogy leegyszerűsítse bizonyos szolgáltatások globálisan egyedi nevének létrehozását a következő lépésben.

    resourceSuffix=$RANDOM
    
  2. Globálisan egyedi neveket hozhat létre az Azure Container Registry és az Azure Kubernetes Service-példány számára. Vegye figyelembe, hogy ezek a parancsok dupla idézőjeleket használnak, amelyek arra utasítják a Basht, hogy interpolálja a változókat a beágyazott szintaxis használatával.

    registryName="tailspinspacegame${resourceSuffix}"
    aksName="tailspinspacegame-${resourceSuffix}"
    
  3. Hozzon létre egy másik Bash-változót az erőforráscsoport nevének tárolásához.

    rgName='tailspin-space-game-rg'
    
  4. Keresse meg a legújabb AKS-verziót.

    az aks get-versions
    

    Jegyezze fel a legújabb verziót.

Azure-erőforrások létrehozása

Feljegyzés

Ebben az oktatóanyagban az alapértelmezett hálózati beállításokat a rendszer tanulási célokra használja. Ezek a beállítások lehetővé teszik a webhely internetről való elérését. A gyakorlatban azonban úgy is dönthet, hogy olyan Azure-beli virtuális hálózatot konfigurál, amely a webhelyet olyan hálózatba helyezi, amely nem internet-elérhető, és csak Ön és csapata számára érhető el. Később újrakonfigurálhatja a hálózatot, hogy elérhetővé tegye a webhelyet a felhasználók számára.

  1. Futtassa a következő parancsot egy korábban definiált nevű erőforráscsoport létrehozásához:

    az group create --name $rgName
    
  2. Futtassa a az acr create parancsot egy Korábban definiált névvel rendelkező Azure Container Registry létrehozásához:

    az acr create \
      --name $registryName \
      --resource-group $rgName \
      --sku Standard
    
  3. Futtassa a az aks create parancsot egy AKS-példány létrehozásához a korábban definiált névvel. Cserélje le <latest-AKS-version> a korábban feljegyzett verzióra.

    az aks create \
      --name $aksName \
      --resource-group $rgName \
      --enable-addons monitoring \
      --kubernetes-version <latest-AKS-version> \
      --generate-ssh-keys
    

    Feljegyzés

    Az AKS üzembe helyezésének befejezése 10–15 percet vehet igénybe.

  4. Hozzon létre egy változót az AKS-példányhoz konfigurált szolgáltatásnév azonosítójának tárolásához:

    clientId=$(az aks show \
      --resource-group $rgName \
      --name $aksName \
      --query "identityProfile.kubeletidentity.clientId" \
      --output tsv)
    
  5. Hozzon létre egy változót az Azure Container Registry azonosítójának tárolásához:

    acrId=$(az acr show \
      --name $registryName \
      --resource-group $rgName \
      --query "id" \
      --output tsv)
    
  6. Futtassa a az acr list parancsot az Azure Container Registry (ACR) példány bejelentkezési kiszolgálójának URL-címének lekéréséhez:

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

    Jegyezze fel a tárolóregisztrációs adatbázis bejelentkezési kiszolgálóját. A folyamat konfigurálásakor később szüksége lesz ezekre az információkra. Példa:

    LoginServer                      
    --------------------------------
    tailspinspacegame4692.azurecr.io
    
  7. Futtassa a az role assignment create parancsot egy szerepkör-hozzárendelés létrehozásához, amely engedélyezi az AKS-fürt számára az Azure Container Registryhez való csatlakozást:

    az role assignment create \
      --assignee $clientId \
      --role AcrPull \
      --scope $acrId
    

Fontos

Ebben a modulban az Azure DevOps-környezet megtisztítása egység alapvető lépéseket tartalmaz a törléshez. Ezeket a lépéseket ajánlott elvégezni, hogy ne fogyjon el az ingyenes buildelési percek száma. Még ha nem is fejezi be ezt a modult, fontos, hogy kövesse a törlési lépéseket.

Változócsoport létrehozása

Ebben a szakaszban egy változót fog hozzáadni a folyamathoz az Azure Container Registry nevének tárolásához. Az Azure Container Registry-példány nevének definiálása változóként a folyamatkonfigurációban ajánlott a kemény kódolással. Így a konfiguráció újrafelhasználhatóbbá válik, és ha a példány neve megváltozik, egyszerűen frissítheti a változót, és anélkül aktiválhatja a folyamatot, hogy módosítania kellene a konfigurációt.

  1. Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.

  2. Válassza a Folyamatok lehetőséget, majd a bal oldali navigációs panelen válassza a Tár lehetőséget.

    Screenshot of Azure Pipelines showing the Library menu option.

  3. Válassza a Változócsoportok lehetőséget, majd válassza a + Változó csoport lehetőséget egy új változócsoport hozzáadásához.

  4. A Tulajdonságok szakaszban adja meg a változócsoport nevének Kiadását.

  5. A Változók szakaszban válassza a Hozzáadás lehetőséget.

  6. Írja be a Beállításjegyzéknevet a változó nevéhez, az értékhez pedig adja meg az Azure Container Registry bejelentkezési kiszolgálóját, például tailspinspacegame4692.azurecr.io.

  7. A lap tetején válassza a Mentés lehetőséget a folyamatváltozó mentéséhez. Ez egy példa arra, hogyan nézhet ki a változócsoport

    Screenshot of Azure Pipeline showing the variable group. The group contains one variable.

Szolgáltatáskapcsolatok létrehozása

A következő lépés olyan szolgáltatáskapcsolatok létrehozása, amelyek lehetővé teszik az Azure Pipelines számára az Azure Container Registry és az Azure Kubernetes Service-példányok elérését. A szolgáltatáskapcsolatok létrehozásával az Azure Pipelines leküldheti a tárolókat, és utasíthatja az AKS-fürtöt, hogy kérje le őket az üzembe helyezett szolgáltatás frissítéséhez.

Fontos

Győződjön meg arról, hogy ugyanazzal a Microsoft-fiókkal jelentkezett be az Azure Portalra és az Azure DevOpsba.

Docker Registry-szolgáltatáskapcsolat létrehozása

  1. Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.

  2. Válassza a Projektbeállítások lehetőséget a lap alsó sarkában.

  3. Válassza ki a Szolgáltatáskapcsolatok lehetőséget a Folyamatok szakaszban.

  4. Válassza az Új szolgáltatáskapcsolat, majd a Docker Registry, majd a Tovább gombot.

  5. A lap tetején válassza az Azure Container Registryt, majd a hitelesítés típusához válassza a Szolgáltatásnév lehetőséget.

  6. Minden beállításhoz adja meg a következő értékeket:

    Beállítás Érték
    Előfizetés Az Azure-előfizetése
    Azure Container Registry Válassza ki a korábban létrehozottat
    Szolgáltatáskapcsolat neve Tárolóregisztrációs adatbázis Csatlakozás ion
  7. Győződjön meg arról, hogy az összes folyamat hozzáférési engedélyének megadása jelölőnégyzet be van jelölve.

  8. Ha végzett, válassza a Mentés lehetőséget.

ARM-szolgáltatáskapcsolat létrehozása

Most létre fog hozni egy Azure Resource Manager-szolgáltatáskapcsolatot az AKS-fürttel való hitelesítéshez. A Kubernetes helyett ARM-szolgáltatáskapcsolatot használunk, mert a hosszú élettartamú jogkivonatok alapértelmezés szerint nem jönnek létre a Kubernetes 1.24 óta. További részletekért tekintse meg ezt a DevOps-blogbejegyzést: Szolgáltatás Csatlakozás ion-útmutató Kubernetes-feladatokat használó AKS-ügyfeleknek.

  1. Válassza az Új szolgáltatáskapcsolat lehetőséget, válassza az Azure Resource Managert, majd a Tovább lehetőséget.

  2. Válassza a Szolgáltatásnév (automatikus) lehetőséget, majd a Tovább gombot.

  3. Válassza az Előfizetés lehetőséget a hatókörszinthez.

  4. Minden beállításhoz adja meg a következő értékeket.

    Beállítás Érték
    Előfizetés Az Azure-előfizetése
    Erőforráscsoport Válassza ki a korábban létrehozottat
    Szolgáltatáskapcsolat neve Kubernetes-fürt Csatlakozás ion
  5. Győződjön meg arról, hogy az összes folyamat hozzáférési engedélyének megadása jelölőnégyzet be van jelölve.

  6. Ha végzett, válassza a Mentés lehetőséget.

Folyamatkörnyezet létrehozása

  1. Válassza a Folyamatok, majd a Környezetek lehetőséget.

    Screenshot of Azure Pipelines showing the Environments menu option.

  2. Új környezet létrehozásához válassza a Környezet létrehozása lehetőséget.

  3. A Név mezőbe írja be a Dev nevet.

  4. Válassza a Nincs lehetőséget az Erőforrás szakaszban, majd válassza a Létrehozás lehetőséget a folyamatkörnyezet létrehozásához.

A Kubernetes üzembehelyezési jegyzékének frissítése

Ebben a szakaszban frissítenie kell a Kubernetes-jegyzék deployment.yml , hogy a korábban létrehozott tárolóregisztrációs adatbázisra mutasson.

  1. Lépjen a GitHub-fiókjához, és válassza ki a modulhoz elágaztatott adattárat: mslearn-tailspin-spacegame-web-kubernetes.

  2. Nyissa meg a jegyzékfájlt/deployment.yml fájlt szerkesztési módban.

    Screenshot of GitHub showing the location of the edit mode icon.

  3. Módosítsa a tárolólemezkép-hivatkozásokat az ACR bejelentkezési kiszolgáló használatára. Az alábbi jegyzék tailspinspacegame2439.azurecr.io használ példaként.

    apiVersion : apps/v1
    kind: Deployment
    metadata:
      name: web
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: web
      template:
        metadata:
          labels:
            app: web
        spec:
          containers:
            - name: web
              image: tailspinspacegame4692.azurecr.io/web
              ports:
              - containerPort: 80
    
    apiVersion : apps/v1
    kind: Deployment
    metadata:
      name: leaderboard
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: leaderboard
      template:
        metadata:
          labels:
            app: leaderboard
        spec:
          containers:
            - name: leaderboard
              image: tailspinspacegame4692.azurecr.io/leaderboard
              ports:
              - containerPort: 80
    
  4. Véglegesítse az ág módosításait main .