Helm-diagramok üzembe helyezése a GitOps használatával egy Azure Arc-kompatibilis Kubernetes-fürtön
Fontos
Ez a cikk a Flux v1-et tartalmazó GitOpshoz készült. A Flux v2-vel rendelkező GitOps mostantól elérhető az Azure Arc-kompatibilis Kuberneteshez és az Azure Kubernetes Service-fürtökhöz; nyissa meg a GitOps és a Flux v2 oktatóanyagát. Javasoljuk , hogy mihamarabb migráljon a Flux v2-re .
A 2024. január 1. előtt létrehozott Flux v1-alapú fürtkonfigurációs erőforrások támogatása 2025. május 24-én megszűnik. 2024. január 1-től kezdődően nem hozhat létre új Flux v1-alapú fürtkonfigurációs erőforrásokat. A Helm egy nyílt forráskódú csomagoló eszköz, amely a Kubernetes-alkalmazások telepítését és életciklusának kezelését segíti. A Linux-csomagkezelőkhöz, például az APT-hez és a Yumhoz hasonlóan a Helm a Kubernetes-diagramok kezelésére szolgál, amelyek előre konfigurált Kubernetes-erőforrások csomagjai.
Ez a cikk bemutatja, hogyan konfigurálhatja és használhatja a Helmt az Azure Arc-kompatibilis Kubernetes-lel.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
Meglévő Azure Arc-kompatibilis Kubernetes-fürt.
- Ha még nem csatlakoztatott fürtöt, tekintse át Csatlakozás egy Azure Arc-kompatibilis Kubernetes-fürt rövid útmutatóját.
A funkció előnyeinek és architektúrájának ismerete. További információ a Konfigurációk és a GitOps – Azure Arc-kompatibilis Kubernetes-cikkben.
Telepítse az
k8s-configuration
1.0.0-s verzió >Azure CLI-bővítményét:az extension add --name k8s-configuration
A GitOps és a Helm Azure Arc-kompatibilis Kubernetes-lel való használatának áttekintése
A Helm-operátor a Flux bővítményét biztosítja, amely automatizálja a Helm Chart kiadásait. A Helm-diagram kiadását egy HelmRelease nevű egyéni Kubernetes-erőforrás ismerteti. A Flux szinkronizálja ezeket az erőforrásokat a Gitből a fürtbe, míg a Helm-operátor gondoskodik arról, hogy a Helm-diagramok az erőforrásokban megadott módon legyenek felszabadítva.
A cikkben használt példaadattár a következő módon van strukturálva:
├── charts
│ └── azure-arc-sample
│ ├── Chart.yaml
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── deployment.yaml
│ │ └── service.yaml
│ └── values.yaml
└── releases
└── app.yaml
A Git-adattárban két könyvtár található: az egyik helm-diagramot és egy kiadási konfigurációt tartalmaz. releases
A címtárban a app.yaml
HelmRelease konfigurációja található, az alábbiakban látható:
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: azure-arc-sample
namespace: arc-k8s-demo
spec:
releaseName: arc-k8s-demo
chart:
git: https://github.com/Azure/arc-helm-demo
ref: master
path: charts/azure-arc-sample
values:
serviceName: arc-k8s-demo
A Helm kiadási konfigurációja a következő mezőket tartalmazza:
Mező | Description |
---|---|
metadata.name |
Kötelező mező. Követnie kell a Kubernetes elnevezési konvencióit. |
metadata.namespace |
Nem kötelező kitölteni. Meghatározza a kiadás létrehozásának helyét. |
spec.releaseName |
Nem kötelező kitölteni. Ha nincs megadva, a kiadás neve a következő lesz $namespace-$name : . |
spec.chart.path |
A diagramot tartalmazó könyvtár (az adattár gyökérkönyvtárához viszonyítva). |
spec.values |
A diagram alapértelmezett paraméterértékeinek felhasználói testreszabása. |
A HelmRelease-ben spec.values
megadott beállítások felülbírálják a diagramforrásban values.yaml
megadott beállításokat.
A HelmRelease-ről a Helm Operator hivatalos dokumentációjában olvashat bővebben.
Konfiguráció létrehozása
Az Azure CLI-bővítmény k8s-configuration
használatával csatolja a csatlakoztatott fürtöt a git-adattárhoz. Adja meg ennek a konfigurációnak a nevét azure-arc-sample
, és helyezze üzembe a Flux operátort a arc-k8s-demo
névtérben.
az k8s-configuration create --name azure-arc-sample --cluster-name AzureArcTest1 --resource-group AzureArcTest --operator-instance-name flux --operator-namespace arc-k8s-demo --operator-params='--git-readonly --git-path=releases' --enable-helm-operator --helm-operator-chart-version='1.2.0' --helm-operator-params='--set helm.versions=v3' --repository-url https://github.com/Azure/arc-helm-demo.git --scope namespace --cluster-type connectedClusters
Konfigurációs paraméterek
A konfiguráció létrehozásának testreszabásához további paraméterekkel ismerkedhet meg.
A konfiguráció ellenőrzése
Az Azure CLI használatával ellenőrizze, hogy a konfiguráció sikeresen létrejött-e.
az k8s-configuration show --name azure-arc-sample --cluster-name AzureArcTest1 --resource-group AzureArcTest --cluster-type connectedClusters
A konfigurációs erőforrás megfelelőségi állapottal, üzenetekkel és hibakeresési információkkal frissül.
{
"complianceStatus": {
"complianceState": "Installed",
"lastConfigApplied": "2019-12-05T05:34:41.481000",
"message": "{\"OperatorMessage\":null,\"ClusterState\":null}",
"messageLevel": "3"
},
"enableHelmOperator": "True",
"helmOperatorProperties": {
"chartValues": "--set helm.versions=v3",
"chartVersion": "1.2.0"
},
"id": "/subscriptions/57ac26cf-a9f0-4908-b300-9a4e9a0fb205/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/azure-arc-sample",
"name": "azure-arc-sample",
"operatorInstanceName": "flux",
"operatorNamespace": "arc-k8s-demo",
"operatorParams": "--git-readonly --git-path=releases",
"operatorScope": "namespace",
"operatorType": "Flux",
"provisioningState": "Succeeded",
"repositoryPublicKey": "",
"repositoryUrl": "https://github.com/Azure/arc-helm-demo.git",
"resourceGroup": "AzureArcTest",
"type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations"
}
Alkalmazás ellenőrzése
Futtassa a következő parancsot, és keresse meg localhost:8080
a böngészőben az alkalmazás futásának ellenőrzéséhez.
kubectl port-forward -n arc-k8s-demo svc/arc-k8s-demo 8080:8080
Következő lépések
Fürtkonfigurációk nagy léptékű alkalmazása az Azure Policy használatával.