Oktatóanyag: Linux-alkalmazás üzembe helyezése
A következőkre vonatkozik: AKS az Azure Stack HCI 22H2-ben, AKS Windows Serveren
Ez az oktatóanyag bemutatja, hogyan helyezhet üzembe egy többtárolós alkalmazást, amely egy webes előtér- és egy Redis-adatbázispéldányt tartalmaz a Kubernetes-fürtön az Azure Arc által engedélyezett AKS-ben. Azt is megtudhatja, hogyan tesztelheti és skálázhatja az alkalmazást.
Ez az oktatóanyag feltételezi a Kubernetes-fogalmak alapszintű megértését. További információ: Kubernetes alapfogalmak.
Előkészületek
Ellenőrizze, hogy készen állnak-e a következő követelmények:
- Egy olyan AKS-fürt, amely legalább egy Linux-feldolgozó csomóponttal rendelkezik, amely működik és fut.
- Kubeconfig-fájl a fürt eléréséhez.
- Az AksHci PowerShell-modul telepítve van. További információ: Install-AksHci.
Az oktatóanyagok elvégzésekor:
- Futtassa a parancsokat egy rendszergazdai jogosultságokkal megnyitott PowerShell-ablakban.
- Győződjön meg arról, hogy az operációsrendszer-specifikus számítási feladatok a megfelelő tároló gazdagépre szállnak. Ha a Kubernetes-fürt linuxos és Windows-alapú munkavégző csomópontok keverékével rendelkezik, használhat csomópontválasztókat, illetve hibaelhárítókat és tűréseket. További információ: Csomópontválasztók, -fertőzöttek és -tűrések használata.
Megjegyzés
Ha olyan célfürtöt helyez üzembe, amely egy másik célfürttel oszt meg egy hálózatot, terheléselosztó IP-címütközéseket okozhat.
IP-címütközések akkor fordulhatnak elő, ha két olyan számítási feladatot helyez üzembe, amelyek különböző portokat használnak az azonos AksHciClusterNetwork
objektumot használó célfürtökben. Mivel az IP-címek és a portleképezések a HA-proxyn belül vannak lefoglalva, duplikált IP-címek hozzárendeléséhez vezethet. Ha ez történik, egy vagy mindkét számítási feladat véletlenszerű hálózati csatlakozási problémákat tapasztalhat, amíg újra üzembe nem helyezi a számítási feladatokat. A számítási feladatok újbóli üzembe helyezésekor használhatja ugyanazt a portot, amely minden számítási feladathoz hozzárendel egy szolgáltatás IP-címét, vagy újra üzembe helyezheti a számítási feladatokat a különböző AksHciClusterNetwork
objektumokat használó célfürtökön.
Az alkalmazás üzembe helyezése
A Kubernetes-jegyzékfájl definiálja a fürt kívánt állapotát, például azt, hogy mely tárolólemezképeket kell futtatni. Ez az oktatóanyag jegyzékfájlt használ az Azure vote alkalmazás futtatásához szükséges összes objektum létrehozásához. Ez a jegyzék két Kubernetes-üzemelő példányt tartalmaz: az egyiket a minta Azure Vote Python-alkalmazásokhoz, a másikat pedig egy Redis-példányhoz. Két Kubernetes-szolgáltatás is létrejön: egy belső szolgáltatás a Redis-példányhoz, és egy külső szolgáltatás az Azure Vote alkalmazás internetről való eléréséhez.
Létrehozás egy azure-vote.yaml nevű fájlt, és másolja/illessze be a következő YAML-definíciót:
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-back
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-back
template:
metadata:
labels:
app: azure-vote-back
spec:
nodeSelector:
"beta.kubernetes.io/os": linux
containers:
- name: azure-vote-back
image: redis
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
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/v1
kind: Deployment
metadata:
name: azure-vote-front
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-front
template:
metadata:
labels:
app: azure-vote-front
spec:
nodeSelector:
"beta.kubernetes.io/os": linux
containers:
- name: azure-vote-front
image: mcr.microsoft.com/azuredocs/azure-vote-front:v1
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
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
Telepítse az alkalmazást a kubectl apply
paranccsal, és adja meg a YAML-jegyzék nevét:
kubectl apply -f azure-vote.yaml
Az alábbi példakimenet a sikeresen létrehozott üzembe helyezéseket és szolgáltatásokat mutatja be:
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 egy Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtérrendszerét az interneten. A folyamat eltarthat pár percig.
A folyamat figyeléséhez használja a parancsot az kubectl get service
--watch
argumentummal:
kubectl get service azure-vote-front --watch
Kezdetben az azure-vote-front szolgáltatás EXTERNAL-IP-címefüggőben állapotúként jelenik meg:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 22m
Ha a KÜLSŐ-IP-címfüggőben állapotról tényleges nyilvános IP-címre változik, a CTRL-C billentyűkombinációval állítsa le a kubectl
watch folyamatot. Az alábbi példakimenet a szolgáltatáshoz rendelt érvényes nyilvános IP-címet mutatja be:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 24m
Az Azure Vote alkalmazás működés közbeni megtekintéséhez nyisson meg egy webböngészőt a szolgáltatás külső IP-címére.
Alkalmazás podok skálázása
Az Azure Voting App előtér- és Redis-példányának egyetlen replikáját hoztuk létre. A fürtön lévő podok számának és állapotának megtekintéséhez használja a kubectl get
következő parancsot:
kubectl get pods -n default
A következő példa egy előtérbeli podot és egy háttérbeli podot mutat be:
NAME READY STATUS RESTARTS AGE
azure-vote-back-6bdcb87f89-g2pqg 1/1 Running 0 25m
azure-vote-front-84c8bf64fc-cdq86 1/1 Running 0 25m
Az azure-vote-front üzembe helyezésben lévő podok számának módosításához használja a kubectl scale
parancsot. A következő példa 5-re növeli az előtérbeli podok számát:
kubectl scale --replicas=5 deployment/azure-vote-front
Futtassa újra a parancsot kubectl get pods
, és ellenőrizze, hogy további podok lettek-e létrehozva. Hozzávetőleg egy perc elteltével az újabb podok elérhetők a fürtön:
kubectl get pods -n default
Name READY STATUS RESTARTS AGE
azure-vote-back-6bdcb87f89-g2pqg 1/1 Running 0 31m
azure-vote-front-84c8bf64fc-cdq86 1/1 Running 0 31m
azure-vote-front-84c8bf64fc-56h64 1/1 Running 0 80s
azure-vote-front-84c8bf64fc-djkp8 1/1 Running 0 80s
azure-vote-front-84c8bf64fc-jmmvs 1/1 Running 0 80s
azure-vote-front-84c8bf64fc-znc6z 1/1 Running 0 80s
Következő lépések
A fürt és az alkalmazás monitorozása az Azure Monitor használatával
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: