(ELAVULT) Kubernetes-fürt üzembe helyezése Linux-tárolókhoz

Tipp

A Azure Kubernetes Service használó rövid útmutató frissített verziójáért tekintse meg a következő rövid útmutatót: Azure Kubernetes Service -fürt üzembe helyezése.

Figyelmeztetés

Az Azure Container Service (ACS) elavult. Az ACS-hez nem adnak hozzá új szolgáltatásokat vagy funkciókat. Az összes API, portálélmény, CLI-parancs és dokumentáció elavultként van megjelölve.

2017-ben bevezettük az Azure Kubernetes Service (AKS) a Kubernetes felügyeletének, üzembe helyezésének és műveleteinek egyszerűsítéséhez. Ha a Kubernetes vezénylőt használja, 2020. január 31-ig migráljon az AKS-be. Első lépésekért lásd: migrálás Azure Kubernetes Service.

További információkért tekintse meg az Azure Container Service elavulással kapcsolatos bejelentését Azure.com.

Ebben a rövid útmutatóban egy Kubernetes-fürtöt helyezünk üzembe az Azure CLI használatával. Ezután egy webes előtérrendszert és egy Redis-példányt magában foglaló többtárolós alkalmazást helyezünk üzembe és futtatunk a fürtön. Miután végeztünk ezzel, az alkalmazás elérhető lesz az interneten.

Az ebben a dokumentumban használt mintaalkalmazás Python nyelven van megírva. Az itt ismertetett fogalmakkal és lépésekkel bármely tárolórendszerkép üzembe helyezhető egy Kubernetes-fürtön. A projekthez kapcsolódó kód, Docker-fájl és előre létrehozott Kubernetes-jegyzékfájlok a GitHubon érhetőek el.

Az Azure Vote keresését ábrázoló kép

Ez a rövid útmutató feltételezi, hogy ismeri a Kubernetes alapvető fogalmait. A Kubernetesszel kapcsolatos részletes információkért lásd a Kubernetes dokumentációját.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Az Azure Cloud Shell használata

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. Az ebben a cikkben található kódot a Cloud Shell előtelepített parancsaival is futtathatja, így semmit nem kell a helyi környezetben telepítenie.

Az Azure Cloud Shell indítása:

Beállítás Példa/hivatkozás
Kattintson a Kipróbálás elemre egy kódblokk jobb felső sarkában. A Kipróbálás lehetőségre kattintással nem másolja a kódot automatikusan a Cloud Shellbe. Példa az Azure Cloud Shell Kipróbálás lehetőségére
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. A Cloud Shell indítása új ablakban
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Cloud Shell gomb a Microsoft Azure Portal-on

Az ebben a cikkben szereplő kód Azure Cloud Shellben való futtatásához:

  1. Indítsa el a Cloud Shellt.

  2. A kód másolásához válassza az adott kódblokkhoz tartozó Másolás gombot.

  3. Illessze be a kódot a Cloud Shell-munkamenetbe a Ctrl+Shift+V billentyűkombinációval Windows és Linux rendszeren, vagy a Cmd+Shift+V billentyűkombinációval macOS rendszeren.

  4. A kód futtatásához nyomja le az Enter billentyűt.

Ha a CLI helyi telepítését és használatát választja, akkor ehhez a gyorsútmutatóhoz az Azure CLI 2.0.4-es vagy újabb verziójára lesz szükség. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne, olvassa el az Azure CLI telepítését ismertető cikket.

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal. Az Azure-erőforráscsoport olyan logikai csoport, amelyben az Azure-erőforrások üzembe helyezése és kezelése zajlik.

A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot a westeurope helyen.

az group create --name myResourceGroup --location westeurope

Kimenet:

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup",
  "location": "westeurope",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Kubernetes-fürt létrehozása

Hozzon létre egy Kubernetes-fürtöt az Azure Container Service-ben az az acs create paranccsal. A következő példa egy myK8sCluster nevű fürtöt hoz létre egy Linux-főcsomóponttal és három Linux-ügyfélcsomóponttal.

az acs create --orchestrator-type kubernetes --resource-group myResourceGroup --name myK8sCluster --generate-ssh-keys

Egyes esetekben – például korlátozott próbaverziónál – az Azure-előfizetés korlátozott hozzáféréssel rendelkezik az Azure-erőforrásokhoz. Ha az üzembe helyezés az elérhető magok korlátozott száma miatt hiúsul meg, csökkentse az alapértelmezett ügynökök számát az --agent-count 1 az az acs create parancshoz történő hozzáadásával.

Néhány perc múlva befejeződik a parancs végrehajtása, és visszaadja a fürttel kapcsolatos adatokat JSON formátumban.

Csatlakozás a fürthöz

Kubernetes-fürtök kezeléséhez használja a kubectl eszközt, a Kubernetes parancssori ügyfelét.

Ha az Azure Cloud Shellt használja, a kubectl már telepítve van. Ha helyileg szeretné telepíteni, használja az az acs kubernetes install-cli parancsot.

A kubectl a Kubernetes-fürthöz való csatlakozásra konfigurálásához futtassa az az acs kubernetes get-credentials parancsot. Ebben a lépésben a rendszer hitelesítő adatokat tölt le, és konfigurálja a Kubernetes parancssori felületét azok használatára.

az acs kubernetes get-credentials --resource-group=myResourceGroup --name=myK8sCluster

A fürthöz való csatlakozás ellenőrzéséhez használja a kubectl get parancsot a fürtcsomópontok listájának lekéréséhez.

kubectl get nodes

Kimenet:

NAME                    STATUS                     AGE       VERSION
k8s-agent-14ad53a1-0    Ready                      10m       v1.6.6
k8s-agent-14ad53a1-1    Ready                      10m       v1.6.6
k8s-agent-14ad53a1-2    Ready                      10m       v1.6.6
k8s-master-14ad53a1-0   Ready,SchedulingDisabled   10m       v1.6.6

Az alkalmazás futtatása

A Kubernetes-jegyzékfájl meghatározza a fürt célállapotát, például azt, hogy milyen tárolórendszerképeknek kell futniuk. Ebben a példában egy jegyzékfájlt használunk az Azure Vote alkalmazás futtatásához szükséges összes objektum létrehozásához.

Hozzon létre egy azure-vote.yml nevű fájlt, és másolja bele a következő YAML-kódot. Ha az Azure Cloud Shellben dolgozik, ez a fájl a vi vagy a Nano segítségével hozható létre, ugyanúgy, mint egy virtuális vagy fizikai rendszeren.

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: azure-vote-back
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      containers:
      - name: azure-vote-back
        image: redis
        ports:
        - containerPort: 6379
          name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-back
spec:
  ports:
  - port: 6379
  selector:
    app: azure-vote-back
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: azure-vote-front
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: azure-vote-front
    spec:
      containers:
      - name: azure-vote-front
        image: microsoft/azure-vote-front:v1
        ports:
        - containerPort: 80
        env:
        - name: REDIS
          value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-front
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: azure-vote-front

Az alkalmazást a kubectl create paranccsal futtathatja.

kubectl create -f azure-vote.yml

Kimenet:

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Az alkalmazás tesztelése

Az alkalmazás futtatásakor a rendszer létrehoz egy Kubernetes-szolgáltatást, amely közzéteszi az alkalmazás-előteret az interneten. A folyamat eltarthat pár percig.

A folyamat állapotának monitorozásához használja kubectl get service parancsot a --watch argumentummal.

kubectl get service azure-vote-front --watch

Kezdetben az azure-vote-front szolgáltatás EXTERNAL-IP értéke pending állapotú. Miután az EXTERNAL-IP cím pending állapotról egy IP-címre változik, a CTRL-C billentyűparanccsal állítsa le a kubectl figyelési folyamatát.

azure-vote-front   10.0.34.242   <pending>     80:30676/TCP   7s
azure-vote-front   10.0.34.242   52.179.23.131   80:30676/TCP   2m

Most a külső IP-címre léphet az Azure Vote alkalmazás megtekintéséhez.

Az Azure Vote keresését ábrázoló kép

Fürt törlése

Ha a fürtre már nincs szükség, az az group delete paranccsal törölheti az erőforráscsoportot, a tárolószolgáltatást és az összes kapcsolódó erőforrást.

az group delete --name myResourceGroup --yes --no-wait

A kód letöltése

Ebben a rövid útmutatóban előre elkészített tárolórendszerképekkel hoztunk létre egy üzemelő Kubernetes-példányt. A kapcsolódó alkalmazáskód, Docker-fájl és Kubernetes-jegyzékfájl a GitHubon érhetőek el.

https://github.com/Azure-Samples/azure-voting-app-redis

Következő lépések

Ebben a rövid útmutatóban egy Kubernetes-fürtöt és azon egy többtárolós alkalmazást helyezett üzembe.

Az Azure Container Service-szel kapcsolatos további információkért és a kódtól az üzembe helyezésig terjedő teljes útmutatóért folytassa a Kubernetes-fürtöket bemutató oktatóanyaggal.