Aracılığıyla paylaş


GitOps (Flux v2) tarafından desteklenen parametreler

Azure, GitOps kullanarak Azure Kubernetes Service (AKS) ve Azure Arc özellikli Kubernetes kümeleriyle çalışan otomatik bir uygulama dağıtımları özelliği sağlar. Flux v2 ile GitOps, küme yapılandırması ve uygulama dağıtımı için doğru kaynağı olarak Git deponuzu kullanmanıza olanak tanır. Daha fazla bilgi için bkz . GitOps ile uygulama dağıtımları (Flux v2) ve Öğretici: Flux v2 ile GitOps kullanarak uygulamaları dağıtma.

Azure Arc özellikli Kubernetes veya Azure Kubernetes Service'te GitOps, çeşitli senaryoları etkinleştirmek için birçok parametreyi destekleyen popüler bir açık kaynak araç kümesi olan Flux'u kullanır. Flux'un desteklediği tüm parametrelerin açıklaması için resmi Flux belgelerine bakın.

Azure'da Flux tarafından desteklenen tüm parametreleri görmek için belgelere az k8s-configuration bakın. Bu uygulama şu anda Flux'un desteklediği her parametreyi desteklememektedir. Azure uygulamasında ihtiyacınız olan bir parametrenin eksik olup olmadığını bize bildirin.

Bu makalede, komut için az k8s-configuration flux create kullanılabilen bazı parametreler ve bağımsız değişkenler açıklanmaktadır. Parametresinin az k8s-configuration flux tam listesini Azure CLI'da (örneğin, az k8s-configuration flux -h veya az k8s-configuration flux create -h) kullanarak -h da görebilirsiniz.

İpucu

Flux kaynaklarını desteklenmeyen parametrelerle dağıtmak için geçici bir çözüm, Git deponuzda gerekli Flux özel kaynaklarını (GitRepository veya Kustomization gibi) tanımlamaktır. Komutuyla bu kaynakları dağıtın az k8s-configuration flux create . Daha sonra Azure Arc kullanıcı arabirimi aracılığıyla Flux kaynaklarınıza erişmeye devam edebilirsiniz.

Yapılandırma genel bağımsız değişkenleri

Parametre Biçim Notlar
--cluster-name -c String Azure'daki küme kaynağının adı.
--cluster-type -t İzin verilen değerler: connectedClusters, managedClusters Azure Arc özellikli Kubernetes kümeleri veya managedClusters AKS kümeleri için kullanınconnectedClusters.
--resource-group -g String Küme kaynağını barındıran Azure kaynak grubunun adı.
--name -n String Azure'da Flux yapılandırmasının adı.
--namespace --ns String Yapılandırmanın dağıtılacağı ad alanının adı. Varsayılan: default.
--scope -s String İşleçler için izin kapsamı. Olası değerler (tam erişim) veya namespace (kısıtlı erişim) değerleridir cluster . Varsayılan: cluster.
--suspend flag Bu Flux yapılandırmasında tanımlanan tüm kaynak ve kustomize mutabakatlarını askıya alır. Askıya alma sırasında etkin olan mutabakatlar devam edecektir.

Kaynak genel bağımsız değişkenleri

Parametre Biçim Notlar
--kind String Mutabık olunacak kaynak türü. İzin verilen değerler: bucket, git, azblob. Varsayılan: git.
--timeout golang süre biçimi Zaman aşımına uğramadan önce kaynağı mutabık hale getirmek için gereken en uzun süre. Varsayılan: 10m.
--sync-interval --interval golang süre biçimi Kümedeki kaynağın mutabakatları arasındaki süre. Varsayılan: 10m.

Git deposu kaynak başvurusu bağımsız değişkenleri

Parametre Biçim Notlar
--branch String Kümeyle eşitlemek için Git kaynağı içinde dallanma. Varsayılan: master. Daha yeni depoların adlı mainbir kök dalı olabilir. Bu durumda değerini ayarlamanız --branch=maingerekir.
--tag String Kümeyle eşitlemek için Git kaynağı içinde etiketleyin. Örnek: --tag=3.2.0.
--semver String Kümeyle eşitlenecek Git kaynağındaki Git etiket semver aralığı. Örnek: --semver=">=3.1.0-rc.1 <3.2.0".
--commit String Git, kümeyle eşitlemek için Git kaynağı içinde SHA işler. Örnek: --commit=363a6a8fe6a7f13e05d34c163b0ef02a777da20a.

Daha fazla bilgi için Git deposu kullanıma alma stratejileriyle ilgili Flux belgelerine bakın.

Genel Git deposu

Parametre Biçim Notlar
--url -u http[s]://server/repo[.git] Kümeyle mutabık hale getirmek için Git deposu kaynağının URL'si.

SSH ile özel Git deposu

Önemli

Azure DevOps , SSH kullanarak Azure depolarına bağlanmak için desteklenen bir şifreleme yöntemi olarak SSH-RSA'nın kullanımdan kaldırlanacağını duyurdu. Flux yapılandırmalarında Azure depolarına bağlanmak için SSH anahtarları kullanıyorsanız, daha güvenli RSA-SHA2-256 veya RSA-SHA2-512 anahtarlarına geçmenizi öneririz. Daha fazla bilgi için bkz . Azure DevOps SSH-RSA kullanımdan kaldırma.

SSH ve Flux tarafından oluşturulan anahtarlara sahip özel Git deposu

Flux tarafından oluşturulan ortak anahtarı Git hizmet sağlayıcınızdaki kullanıcı hesabına ekleyin.

Parametre Biçim Notlar
--url -u ssh://user@server/repo[.git] git@ , ortak anahtar kullanıcı hesabı yerine depoyla ilişkiliyse değiştirilmelidir user@ .

SSH ve kullanıcı tarafından sağlanan anahtarlara sahip özel Git deposu

Doğrudan veya dosyadan kendi özel anahtarınızı kullanın. Anahtarın PEM biçiminde olması ve yeni bir satırla (\n ) bitmesi gerekir.

İlişkili ortak anahtarı Git hizmet sağlayıcınızdaki kullanıcı hesabına ekleyin.

Parametre Biçim Notlar
--url -u ssh://user@server/repo[.git] git@ , ortak anahtar kullanıcı hesabı yerine depoyla ilişkiliyse değiştirilmelidir user@ .
--ssh-private-key PEM biçiminde Base64 anahtarı Anahtarı doğrudan sağlayın.
--ssh-private-key-file Yerel dosyanın tam yolu PEM biçim anahtarını içeren yerel dosyanın tam yolunu belirtin.

SSH ve kullanıcı tarafından sağlanan bilinen konaklarla özel Git konağı

Flux işleci, dosyasındaki ortak Git konaklarının known_hosts listesini tutar. Flux, SSH bağlantısını kurmadan önce Git deposunun kimliğini doğrulamak için bu bilgileri kullanır. Yaygın olmayan bir Git deposu veya kendi Git konağınızı kullanıyorsanız, Flux'un deponuzu tanımlayabilmesi için konak anahtarını sağlayabilirsiniz.

Aynı özel anahtarlar gibi, known_hosts içeriğinizi doğrudan veya bir dosya içinde sağlayabilirsiniz. Kendi içeriğinizi sağlarken, önceki SSH anahtar senaryolarından biriyle birlikte known_hosts içerik biçimi belirtimlerini kullanın.

Parametre Biçim Notlar
--url -u ssh://user@server/repo[.git] git@ yerine kullanabilir user@.
--known-hosts Base64 dizesi İçeriği doğrudan sağlayın known_hosts .
--known-hosts-file Yerel dosyanın tam yolu Yerel bir dosyada içerik sağlayın known_hosts .

HTTPS kullanıcısı ve anahtarı olan özel Git deposu

Parametre Biçim Notlar
--url -u https://server/repo[.git] Temel Kimlik Doğrulaması ile HTTPS.
--https-user Ham dize HTTPS kullanıcı adı.
--https-key Ham dize HTTPS kişisel erişim belirteci veya parolası.

HTTPS CA sertifikasına sahip özel Git deposu

Parametre Biçim Notlar
--url -u https://server/repo[.git] Temel Kimlik Doğrulaması ile HTTPS.
--https-ca-cert Base64 dizesi TLS iletişimi için CA sertifikası.
--https-ca-cert-file Yerel dosyanın tam yolu Yerel bir dosyada CA sertifikası içeriği sağlayın.

Demet kaynağı bağımsız değişkenleri

Kaynak kullanıyorsanız bucket , demetlere özgü komut bağımsız değişkenleri aşağıdadır.

Parametre Biçim Notlar
--url -u URL Dizesi url'si bucket. Desteklenen biçimler: http://, https://.
--bucket-name String Eşitlenecek öğesinin bucket adı.
--bucket-access-key String ile bucketkimlik doğrulaması yapmak için kullanılan Erişim Anahtarı Kimliği.
--bucket-secret-key String ile bucketkimlik doğrulaması yapmak için kullanılan Gizli Anahtar.
--bucket-insecure Boolean TLS olmadan ile bucket iletişim kurun. Sağlanmadıysa false varsayılır; sağlandıysa true kabul edilir.

hesap kaynağı bağımsız değişkenlerini Azure Blob Depolama

Kaynak kullanıyorsanız azblob bloba özgü komut bağımsız değişkenleri aşağıdadır.

Parametre Biçim Notlar
--url -u URL Dizesi url'si azblob.
--container-name String Eşitlenecek Azure Blob Depolama kapsayıcısının adı
--sp_client_id String Bu kimlik doğrulama yöntemi için gereken Azure Blob ile bir hizmet sorumlusunun kimliğini doğrulamak için istemci kimliği
--sp_tenant_id String Azure Blob ile bir hizmet sorumlusunun kimliğini doğrulamak için kiracı kimliği, bu kimlik doğrulama yöntemi için gereklidir
--sp_client_secret String Azure Blob ile hizmet sorumlusunun kimliğini doğrulamak için istemci gizli dizisi
--sp_client_cert String Azure Blob ile hizmet sorumlusunun kimliğini doğrulamak için Base64 kodlanmış istemci sertifikası
--sp_client_cert_password String Azure Blob ile hizmet sorumlusunun kimliğini doğrulamak için kullanılan istemci sertifikasının parolası
--sp_client_cert_send_chain String İstemci sertifikası için konu adını /veren tabanlı kimlik doğrulamasını etkinleştirmek üzere bir belirteç alırken istemci taleplerine x5c üst bilgisinin eklenip eklenmeyeceğini belirtir
--account_key String Kimlik doğrulaması için Azure Blob Paylaşılan Anahtarı
--sas_token String Kimlik doğrulaması için Azure Blob SAS Belirteci
--managed-identity-client-id String Azure Blob ile kimlik doğrulaması için yönetilen kimliğin istemci kimliği

Önemli

AKS kümeleri ve azblob kaynağı için yönetilen kimlik kimlik doğrulaması kullanılırken, yönetilen kimlik en azından Depolama Blobu Veri Okuyucusu rolüne atanmalıdır. Yönetilen kimlik kullanarak kimlik doğrulaması, Azure Arc özellikli Kubernetes kümeleri için henüz kullanılamıyor.

Kaynakla kimlik doğrulaması için yerel gizli dizi

bir veya kaynağıyla kimlik doğrulaması için yerel bir gitbucket azBlob Kubernetes gizli dizisi kullanabilirsiniz. Yerel gizli dizi, kaynak için gereken tüm kimlik doğrulama parametrelerini içermelidir ve Flux yapılandırmasıyla aynı ad alanında oluşturulmalıdır.

Parametre Biçim Notlar
--local-auth-ref --local-ref String Kaynakla kimlik doğrulaması için kullanılacak Flux yapılandırma ad alanında bir Kubernetes gizli dizisine yerel başvuru.

HTTPS kimlik doğrulaması için ve passwordile username bir gizli dizi oluşturursunuz:

kubectl create ns flux-config
kubectl create secret generic -n flux-config my-custom-secret --from-literal=username=<my-username> --from-literal=password=<my-password-or-key>

SSH kimlik doğrulaması için ve known_hosts alanlarıyla identity bir gizli dizi oluşturursunuz:

kubectl create ns flux-config
kubectl create secret generic -n flux-config my-custom-secret --from-file=identity=./id_rsa --from-file=known_hosts=./known_hosts

Önemli

Azure DevOps , SSH kullanarak Azure depolarına bağlanmak için desteklenen bir şifreleme yöntemi olarak SSH-RSA'nın kullanımdan kaldırlanacağını duyurdu. Flux yapılandırmalarında Azure depolarına bağlanmak için SSH anahtarları kullanıyorsanız, daha güvenli RSA-SHA2-256 veya RSA-SHA2-512 anahtarlarına geçmenizi öneririz. Daha fazla bilgi için bkz . Azure DevOps SSH-RSA kullanımdan kaldırma.

Her iki durumda da, Flux yapılandırmasını oluştururken diğer kimlik doğrulama parametrelerinin yerine kullanın --local-auth-ref my-custom-secret :

az k8s-configuration flux create -g <cluster_resource_group> -c <cluster_name> -n <config_name> -t connectedClusters --scope cluster --namespace flux-config -u <git-repo-url> --kustomization name=kustomization1 --local-auth-ref my-custom-secret

Şu kimlik doğrulama yöntemleriyle yerel Kubernetes gizli dizilerini kullanma hakkında daha fazla bilgi edinin:

Not

Ara sunucunuz aracılığıyla kaynağa erişmek için Flux'a ihtiyacınız varsa Azure Arc aracılarını ara sunucu ayarlarıyla güncelleştirmeniz gerekir. Daha fazla bilgi için bkz . Giden ara sunucu kullanarak bağlanma.

Git uygulaması

Git uygulayan çeşitli depo sağlayıcılarını desteklemek için, Flux iki Git kitaplığından birini kullanacak şekilde yapılandırılabilir: go-git veya libgit2. Ayrıntılar için Flux belgelerine bakın.

Flux v2'nin GitOps uygulaması, genel bulut depoları için hangi kitaplığın kullanılacağını otomatik olarak belirler:

  • GitHub, GitLab ve BitBucket depoları için Flux kullanır go-git.
  • Azure DevOps ve diğer tüm depolar için Flux kullanır libgit2.

Şirket içi depolar için Flux kullanır libgit2.

Kustomizasyon

Kustomization, kaynak depoda kümeyle mutabık olan belirli bir yolu seçmenizi sağlayan Flux yapılandırmaları için oluşturulmuş bir ayardır. Bu belirtilen yolda bir 'kustomization.yaml dosyası oluşturmanız gerekmez. Varsayılan olarak, bu yoldaki tüm bildirimler uzlaştırılır. Ancak, bu depo yolundaki uygulamalar için kustomize yer paylaşımına sahip olmak istiyorsanız, Flux yapılandırmasının kullanılabilmesi için Git'te Kustomize dosyaları oluşturmanız gerekir.

kullanarak az k8s-configuration flux kustomization create, yapılandırma sırasında bir veya daha fazla kustomizasyon oluşturabilirsiniz.

Parametre Biçim Notlar
--kustomization Değer yok Kustomizasyon yapılandıran parametre dizesinin başlangıcı. Birden çok kustomizasyon oluşturmak için bunu birden çok kez kullanabilirsiniz.
name String Bu kustomizasyon için benzersiz ad.
path String Kümeyle mutabık olmak için Git deposu içindeki yol. Varsayılan, dalın en üst düzeyidir.
prune Boolean Varsayılan false değeridir. Flux'un kümeye dağıttığı nesnelerin depodan kaldırıldıklarında veya Flux yapılandırması veya kustomizasyonları silindiğinde temizlendiğinden emin olmak için ayarlayın prune=true . Kullanımı prune=true , kullanıcıların kümelere erişimi olmayan ve yalnızca Git deposu aracılığıyla değişiklik yapabilen ortamlar için önemlidir.
depends_on String Bu kustomizasyon uzlaştırılmadan önce uzlaştırılması gereken bir veya daha fazla kustomizasyon (bu yapılandırma içinde) adı. Örneğin: depends_on=["kustomization1","kustomization2"]. Bağımlı kustomizasyonları olan kustomizasyonları kaldırırsanız, bağımlı kustomizasyonların durumu olur DependencyNotReadyve mutabakat durdurulur.
timeout golang süre biçimi Varsayılan: 10m.
sync_interval golang süre biçimi Varsayılan: 10m.
retry_interval golang süre biçimi Varsayılan: 10m.
validation String Değerler: none, client, server. Varsayılan: none. Ayrıntılar için Flux belgelerine bakın.
force Boolean Varsayılan: false. Sabit alan değişikliği nedeniyle düzeltme eki uygulama başarısız olduğunda kustomize denetleyicisine kaynakları yeniden oluşturmasını bildirmek için ayarlayın force=true .

Flux yapılandırmasında kustomizasyonları güncelleştirmek, listelemek, göstermek ve silmek için de kullanabilirsiniz az k8s-configuration flux kustomization .

Sonraki adımlar