Kubernetes-fürtök létrehozása az Azure CLI használatával
A következőkre vonatkozik: Azure Stack HCI, 23H2-es verzió
Ez a cikk azt ismerteti, hogyan hozhat létre Kubernetes-fürtöket az Azure Stack HCI-ben az Azure CLI használatával. A munkafolyamat a következő:
- Hozzon létre egy Kubernetes-fürtöt az Azure Stack HCI 23H2-ben az Azure CLI használatával. A fürt alapértelmezés szerint Azure Arc-kapcsolattal van csatlakoztatva.
- A fürt létrehozása során egy Microsoft Entra csoportot biztosít, amely tartalmazza a Kubernetes-fürt rendszergazdai hozzáféréssel rendelkező Microsoft Entra felhasználók listáját.
- A fürt elérése a kubectl és a Microsoft Entra ID használatával.
- Futtasson egy többtárolós mintaalkalmazást egy webes előtérrendszerrel és egy Redis-példánnyal a fürtben.
Előkészületek
- Mielőtt hozzákezdene, győződjön meg arról, hogy rendelkezik a helyszíni infrastruktúra rendszergazdájának következő adataival:
- Azure-előfizetés azonosítója – Az Azure-előfizetés azonosítója, ahol az Azure Stack HCI üzemelő példányként és regisztrációként használható.
- Egyéni hely azonosítója – Az egyéni hely Azure Resource Manager azonosítója. Az egyéni hely az Azure Stack HCI-fürt üzembe helyezése során van konfigurálva. Az infrastruktúra-rendszergazdának meg kell adnia az egyéni hely Resource Manager azonosítóját. Ez a paraméter a Kubernetes-fürtök létrehozásához szükséges. A Resource Manager azonosítóját is lekérheti a használatával
az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv
, ha az infrastruktúra-rendszergazda egyéni helynevet és erőforráscsoport-nevet ad meg. - Hálózati azonosító – Az Alábbi lépések végrehajtásával létrehozott Azure Stack HCI logikai hálózat Azure Resource Manager azonosítója. A rendszergazdának meg kell adnia a logikai hálózat azonosítóját. Ez a paraméter a Kubernetes-fürtök létrehozásához szükséges. Az Azure Resource Manager azonosítóját
az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv
is lekérheti, ha ismeri azt az erőforráscsoportot, amelyben a logikai hálózat létre lett hozva.
- A cikkben található lépéseket egy helyi fejlesztőgépen futtatva létrehozhat egy Kubernetes-fürtöt a távoli Azure Stack HCI-környezetben. Győződjön meg arról, hogy az Az CLI legújabb verzióját használja a fejlesztői gépen. Az Az CLI-verziót a használatával
az upgrade
is frissítheti. - Ha bárhonnan csatlakozni szeretne a Kubernetes-fürthöz, hozzon létre egy Microsoft Entra csoportot, és adjon hozzá tagokat. A Microsoft Entra csoport összes tagja fürtadminisztrátori hozzáféréssel rendelkezik a fürthöz. Mindenképpen vegye fel magát tagként a Microsoft Entra csoportba. Ha nem adja hozzá magát, nem férhet hozzá a Kubernetes-fürthöz a kubectl használatával. További információ a Microsoft Entra csoportok létrehozásáról és a felhasználók hozzáadásáról: Microsoft Entra csoportok és csoporttagság kezelése.
- Töltse le és telepítse a kubectl-et a fejlesztői gépére. A Kubernetes parancssori eszköze, a kubectl lehetővé teszi a parancsok Kubernetes-fürtökön való futtatását. A kubectl használatával alkalmazásokat helyezhet üzembe, megvizsgálhatja és kezelheti a fürterőforrásokat, valamint megtekintheti a naplókat.
Az Azure CLI-bővítmény telepítése
Futtassa a következő parancsot a szükséges Azure CLI-bővítmények telepítéséhez:
az extension add -n aksarc --upgrade
az extension add -n customlocation --upgrade
az extension add -n stack-hci-vm --upgrade
az extension add -n connectedk8s --upgrade
Kubernetes-fürt létrehozása
az aksarc create
Az paranccsal hozzon létre egy Kubernetes-fürtöt az AKS Arcban. A parancs futtatása előtt mindenképpen jelentkezzen be az Azure-ba. Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót az az account set paranccsal.
az aksarc create -n $aksclustername -g $resource_group --custom-location $customlocationID --vnet-ids $logicnetId --aad-admin-group-object-ids $aadgroupID --generate-ssh-keys --load-balancer-count 0 --control-plane-ip $controlplaneIP
Néhány perc elteltével a parancs befejeződik, és JSON formátumú információkat ad vissza a fürtről.
Csatlakozás a Kubernetes-fürthöz
Most már csatlakozhat a Kubernetes-fürthöz a az connectedk8s proxy
fejlesztői gépről futtatott paranccsal. A parancs futtatása előtt mindenképpen jelentkezzen be az Azure-ba. Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót az az account set paranccsal.
Ez a parancs letölti a Kubernetes-fürt kubeconfigját a fejlesztői gépre, és megnyitja a helyszíni Kubernetes-fürt proxykapcsolati csatornáját. A csatorna addig van nyitva, amíg a parancs fut. Futtassa ezt a parancsot addig, amíg hozzá szeretne férni a fürthöz. Ha túllépi az időkorlátot, zárja be a parancssori felület ablakát, nyisson meg egy újat, majd futtassa újra a parancsot.
A következő parancs sikeres futtatásához közreműködői engedélyekkel kell rendelkeznie a Kubernetes-fürtöt üzemeltető erőforráscsoporton:
az connectedk8s proxy --name $aksclustername --resource-group $resource_group --file .\aks-arc-kube-config
Várt kimenet:
Proxy is listening on port 47011
Merged "aks-workload" as current context in .\\aks-arc-kube-config
Start sending kubectl requests on 'aks-workload' context using
kubeconfig at .\\aks-arc-kube-config
Press Ctrl+C to close proxy.
Futtassa a munkamenetet, és csatlakozzon a Kubernetes-fürthöz egy másik terminálról/parancssorból. Ellenőrizze, hogy tud-e csatlakozni a Kubernetes-fürthöz a kubectl get parancs futtatásával. Ez a parancs a fürtcsomópontok listáját adja vissza:
kubectl get node -A --kubeconfig .\aks-arc-kube-config
Az alábbi kimeneti példa 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
moc-l0ttdmaioew Ready control-plane,master 34m v1.24.11
moc-ls38tngowsl Ready <none> 32m v1.24.11
Az alkalmazás üzembe helyezése
A Kubernetes-jegyzékfájl meghatározza a fürt kívánt állapotát, például azt, hogy mely tárolólemezképeket kell futtatni.
A jegyzékfájl használatával létrehozhatja az Azure Vote alkalmazás futtatásához szükséges összes objektumot. Ez a jegyzékfájl két Kubernetes-üzemelő példányt tartalmaz:
- A minta Azure Vote Python-alkalmazások.
- Egy Redis-példány.
Két Kubernetes-szolgáltatás is létrejön:
- A Redis-példány belső szolgáltatása.
- Külső szolgáltatás az Azure Vote alkalmazás internetről való eléréséhez.
Hozzon létre egy azure-vote.yaml nevű fájlt, és másolja a következő jegyzékfájlba:
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:
"kubernetes.io/os": linux
containers:
- name: azure-vote-back
image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
env:
- name: ALLOW_EMPTY_PASSWORD
value: "yes"
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:
"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 nevét:
kubectl apply -f azure-vote.yaml --kubeconfig .\\aks-arc-kube-config
Az alábbi példakimenet a sikeresen létrehozott üzemelő példányokat é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 a Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtérrendszerét az interneten. A folyamat eltarthat pár percig.
Figyelje az előrehaladást a kubectl get service paranccsal az --watch
argumentummal.
kubectl get service azure-vote-front --watch --kubeconfig .\aks-arc-kube-config
Az azure-vote-front szolgáltatás EXTERNAL-IP kimenete kezdetben fü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 6s
Miután az EXTERNAL-IP-cím függő állapotról tényleges nyilvános IP-címre vált, 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:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
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.
A fürt törlése
Futtassa a az aksarc delete
parancsot a létrehozott fürt törléséhez:
az aksarc delete --resource-group $aksclustername --name $resource_group
Következő lépések
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: