Alkalmazás üzembe helyezése egy Azure Kubernetes Service-fürtben

Befejeződött

A cége üzembe szeretné helyezni a felhőalapú videórenderelő szolgáltatást. Az Azure Kubernetes Service -t (AKS) választotta natív felhőbeli fejlesztési platformként. Ha konfigurálta a fürtöt, készen áll üzembe helyezni a videórenderelő alkalmazás egyik összetevőjét. Úgy dönt, hogy a céges webhely statikus verzióját helyezi üzembe, amellyel megismerheti a Kubernetes üzembe helyezési folyamatát.

Mielőtt a Kubernetes-beli üzembe helyezésre térünk, tekintsük át, hogyan helyeznénk üzembe egy hasonló alkalmazást egy nem Kubernetes-környezetben.

Tegyük fel, hogy egy Azure-beli virtuális gépet (VM) használ célplatformként. Első lépésként elő kell készítenie a kiszolgálószoftvert az alkalmazás üzemeltetésére. Az alábbiakat fogja elvégezni:

  • Az operációs rendszer telepítése.
  • Gondoskodjon róla, hogy az operációs rendszer a legújabb biztonsági és szoftveres javításokkal együtt frissítve legyen.
  • A webkiszolgálói szoftver telepítése és konfigurálása.
  • A webalkalmazás üzembe helyezése.

Ismételje meg ezt a folyamatot minden új virtuális gép esetében, amikor úgy dönt, hogy vertikálisan skálázza a webhelyet az ügyfelek megnövekedett keresletének kezelése érdekében.

Alternatív megoldásként egy tárolóalapú platformon is futtathatja a webhelyet, például az Azure Container Instances szolgáltatásban. Nem kell aggódnia a mögöttes kiszolgáló technológiája miatt, de több tárolót kell konfigurálnia és kezelnie a stratégia manuális használatához.

A Kubernetes és az AKS segít a tárolók vezénylésében. A Kubernetes-tároló vezénylési funkcióival könnyen kezelheti a fürt számítási feladatait. Az AKS-fürtben tárolólemezképekkel készített tárolókkal helyezhet üzembe számítási feladatokat, amelyekkel futtathatja az alkalmazásokat.

Itt megtudhatja, hogyan hozhat létre számítási feladatokat az AKS-fürtön.

Mi az a tárolóregisztrációs adatbázis?

A tárolóregisztrációs adatbázissal biztonságosan tárolhat tárolólemezképeket a felhőben későbbi felhasználásra. A tárolóregisztrációs adatbázis tulajdonképpen egy archívum, amely a tárolólemezkép több verzióját tárolja. Minden tárolt lemezkép rendelkezik egy azonosító címkével.

A contoso-website:latest lemezkép például a contoso-website:v1.0.0 címkéjű lemezkép egy másik verziója.

A diagram that shows how container images are downloaded from a container registry to a Kubernetes cluster by using a manifest file.

A tárolóregisztrációs adatbázisok lehetnek nyilvánosak vagy privátak. A magánregisztrációs adatbázisokhoz hitelesítő adatokra van szükség a rendszerképek eléréséhez és letöltéséhez, és ez a tárolólemezképek tárolásakor követendő stratégia.

A Kubernetes-szel csak egy tárolóregisztrációs adatbázisban üzemeltetett lemezképeket helyezhet üzembe. A privát tárolóregisztrációs adatbázis létrehozása általában a szokásos AKS-telepítési stratégia része.

Mi az a Kubernetes-pod?

A Kubernetes-podok logikai struktúrába csoportosítják a tárolókat és az alkalmazásokat. Ezek a podok nem rendelkeznek intelligenciával, és egy vagy több alkalmazástárolóból állnak. Mindegyik rendelkezik IP-címmel, hálózati szabályokkal és közzétett portokkal.

Ha például az összes, a contoso-websitehozzá kapcsolódó számítási feladatban szeretne keresni, lekérdezheti a fürtöt a címkével app és az értékkel contoso-websiterendelkező podok között.

