Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Áttekintés
Ez a dokumentum részletes útmutatást nyújt egy AKS-fürt konfigurálásához az Azure Local platformon, amely külső Storage Area Network (SAN) erőforrásokat használ fel egyéni Kubernetes tároló osztályok és állandó kötetek alkalmazásával. Az alapul szolgáló mechanizmus a Tárolótároló interfész (CSI), amely lehetővé teszi, hogy a Kubernetes szabványosított módon működjön együtt a tároló háttérrendszereinek széles skálájával. Egyéni StorageClass definiálásával, amely a SAN-kiosztóhoz kapcsolódik, a munkaterhelések dinamikusan igényelhetnek és köthetnek le állandó tárhelyet anélkül, hogy minden egyes kötet esetében manuális rendszergazdai beavatkozásra lenne szükség.
Előfeltételek
Az Azure-ban üzembe helyezett és regisztrált Azure Local-fürt.
Az Azure CLI az aksarc és connectedk8s bővítményekkel került telepítésre.
Az Azure Local fürthöz konfigurált egyéni hely.
Az AKS-fürthözött létrehozott logikai hálózat (VNet).
Microsoft Entra-csoport fürtadminisztrátori hozzáféréssel.
A külső SAN-tárolóhoz való hozzáférés ki van építve és elérhető a Azure Local fürtcsomópontokról.
kubectl helyileg telepítve.
1. lépés: AKS-fürt létrehozása
A lehetőség: Azure Portal
- Lépjen az Azure Portalon az Azure helyi fürtre.
- A bal oldali menüben kattintson az Erőforrások → a Kubernetes-fürtökre.
- Kattintson a 'Kubernetes-fürt létrehozása' gombra.
- Adja meg a fürt nevét, válassza ki az Azure Local fürt egyéni helyét, és töltse ki a fennmaradó mezőket.
- Haladjon végig a varázsló lépésein, és kattintson a Létrehozás gombra.
Opció B: Azure CLI
Az alábbi parancs futtatása előtt telepítse a szükséges Azure CLI-bővítményeket. Jelentkezzen be az Azure-ba, és állítsa be a célelőfizetést, majd futtassa a következőt:
az aksarc create \
-n $aksclustername \
-g $resource_group \
--custom-location $customlocationID \
--vnet-ids $logicnetId \
--aad-admin-group-object-ids $aadgroupID \
--generate-ssh-keys
2. lépés: Csatlakozás a Kubernetes-fürthöz
Csatlakozzon az újonnan létrehozott fürthöz az az connectedk8s proxyparancs terminálablakban való futtatásával. Ez létrehoz egy helyi proxyt az Archoz csatlakoztatott fürthöz. Ezután nyisson meg egy új PowerShell-ablakot, amely ugyanarra a munkamappára mutat.
A fürtön működő összes további kubectl-parancs esetében előfordulhat, hogy explicit módon meg kell adnia a Kubernetes konfigurációs fájlját a következő jelölő hozzáfűzésével:
--kubeconfig .\aks-arc-kube-config
3. lépés: Egyéni tárolóosztály létrehozása lemezekhez
Az egyéni StorageClass az, ahogyan a Kubernetes leképez egy tárolási kérelmet egy, az Azure Localon elérhető, SAN-alapú lemeztípusra. A StorageClass definíciója meghatározza a CSI-kiépítést, a visszaigénylési szabályzatot, a kötési módot és a tárolószolgáltató CSI-illesztőprogramja által igényelt san-specifikus paramétereket.
A Microsoft Learn dokumentációját követve hozzon létre egy egyéni tárolóosztályt a lemezekhez: Container Storage Interface (CSI) lemezillesztők használata az Azure Arc által engedélyezett AKS-ben – Az Azure Arc által engedélyezett AKS | Microsoft Learn
Másik lehetőségként használja az Azure Portalt: lépjen az AKS-fürt lapjára, majd kattintson a Kubernetes-erőforrások → Storage-ra. Ezen a lapon tárosztályokat, állandó kötet jogcímeket és állandó köteteket hozhat létre és kezelhet.
4. lépés: Állandó mennyiségi jogcím létrehozása (PVC)
A StorageClass létrehozása után definiáljon egy állandó mennyiségi jogcímet (PVC) a SAN-tárolóerőforráshoz kötött állandó kötet kéréséhez. Az alábbi példa egy 1 GiB-kötetet kér le az egyéni tárosztály használatával:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: aks-hci-vhdx
spec:
accessModes:
- ReadWriteOnce
storageClassName: <your custom storage class name>
resources:
requests:
storage: 1Gi
5. lépés: Az állandó kötet használata egy Podban
Hivatkozzon a poddefinícióban lévő PVC-re egy volumeMount használatával. Az alábbi példa egy nginx-tárolót helyez üzembe, amely csatlakoztatja a SAN-alapú kötetet az /mnt/aks-hci címen, ahol az alkalmazás adatokat olvashat és írhat:
kind: Pod
apiVersion: v1
metadata:
name: nginx
spec:
containers:
- name: myfrontend
image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
volumeMounts:
- mountPath: "/mnt/aks-hci"
name: volume
volumes:
- name: volume
persistentVolumeClaim:
claimName: aks-hci-vhdx
6. lépés: Mintaalkalmazás telepítése állandó kötetekkel
Az alábbi teljes jegyzék üzembe helyezi az Azure Vote alkalmazást, amely egy Redis háttérrendszerből és egy webes előtérből áll. Mindkét összetevő csatlakoztatja a SAN-alapú állandó köteteket, és a végpontok közötti integrációt mutatja be a külső tárolóval az Azure Local-on.
Note
A jegyzék alkalmazása előtt győződjön meg arról, hogy a PVC-k aks-hci-vhdx-1 és aks-hci-vhdx-2 már létre lettek hozva az egyéni tárolási osztály használatával (a 4. lépésben leírtak szerint).
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"
ports:
- containerPort: 6379
name: redis
volumeMounts:
- mountPath: "/mnt/aks-hci"
name: volume1
volumes:
- name: volume1
persistentVolumeClaim:
claimName: aks-hci-vhdx-1
---
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
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
minReadySeconds: 5
template:
metadata:
labels:
app: azure-vote-front
spec:
nodeSelector:
"kubernetes.io/os": linux
containers:
- name: azure-vote-front
image: lgmorand/azure-vote-front:v1
ports:
- containerPort: 80
resources:
requests:
cpu: 250m
limits:
cpu: 500m
env:
- name: REDIS
value: "azure-vote-back"
volumeMounts:
- mountPath: "/mnt/aks-hci"
name: volume2
volumes:
- name: volume2
persistentVolumeClaim:
claimName: aks-hci-vhdx-2
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front