Azure Arc özellikli Kubernetes kümesinde GitOps kullanarak Helm Grafiklerini dağıtma
Önemli
Bu makale, Flux v1 ile GitOps'a yöneliktir. Flux v2 ile GitOps artık Azure Arc özellikli Kubernetes ve Azure Kubernetes Service (AKS) kümelerinde kullanılabilir; Flux v2 ile GitOps öğreticisine gidin. En kısa zamanda Flux v2'ye geçiş yapmanızı öneririz.
1 Ocak 2024 tarihinden önce oluşturulan Flux v1 tabanlı küme yapılandırma kaynakları desteği 24 Mayıs 2025'te sona erecektir. 1 Ocak 2024'den itibaren yeni Flux v1 tabanlı küme yapılandırma kaynakları oluşturamayacaksınız. Helm, Kubernetes uygulamalarını yüklemenize ve yaşam döngüsünü yönetmenize yardımcı olan bir açık kaynak paketleme aracıdır. APT ve Yum gibi Linux paket yöneticilerine benzer şekilde Helm, önceden yapılandırılmış Kubernetes kaynaklarının paketleri olan Kubernetes grafiklerini yönetmek için kullanılır.
Bu makalede Azure Arc özellikli Kubernetes ile Helm'i yapılandırma ve kullanma adımları gösterilmektedir.
Ön koşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
Mevcut Azure Arc özellikli Kubernetes bağlı kümesi.
- Henüz bir kümeye bağlanmadıysanız Azure Arc özellikli Kubernetes kümesi hızlı başlangıç Bağlan adımlarını izleyin.
Bu özelliğin avantajlarını ve mimarisini anlama. Yapılandırmalar ve GitOps - Azure Arc özellikli Kubernetes makalesinde daha fazla bilgi edinin.
k8s-configuration
Sürüm >= 1.0.0'ın Azure CLI uzantısını yükleyin:az extension add --name k8s-configuration
Azure Arc özellikli Kubernetes ile GitOps ve Helm kullanımına genel bakış
Helm operatörü, Helm Grafiği sürümlerini otomatik hale getiren bir Flux uzantısı sağlar. Helm Grafiği sürümü, HelmRelease adlı bir Kubernetes özel kaynağı aracılığıyla açıklanır. Flux bu kaynakları Git'ten kümeye eşitlerken Helm işleci Helm Grafiklerinin kaynaklarda belirtilen şekilde yayınlandığından emin olur.
Bu makalede kullanılan örnek depo aşağıdaki şekilde yapılandırılmıştır:
├── charts
│ └── azure-arc-sample
│ ├── Chart.yaml
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── deployment.yaml
│ │ └── service.yaml
│ └── values.yaml
└── releases
└── app.yaml
Git deposunda iki dizinimiz vardır: biri Helm Grafiği ve diğeri yayınlar yapılandırmasını içeren dizin. dizininde releases
, app.yaml
aşağıda gösterilen HelmRelease yapılandırmasını içerir:
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
Helm yayın yapılandırması aşağıdaki alanları içerir:
Alan | Tanım |
---|---|
metadata.name |
Zorunlu alan. Kubernetes adlandırma kurallarına uyması gerekir. |
metadata.namespace |
İsteğe bağlı alan. Yayının nerede oluşturulduğunu belirler. |
spec.releaseName |
İsteğe bağlı alan. Sağlanmadıysa yayın adı olacaktır $namespace-$name . |
spec.chart.path |
Grafiği içeren dizin (depo köküne göre). |
spec.values |
Varsayılan parametre değerlerinin Kullanıcı özelleştirmeleri Grafiğin kendisinden. |
HelmRelease spec.values
içinde belirtilen seçenekler, Grafik kaynağında values.yaml
belirtilen seçenekleri geçersiz kılar.
HelmRelease hakkında daha fazla bilgiyi resmi Helm Operatörü belgelerinde bulabilirsiniz.
Yapılandırma oluşturma
için k8s-configuration
Azure CLI uzantısını kullanarak bağlı kümenizi örnek Git deposuna bağlayın. Bu yapılandırmaya adı azure-arc-sample
verin ve ad alanına Flux işlecini dağıtın arc-k8s-demo
.
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
Yapılandırma parametreleri
Yapılandırmanın oluşturulmasını özelleştirmek için ek parametreler hakkında bilgi edinin.
Yapılandırmayı doğrulama
Azure CLI'yı kullanarak yapılandırmanın başarıyla oluşturulduğunu doğrulayın.
az k8s-configuration show --name azure-arc-sample --cluster-name AzureArcTest1 --resource-group AzureArcTest --cluster-type connectedClusters
Yapılandırma kaynağı uyumluluk durumu, iletiler ve hata ayıklama bilgileriyle güncelleştirilir.
{
"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"
}
Uygulamayı doğrulama
Aşağıdaki komutu çalıştırın ve uygulamanın çalıştığını doğrulamak için tarayıcınızda adresine gidin localhost:8080
.
kubectl port-forward -n arc-k8s-demo svc/arc-k8s-demo 8080:8080
Sonraki adımlar
Azure İlkesi kullanarak küme yapılandırmalarını uygun ölçekte uygulayın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin