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ı main bir kök dalı olabilir. Bu durumda değerini ayarlamanız --branch=main gerekir. |
--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.
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 bucket kimlik doğrulaması yapmak için kullanılan Erişim Anahtarı Kimliği. |
--bucket-secret-key |
String | ile bucket kimlik 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 git
bucket
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 password
ile 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:
- Git deposu HTTPS kimlik doğrulaması
- Git deposu HTTPS otomatik olarak imzalanan sertifikalar
- Git deposu SSH kimlik doğrulaması
- Demet statik kimlik doğrulaması
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 DependencyNotReady ve 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
- AKS ve Azure Arc özellikli Kubernetes için GitOps (Flux v2) ile uygulama dağıtımları hakkında daha fazla bilgi edinin.
- AKS veya Azure Arc özellikli Kubernetes kümelerinizde GitOps'yi etkinleştirmeyi öğrenmek için öğreticimizi kullanın.
- GitOps kullanarak CI/CD iş akışı hakkında bilgi edinin.
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