Harjoitus – Luo Azure Kubernetes -palvelun klusteri
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ä.
Avaa Visual Studio Code -projekti edellisestä harjoituksesta
Kirjaudu päätteessä Azureen käyttämällä
az login
Suorita todentaminen noudattamalla kehotteita.
Luo päätteessä ACR-arvo seuraavalla komennolla:
az acr create --resource-group myResourceGroup --name myACRName --sku Basic
Muista korvata
myResourceGroup
resurssiesi halutut nimet jamyACRName
käyttää niitä. Voit käyttää aiemmin luotua resurssiryhmää tai luoda uuden -komennolla:az group create --name myResourceGroup --location eastus
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.
Siirry portal.azure.com ja valitse tilauksesi
Valitse vasemmanpuoleisessa valikossa Resurssipalvelutkohdassa Asetukset
Kirjoita nimisuodattimeen "Microsoft.Compute"
Jos tila on "NotRegistered", valitse palvelu ja valitse Rekisteröi
Nyt olet valmis luomaan AKS-klusterin
Avaa Visual Studio Code -projekti, jota työstit edellisessä harjoituksessa.
Asenna päätteessä Kubernetes-komentorivikäyttöliittymä seuraavalla komennolla:
az aks install-cli
Kubernetes-komentorivikäyttöliittymän (Kubernetes)
kubectl
avulla voit luoda kubernetes-klusterin ja muodostaa siihen yhteyden.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
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
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
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-tunnisteen1.0.0
kanssa, ja siirtää sitten kuvan ACR:iin.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.Yaml-tiedoston käyttäminen
kubectl apply -f deployment.yaml
Tämä komento luo käyttöönottoresurssin klusteriin.
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
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
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.