Harjoitus – Luo Azure Kubernetes -palvelun klusteri

Valmis

Tässä harjoituksessa luot Azure Kubernetes Service (AKS) -klusterin ja otat kuvan käyttöön Azuren säilörekisterissä (ACR). Voit myöhemmin käyttää sovellustasi ulkoisen IP-osoitteen kautta.

Azure-säilörekisterin (ACR) luominen

Tässä tehtävässä luot Azuren säilörekisterin. Azuren säilörekisteri (ACR) on turvallinen ja hallittu rekisteri, joka tallentaa säilön näköistiedostot. Tämän ansiosta nämä kuvat on helppo ottaa käyttöön Azuren palveluissa, kuten AKS:ssä.

  1. Avaa Visual Studio Code -projekti edellisestä harjoituksesta

  2. Kirjaudu päätteessä Azureen käyttämällä az login

    Suorita todentaminen noudattamalla kehotteita.

  3. Luo päätteessä ACR-arvo seuraavalla komennolla:

    az acr create --resource-group myResourceGroup --name myACRName --sku Basic
    

    Muista korvata myResourceGroup resurssiesi halutut nimet ja myACRName käyttää niitä. Voit käyttää aiemmin luotua resurssiryhmää tai luoda uuden -komennolla:

    az group create --name myResourceGroup --location eastus
    
  4. Kirjaudu sisään ACR-resurssiin seuraavalla komennolla:

    az acr login --name myACRName
    

    Muista korvata myACRName rekisterisi nimellä. Seuraavaksi sinun on merkittävä paikallinen Docker-kuva ACR-kirjautumispalvelimen osoitteellasi.

AKS-klusterin luominen

Ennen kuin voit luoda AKS-klusterin, sinun on varmistettava, että Microsoft.Compute-resurssipalvelu on rekisteröity tilaukseesi. Voit myöhemmin luoda klusterin ja ottaa kuvan käyttöön.

  1. Siirry portal.azure.com ja valitse tilauksesi

  2. Valitse vasemmanpuoleisessa valikossa Resurssipalvelutkohdassa Asetukset

  3. Kirjoita nimisuodattimeen "Microsoft.Compute"

  4. Jos tila on "NotRegistered", valitse palvelu ja valitse Rekisteröi

    Nyt olet valmis luomaan AKS-klusterin

  5. Avaa Visual Studio Code -projekti, jota työstit edellisessä harjoituksessa.

  6. Asenna päätteessä Kubernetes-komentorivikäyttöliittymä seuraavalla komennolla:

    az aks install-cli
    

    Kubernetes-komentorivikäyttöliittymän (Kubernetes) kubectlavulla voit luoda kubernetes-klusterin ja muodostaa siihen yhteyden.

  7. Luo AKS-klusteri antamalla seuraava komento päätteessä:

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSClusterName \
        --node-count 2 \
        --generate-ssh-keys \
        --attach-acr myACRName 
    

    Muista korvata resurssiryhmän, klusterin nimen ja Azure Resource Containerin (ACR) arvot. Käytä edellisissä vaiheissa luomasi ACR-tekstintunnistustunnuksen nimeä.

    Huomautus

    Jos kohtaat ongelmia resurssien luomisessa tietyllä alueella, voit muuttaa aluetta käyttämällä -parametria location . Esimerkiksi --location westus3

    Jos kohtaat ongelmia käytettävissä olevien näennäiskonekokojen kanssa, voit määrittää näennäiskoneen koon parametrin node-vm-size avulla. Esimerkiksi --node-vm-size standard_d15_v2

Kuvan ottaminen käyttöön klusterissa

  1. Kun klusteri on luotu, muodosta yhteys klusteriin käyttämällä seuraavaa komentoa:

    az aks get-credentials --resource-group myResourceGroup --name myAKSClusterName
    

    Tämä komento noutaa klusterin tunnistetiedot ja määrittää kubectlin kommunikoimaan AKS-klusterin kanssa. Sinun pitäisi nähdä jokin tuloste, joka on samankaltainen kuin Merged "vector-search-aks" as current context in C:\Users\user\.kube\config

  2. Vahvista klusterin yhdistettävyys ja tila seuraavan komennon avulla:

    kubectl get nodes
    

    Sinun pitäisi nähdä joitakin samankaltaisia tietoja:

    NAME                                STATUS   ROLES    AGE   VERSION
    aks-nodepool1-30047545-vmss000000   Ready    <none>   32m   v1.29.9
    aks-nodepool1-30047545-vmss000001   Ready    <none>   32m   v1.29.9
    
  3. Luo sovelluksestasi kuva seuraavalla komennolla:

    az acr build --image vector-search-app:1.0.0 --registry vectorsearchcontainer --file Dockerfile .

    Tämä komento luo Docker-kuvan, jonka nimi vector-search-app on nykyisen hakemiston määritetyn Dockerfile-tunnisteen 1.0.0 kanssa, ja siirtää sitten kuvan ACR:iin.

  4. Luo tiedosto deployment.yaml , jossa on seuraava sisältö:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: vector-search-app
    spec:
    replicas: 2
    selector:
        matchLabels:
        app: vector-search-app
    template:
        metadata:
        labels:
            app: vector-search-app
        spec:
        containers:
            - name: vector-search-app
            image: vectorsearchcontainer.azurecr.io/vector-search-app:1.0.0
            ports:
                - containerPort: 3000
    
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: vector-search-app
    spec:
    type: LoadBalancer
    selector:
        app: vector-search-app
    ports:
        - protocol: TCP
        port: 80
        targetPort: 3000
    

    Deployment.yaml on Määritystiedosto, jota käytetään Kubernetesissä sovelluksen käyttöönoton määrittämiseen ja hallintaan. Se määrittää tiedot, kuten sovellusesiintymien määrän (replikot), säilön kuvan ja ympäristön asetukset. Tämän tiedoston avulla Kubernetes voi automatisoida säilösovellusten luomisen, skaalauksen ja hallinnan.

  5. Yaml-tiedoston käyttäminen kubectl apply -f deployment.yaml

    Tämä komento luo käyttöönottoresurssin klusteriin.

  6. Varmista, että kuva on käynnissä -komennolla. kubectl get pods

    Sinun pitäisi nähdä jokin tuloste, joka on samankaltainen kuin:

    NAME                                READY    STATUS              RESTARTS   AGE
    vector-search-app-5d5f446499-vlmtx   1/1     Running             0          6s
    
  7. Saat sovelluksesi ulkoisen IP-osoitteen kirjoittamalla kubectl get svc vector-search-app

    Sinun pitäisi nähdä jokin tuloste, joka on samankaltainen kuin:

    NAME                TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)        AGE
    vector-search-app   LoadBalancer   10.0.0.0       11.0.0.0       80:30235/TCP   29s
    
  8. Anna selaimessa ulkoinen IP-osoite. Sinun pitäisi nähdä Contoso Bike Shop -verkkosivu, jossa on Virtual Assistant -keskusteluruutu.

Hyvää työtä! Olet luonut AKS-klusterin, ottanut sille käyttöön Docker-näköistiedoston, paljastanut sovelluksen LoadBalancer-palvelun kautta ja käyttänyt sovellusta ulkoisen IP-osoitteen avulla. Olet ottanut säilösovelluksen onnistuneesti käyttöön Azure Kubernetes -palvelussa.