Rövid útmutató: Azure Kubernetes Service- (AKS-) fürt üzembe helyezése az Azure Portal használatával
Az Azure Kubernetes Service (AKS) egy felügyelt Kubernetes-szolgáltatás, amely lehetővé teszi a fürtök gyors üzembe helyezését és kezelését. Ebben a rövid útmutatóban a következőket hajtja végre:
- AKS-fürt létrehozása az Azure Portalon.
- Többtárolós mintaalkalmazás futtatása mikroszolgáltatások és webes kezelőfelületek egy kiskereskedelmi forgatókönyvet szimuláló csoportjával.
Feljegyzés
Az AKS-fürtök gyors üzembe helyezésének megkezdéséhez ez a cikk a csak kiértékelési célokra alapértelmezett beállításokkal rendelkező fürtök üzembe helyezésének lépéseit tartalmazza. Az éles üzemre kész fürtök üzembe helyezése előtt javasoljuk, hogy ismerkedjen meg az alapszintű referenciaarchitektúrával, és gondolja át, hogyan igazodik az üzleti követelményekhez.
Mielőtt elkezdené
A rövid útmutató feltételezi, hogy rendelkezik a Kubernetes használatára vonatkozó alapvető ismeretekkel. További információkért tekintse meg az Azure Kubernetes Service (AKS) Kubernetes alapfogalmait.
- Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
- Ha nem ismeri az Azure Cloud Shellt, tekintse át az Azure Cloud Shell áttekintését.
- Győződjön meg arról, hogy a fürt létrehozásához használt identitás rendelkezik a megfelelő minimális engedélyekkel. Az AKS-hez való hozzáféréssel és identitással kapcsolatos további részletekért tekintse meg az Azure Kubernetes Service (AKS) hozzáféréssel és identitással kapcsolatos lehetőségeit.
Feljegyzés
Az Azure Linux-csomópontkészlet általánosan elérhető (GA). Az előnyökről és az üzembe helyezés lépéseiről az AKS-hez készült Azure Linux Container Host bemutatása című témakörben olvashat.
AKS-fürt létrehozása
Jelentkezzen be az Azure Portalra.
Az Azure Portal kezdőlapján válassza az Erőforrás létrehozása lehetőséget.
A Kategóriák szakaszban válassza az Azure Kubernetes Service (AKS) tárolóit>.
Az Alapok lapon konfigurálja a következő beállításokat:
- A Projekt részletei csoportban:
- Előfizetés: Válassza ki az AKS-fürthöz használni kívánt Azure-előfizetést.
- Erőforráscsoport: Válassza az Új létrehozása lehetőséget, adjon meg egy erőforráscsoportnevet(például myResourceGroup), majd kattintson az Ok gombra. Bár kiválaszthat egy meglévő erőforráscsoportot tesztelési vagy kiértékelési célokra, javasoljuk, hogy hozzon létre egy erőforráscsoportot, amely ideiglenesen üzemelteti ezeket az erőforrásokat, és elkerüli az éles vagy fejlesztési számítási feladatokra gyakorolt hatást.
- A Fürt részletei csoportban:
Fürt által előre beállított konfiguráció: Válassza a Dev/Test lehetőséget. Az előre beállított konfigurációkkal kapcsolatos további információkért lásd az Azure Portal fürtkonfigurációs előbeállításait.
Kubernetes-fürt neve: Adjon meg egy fürtnevet, például myAKSClustert.
Régió: Válasszon ki egy régiót, például az USA 2. keleti régióját.
Rendelkezésre állási zónák: Válassza a Nincs lehetőséget.
AKS tarifacsomag: Válassza az Ingyenes lehetőséget.
Hagyja meg a fennmaradó beállítások alapértelmezett értékeit, és válassza a Tovább gombot.
- A Projekt részletei csoportban:
A Csomópontkészletek lapon konfigurálja a következő beállításokat:
Válassza a Csomópontkészlet hozzáadása lehetőséget, és adja meg a csomópontkészlet nevét, például nplinux.
Mód: Felhasználó kiválasztása.
Operációsrendszer-termékváltozat: Válassza az Ubuntu Linuxot.
Rendelkezésre állási zónák: Válassza a Nincs lehetőséget.
Hagyja bejelölve az Azure Spot-példányok engedélyezése jelölőnégyzetet.
Csomópont mérete: Válassza a Méret kiválasztása lehetőséget. A Virtuális gép méretének kiválasztása lapon válassza a D2s_v3, majd a Kiválasztás lehetőséget.
Hagyja meg a fennmaradó beállítások alapértelmezett értékeit, és válassza a Hozzáadás lehetőséget.
Válassza a Véleményezés + létrehozás lehetőséget az ellenőrzés fürtkonfiguráción való futtatásához. Az ellenőrzés befejezése után válassza a Létrehozás lehetőséget.
Az AKS-fürt létrehozása eltarthat néhány percig. Ha az üzembe helyezés befejeződött, keresse meg az erőforrást az Ugrás az erőforrásra lehetőség kiválasztásával, vagy az AKS-fürt erőforráscsoportjának tallózásával és az AKS-erőforrás kiválasztásával.
Csatlakozás a fürthöz
A Kubernetes-fürtök kezeléséhez a Kubernetes parancssori ügyfelet( kubectl) kell használnia. kubectl
az Azure Cloud Shell használata esetén már telepítve van. Ha nem ismeri a Cloud Shellt, tekintse át az Azure Cloud Shell áttekintését.
Ha Cloud Shellt használ, nyissa meg az >_
Azure Portal tetején található gombbal. Ha helyileg használja a PowerShellt, csatlakozzon az Azure-hoz a Connect-AzAccount
parancson keresztül. Ha helyileg használja az Azure CLI-t, csatlakozzon az Azure-hoz a az login
parancson keresztül.
Konfigurálja
kubectl
a Kubernetes-fürthöz való csatlakozást aaz aks get-credentials
paranccsal. Ez a parancs letölti a hitelesítő adatokat, és konfigurálja a Kubernetes parancssori felületét a használatukhoz.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Ellenőrizze a fürthöz
kubectl get
való kapcsolatot a fürtcsomópontok listájának visszaadásához.kubectl get nodes
A következő példakimenet az előző lépésekben létrehozott csomópontot mutatja be. Győződjön meg arról, hogy a csomópont állapota kész.
NAME STATUS ROLES AGE VERSION aks-nodepool1-31718369-0 Ready agent 6m44s v1.15.10
Az alkalmazás üzembe helyezése
Jegyzékfájl használatával hozza létre az AKS Store-alkalmazás futtatásához szükséges összes objektumot. A Kubernetes-jegyzékfájl meghatározza a fürt kívánt állapotát, például hogy mely tárolólemezképeket kell futtatni. A jegyzék a következő Kubernetes-üzemelő példányokat és szolgáltatásokat tartalmazza:
- Áruházi előtér: Webalkalmazás az ügyfelek számára termékek megtekintésére és megrendelések leadására.
- Termékszolgáltatás: A termékinformációkat jeleníti meg.
- Rendelési szolgáltatás: Rendeléseket rendel.
- Nyúl MQ: Üzenetsor rendelési üzenetsorhoz.
Feljegyzés
Nem javasoljuk az állapotalapú tárolók( például a Rabbit MQ) futtatását az éles környezetben tartós tárolás nélkül. Ezeket itt az egyszerűség kedvéért használjuk, de olyan felügyelt szolgáltatások használatát javasoljuk, mint az Azure CosmosDB vagy az Azure Service Bus.
A Cloud Shellben nyisson meg egy szerkesztőt, és hozzon létre egy fájlt.
aks-store-quickstart.yaml
Illessze be a következő jegyzékfájlt a szerkesztőbe:
apiVersion: apps/v1 kind: Deployment metadata: name: rabbitmq spec: replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: nodeSelector: "kubernetes.io/os": linux containers: - name: rabbitmq image: mcr.microsoft.com/mirror/docker/library/rabbitmq:3.10-management-alpine ports: - containerPort: 5672 name: rabbitmq-amqp - containerPort: 15672 name: rabbitmq-http env: - name: RABBITMQ_DEFAULT_USER value: "username" - name: RABBITMQ_DEFAULT_PASS value: "password" resources: requests: cpu: 10m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - name: rabbitmq-enabled-plugins mountPath: /etc/rabbitmq/enabled_plugins subPath: enabled_plugins volumes: - name: rabbitmq-enabled-plugins configMap: name: rabbitmq-enabled-plugins items: - key: rabbitmq_enabled_plugins path: enabled_plugins --- apiVersion: v1 data: rabbitmq_enabled_plugins: | [rabbitmq_management,rabbitmq_prometheus,rabbitmq_amqp1_0]. kind: ConfigMap metadata: name: rabbitmq-enabled-plugins --- apiVersion: v1 kind: Service metadata: name: rabbitmq spec: selector: app: rabbitmq ports: - name: rabbitmq-amqp port: 5672 targetPort: 5672 - name: rabbitmq-http port: 15672 targetPort: 15672 type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 1 selector: matchLabels: app: order-service template: metadata: labels: app: order-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: order-service image: ghcr.io/azure-samples/aks-store-demo/order-service:latest ports: - containerPort: 3000 env: - name: ORDER_QUEUE_HOSTNAME value: "rabbitmq" - name: ORDER_QUEUE_PORT value: "5672" - name: ORDER_QUEUE_USERNAME value: "username" - name: ORDER_QUEUE_PASSWORD value: "password" - name: ORDER_QUEUE_NAME value: "orders" - name: FASTIFY_ADDRESS value: "0.0.0.0" resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi initContainers: - name: wait-for-rabbitmq image: busybox command: ['sh', '-c', 'until nc -zv rabbitmq 5672; do echo waiting for rabbitmq; sleep 2; done;'] resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi --- apiVersion: v1 kind: Service metadata: name: order-service spec: type: ClusterIP ports: - name: http port: 3000 targetPort: 3000 selector: app: order-service --- apiVersion: apps/v1 kind: Deployment metadata: name: product-service spec: replicas: 1 selector: matchLabels: app: product-service template: metadata: labels: app: product-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: product-service image: ghcr.io/azure-samples/aks-store-demo/product-service:latest ports: - containerPort: 3002 resources: requests: cpu: 1m memory: 1Mi limits: cpu: 1m memory: 7Mi --- apiVersion: v1 kind: Service metadata: name: product-service spec: type: ClusterIP ports: - name: http port: 3002 targetPort: 3002 selector: app: product-service --- apiVersion: apps/v1 kind: Deployment metadata: name: store-front spec: replicas: 1 selector: matchLabels: app: store-front template: metadata: labels: app: store-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: store-front image: ghcr.io/azure-samples/aks-store-demo/store-front:latest ports: - containerPort: 8080 name: store-front env: - name: VUE_APP_ORDER_SERVICE_URL value: "http://order-service:3000/" - name: VUE_APP_PRODUCT_SERVICE_URL value: "http://product-service:3002/" resources: requests: cpu: 1m memory: 200Mi limits: cpu: 1000m memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: store-front spec: ports: - port: 80 targetPort: 8080 selector: app: store-front type: LoadBalancer
A YAML-jegyzékfájlok lebontásához tekintse meg az üzembe helyezéseket és a YAML-jegyzékeket.
Ha helyileg hozza létre és menti a YAML-fájlt, feltöltheti a jegyzékfájlt az alapértelmezett könyvtárba a CloudShellben a Fájlok feltöltése/letöltése gombra kattintva, majd kiválasztva a fájlt a helyi fájlrendszerből.
Telepítse az alkalmazást a
kubectl apply
paranccsal, és adja meg a YAML-jegyzék nevét:kubectl apply -f aks-store-quickstart.yaml
Az alábbi példakimenet az üzemelő példányokat és szolgáltatásokat mutatja be:
deployment.apps/rabbitmq created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Az alkalmazás tesztelése
Az alkalmazás futtatásakor egy Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtérét az interneten. A folyamat eltarthat pár percig.
Ellenőrizze az üzembe helyezett podok állapotát a
kubectl get pods
paranccsal. Győződjön meg arról, hogy az összes pod a folytatás előtt vanRunning
.kubectl get pods
Ellenőrizze, hogy van-e nyilvános IP-cím az
store-front
alkalmazáshoz. A folyamat figyelése azkubectl get service
argumentumot tartalmazó paranccsal--watch
.kubectl get service store-front --watch
A szolgáltatás KÜLSŐ-IP-kimenete
store-front
kezdetben függőben lévőként jelenik meg:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 <pending> 80:30025/TCP 4h4m
Ha a külső IP-cím függőben lévőről tényleges nyilvános IP-címre változik, állítsa
CTRL-C
le akubectl
figyelés folyamatát.Az alábbi példakimenet a szolgáltatáshoz rendelt érvényes nyilvános IP-címet jeleníti meg:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 20.62.159.19 80:30025/TCP 4h5m
Nyisson meg egy webböngészőt a szolgáltatás külső IP-címére az Azure Store-alkalmazás működés közbeni megtekintéséhez.
A fürt törlése
Ha nem tervezi végigvezetni az AKS-oktatóanyag-sorozatot, törölje a felesleges erőforrásokat, hogy elkerülje az Azure-díjakat.
Az Azure Portalon lépjen az AKS-fürt erőforráscsoportjához.
Válassza az Erőforráscsoport törlése elemet.
Adja meg a törölni kívánt erőforráscsoport nevét, majd válassza a Törlés törlése> lehetőséget.
Feljegyzés
Az AKS-fürt egy rendszer által hozzárendelt felügyelt identitással lett létrehozva. Ezt az identitást a platform kezeli, és nem igényel eltávolítást.
Következő lépések
Ebben a rövid útmutatóban üzembe helyezett egy Kubernetes-fürtöt, majd üzembe helyezett egy egyszerű többtárolós alkalmazást. Ez a mintaalkalmazás csak bemutató célokra készült, és nem képviseli a Kubernetes-alkalmazások ajánlott eljárásait. Az éles AKS-sel való teljes megoldások létrehozásáról az AKS-megoldásokkal kapcsolatos útmutatást talál.
Ha többet szeretne megtudni az AKS-ről, és végig szeretne járni egy teljes kód–üzembe helyezés példán, folytassa a Kubernetes-fürt oktatóanyag-sorozatával.
Azure Kubernetes Service