Mit jelent a Kubernetes-beli üzemelő példány?

A diagram that shows a Kubernetes deployment with a label and three pods.

A Kubernetes-beli üzemelő példány a podok fejlődését jelenti. Az üzembe helyezés egy intelligens objektumba burkolja a podokat, amely lehetővé teszi számukra a horizontális felskálázást. Az alkalmazás egyszerűen duplikálható és skálázható, így összetett hálózati szabályok konfigurálása nélkül is támogathatja a nagyobb terhelést.

Az üzemelő példányokkal a felhasználók a képcímke módosításával frissíthetik az alkalmazásokat, állásidő nélkül. Az üzembe helyezés frissítésekor az összes alkalmazás törlése helyett az üzembe helyezés egyenként kikapcsolja az online alkalmazásokat. Ezután lecseréli őket a legújabb verzióra. Ez a szempont azt jelenti, hogy minden üzemelő példány frissítheti a benne található podokat anélkül, hogy ez látható hatással lenne a rendelkezésre állásra.

Kubernetes-beli jegyzékfájlok

A Kubernetes-jegyzékfájlokkal deklaratív módon ismertetheti YAML formátumban a számítási feladatokat, és leegyszerűsítheti a Kubernetes objektumkezelését.

Tegyük fel, hogy manuálisan kell üzembe helyeznie egy számítási feladatot. Több szempontot is figyelembe kell vennie és kezelnie. Létre kell hoznia egy tárolót, ki kell választania egy adott csomópontot, becsomagolni egy podba, futtatni a podot, figyelni a végrehajtást és így tovább.

A jegyzékfájlok tartalmazzák a leírt számítási feladat létrehozásához és kezeléséhez szükséges összes információt.

Mi az Kubernetes-címke?

A Kubernetes-címkékkel logikai csoportokba rendezheti a Kubernetes-projekteket. Ezekkel a címkékkel a rendszer lekérdezheti a fürtön azokat az objektumokat, amelyek megfelelnek egy adott névvel rendelkező címkének.

A jegyzékfájlok szerkezete

A jegyzékfájlok szerkezete különböző lehet a létrehozott erőforrás típusától függően. A jegyzékfájlok azonban közös utasításokkal rendelkeznek. Ezek határoznak meg különböző aspektusokat, például a használandó API-kat és a létrehozandó számítási feladat típusát.

Minden jegyzékfájl első két bejegyzése tartalmazza az apiVersion és a kind kulcsot, amelyek rendkívül fontosak. Íme egy példa egy üzembe helyezési fájlra.

apiVersion: apps/v1 # Where in the API it resides
kind: Deployment # The kind of workload we're creating

A apiVersion kulcs határozza meg a telepített objektumot kezelő API-kiszolgálóvégpontot.

A kind kulcs határozza meg az üzembe helyezés által létrehozott számítási feladatot.

A fájlok emellett a metadata és a name gyakori kulcsokat is tartalmazzák. Minden Kubernetes-erőforrásnak névvel kell rendelkeznie. Ez a név bekerül a metadata kulcsba.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: contoso-website # This will be the name of the deployment

Objektumok csoportosítása egy üzemelő példányban

Az üzemelő példányok label elemet használnak a podok megkereséséhez és csoportosításához. A címkét az üzemelő példány jegyzékfájljában definiálja.

Íme egy példa. A selector definícióban meghatározott matchLabels érték hozzá lett adva a spec definícióhoz.

# deployment.yaml
# ...
spec:
  selector:
    matchLabels:
      app: contoso-website
# ...

Innentől kezdve minden fájl eltérő szerkezettel rendelkezik attól függően, hogy milyen erőforrástípust szeretne létrehozni a Kubernetes-ben.

Üzembe helyezési fájl alkalmazása

A Kubernetes üzembe helyezési jegyzékfájlját a kubectl használatával telepítheti. Íme egy példa a parancs használatára.

kubectl apply -f ./deployment.yaml

Tesztelje tudását

1.

Mi az a tárolóregisztrációs adatbázis?

2.

Mi az a jegyzékfájl?