Megosztás a következőn keresztül:


A GitOps (Flux v2) által támogatott paraméterek

Az Azure az Azure Kubernetes Service(AKS) és az Azure Arc-kompatibilis Kubernetes-fürtökkel működő GitOps használatával biztosít automatizált alkalmazástelepítési képességet. A Flux v2-vel rendelkező GitOps segítségével a Git-adattárat használhatja a fürtkonfiguráció és az alkalmazástelepítés igazságforrásaként. További információ: Alkalmazástelepítések a GitOps (Flux v2) használatával és oktatóanyag: Alkalmazások üzembe helyezése a GitOps és a Flux v2 használatával.

Az Azure Arc-kompatibilis Kubernetesen vagy az Azure Kubernetes Service-en futó GitOps a Fluxot használja, amely egy népszerű nyílt forráskódú eszközkészlet, amely számos paramétert támogat a különböző forgatókönyvek engedélyezéséhez. A Flux által támogatott paraméterek leírását a flux hivatalos dokumentációjában találja.

A Flux által az Azure-ban támogatott összes paraméter megtekintéséhez tekintse meg a dokumentációtaz k8s-configuration. Ez az implementáció jelenleg nem támogatja a Flux által támogatott összes paramétert. Tudassa velünk, hogy hiányzik-e egy szükséges paraméter az Azure-implementációból.

Ez a cikk a parancshoz az k8s-configuration flux create elérhető paramétereket és argumentumokat ismerteti. A az k8s-configuration flux paraméter teljes listáját az Azure CLI-ben a -h paraméter használatával is megtekintheti (például az k8s-configuration flux -h vagy az k8s-configuration flux create -h).

Jótanács

A Flux-erőforrások nem támogatott paraméterekkel való üzembe helyezésének megkerülő megoldása a szükséges Flux-egyéni erőforrások (például a GitRepository vagy a Kustomization) meghatározása a Git-adattárban. Telepítse ezeket az erőforrásokat a az k8s-configuration flux create paranccsal. Ezután továbbra is hozzáférhet a Flux-erőforrásokhoz az Azure Arc felhasználói felületén keresztül.

Általános konfigurációs argumentumok

Paraméter Formátum Jegyzetek
--cluster-name -c Lánc Az Azure-beli klaszter-erőforrás neve.
--cluster-type -t Engedélyezett értékek: connectedClusters, managedClusters Az Azure Arc-kompatibilis Kubernetes-fürtökhöz használja a connectedClusters-t, vagy AKS-fürtökhöz a managedClusters-t.
--resource-group -g Lánc A fürterőforrást tartalmazó Azure-erőforráscsoport neve.
--name -n Lánc Az Azure Flux-konfigurációjának neve.
--namespace --ns Lánc A konfiguráció üzembe helyezéséhez szükséges névtér neve. Alapértelmezett: default.
--scope -s Lánc Az operátorok engedélytartománya. Lehetséges értékek a cluster (teljes hozzáférés) vagy namespace a (korlátozott hozzáférés). Alapértelmezett: cluster.
--suspend zászló Felfüggeszti az ebben a Flux-konfigurációban definiált összes forrást, és kustomizálja az egyeztetéseket. A felfüggesztés időpontjában aktív egyeztetések folytatódnak.

Általános forrásargumentumok

Paraméter Formátum Jegyzetek
--kind Lánc A rendezendő forrástípus. Engedélyezett értékek: bucket, git, azblob. Alapértelmezett: git.
--timeout golang-időtartam formátuma A forrás egyeztetésének maximális ideje az időkorlát túllépése előtt. Alapértelmezett: 10m.
--sync-interval --interval golang-időtartam formátuma A fürt forrásának egyeztetései közötti idő. Alapértelmezett: 10m.

A Git-adattár forráshivatkozási argumentumai

Paraméter Formátum Jegyzetek
--branch Lánc A Git-táron belüli ág szinkronizálása a fürtre. Alapértelmezett: master. Az újabb adattárak esetén előfordulhat, hogy a gyökérág neve main, ilyenkor be kell állítania --branch=main.
--tag Lánc Címkézze meg a Git-forráson belüli elemet a fürttel való szinkronizáláshoz. Példa: --tag=3.2.0.
--semver Lánc Git-címketartomány semver a Git-forráson belül a fürtre való szinkronizáláshoz. Példa: --semver=">=3.1.0-rc.1 <3.2.0".
--commit Lánc A Git véglegesíti az SHA-t a Git-forráson belül a fürtre való szinkronizáláshoz. Példa: --commit=363a6a8fe6a7f13e05d34c163b0ef02a777da20a.

További információkért tekintse meg a Git-adattár kivételi stratégiáival kapcsolatos Flux-dokumentációt.

Nyilvános Git-adattár

Paraméter Formátum Jegyzetek
--url -u http[s]://server/repo[.git] A Git-adattár forrásának URL-címe a fürttel való egyeztetéshez.

Privát Git-adattár SSH-val

Fontos

Az Azure DevOps bejelentette, hogy az SSH-RSA elavul, mint támogatott titkosítási módszer az Azure-adattárakhoz való SSH használatával való csatlakozáshoz. Ha SSH-kulcsokkal csatlakozik az Azure-adattárakhoz Flux-konfigurációkban, javasoljuk, hogy a biztonságosabb RSA-SHA2-256 vagy RSA-SHA2-512 kulcsokra lépjen. További információ: Azure DevOps SSH-RSA elavulás.

Privát Git-adattár SSH és Flux által létrehozott kulcsokkal

Adja hozzá a Flux által létrehozott nyilvános kulcsot a Git-szolgáltató felhasználói fiókjához.

Paraméter Formátum Jegyzetek
--url -u ssh://user@server/repo[.git] git@ akkor kell lecserélni user@ , ha a nyilvános kulcs a felhasználói fiók helyett az adattárhoz van társítva.

Privát Git-adattár SSH-val és felhasználó által megadott kulcsokkal

Használja a saját titkos kulcsát közvetlenül vagy egy fájlból. A kulcsnak PEM formátumban kell lennie, és új vonallal (\n) kell végződnie.

Adja hozzá a társított nyilvános kulcsot a Git-szolgáltató felhasználói fiókjához.

Paraméter Formátum Jegyzetek
--url -u ssh://user@server/repo[.git] git@ akkor kell lecserélni user@ , ha a nyilvános kulcs a felhasználói fiók helyett az adattárhoz van társítva.
--ssh-private-key Base64 kódolású kulcs PEM formátumban Adja meg közvetlenül a kulcsot.
--ssh-private-key-file A helyi fájl teljes elérési útja Adja meg a PEM-formátumkulcsot tartalmazó helyi fájl teljes elérési útját.

Privát Git-kiszolgáló SSH használatával és a felhasználó által megadott ismert kiszolgálókkal

A Flux-operátor a fájlban tárolja a gyakori Git-gazdagépek known_hosts listáját. A Flux ezeket az információkat használja a Git-adattár hitelesítésére az SSH-kapcsolat létrehozása előtt. Ha szokatlan Git-adattárat vagy saját Git-hosztot használ, megadhatja a hosztkulcsot, hogy a Flux azonosítani tudja az adattárat.

A titkos kulcsokhoz hasonló módon a known_hosts tartalmat is közvetlenül vagy egy fájlban adhatja meg. Ha saját tartalmat ad meg, használja a known_hosts tartalomformátum specifikációit, valamint az előző SSH-kulcsforgatókönyvek egyikét.

Paraméter Formátum Jegyzetek
--url -u ssh://user@server/repo[.git] git@ lecserélhető user@.
--known-hosts Base64-sztring Közvetlenül biztosítsa a known_hosts tartalmat.
--known-hosts-file A helyi fájl teljes elérési útja Adjon meg known_hosts tartalmat egy helyi fájlban.

Privát Git-adattár HTTPS-felhasználóval és -kulccsal

Paraméter Formátum Jegyzetek
--url -u https://server/repo[.git] HTTPS alapszintű hitelesítéssel.
--https-user Nyers karakterlánc HTTPS-felhasználónév.
--https-key Nyers karakterlánc HTTPS személyes hozzáférési jogkivonat vagy jelszó.

Privát Git-adattár HTTPS CA-tanúsítvánnyal

Paraméter Formátum Jegyzetek
--url -u https://server/repo[.git] HTTPS alapszintű hitelesítéssel.
--https-ca-cert Base64-sztring CA-tanúsítvány a TLS-kommunikációhoz.
--https-ca-cert-file A helyi fájl teljes elérési útja Adjon meg hitelesítésszolgáltatói tanúsítványtartalmat egy helyi fájlban.

Gyűjtő forrásargumentumai

Ha forrást használ bucket , az alábbiakban a gyűjtőspecifikus parancsargumentumokat találja.

Paraméter Formátum Jegyzetek
--url -u URL karakterlánc Az bucket URL-je. Támogatott formátumok: http://, https://.
--bucket-name Lánc A szinkronizálandó név: bucket.
--bucket-access-key Lánc A bucket-val történő hitelesítéshez használt hozzáférési kulcsazonosító.
--bucket-secret-key Lánc Titkos kulcs, amelyet a bucket-vel történő hitelesítéshez használunk.
--bucket-insecure Booleán Kommunikáljon bucket-vel TLS nélkül. Ha nincs megadva, hamis; ha meg van adva, akkor az igaz értéket feltételezi.

Az Azure Blob Storage-fiók forrásargumentumai

Ha forrást használ azblob , az alábbiakban a blobspecifikus parancsargumentumokat találja.

Paraméter Formátum Jegyzetek
--url -u URL karakterlánc Az azblob URL-je.
--container-name Lánc A szinkronizálni kívánt Azure Blob Storage-tároló neve
--sp_client_id Lánc A szolgáltatásnév Azure Blobnal való hitelesítéséhez szükséges ügyfél-azonosító, amely ehhez a hitelesítési módszerhez szükséges
--sp_tenant_id Lánc Az Azure Blob szolgáltatásnévvel való hitelesítésének bérlőazonosítója, amely ehhez a hitelesítési módszerhez szükséges
--sp_client_secret Lánc A szolgáltatásfőazonosító az Azure Blobhoz való hitelesítéséhez szükséges ügyféltitok
--sp_client_cert Lánc A Base64 formátumra kódolt ügyféltanúsítvány az Azure Blob szolgáltatáshoz való hitelesítéshez egy szolgáltatási főszereplő számára.
--sp_client_cert_password Lánc Az Azure Blobnál a szolgáltatásfőszereplő hitelesítéséhez használt ügyféltanúsítvány jelszava
--sp_client_cert_send_chain Lánc Meghatározza, hogy bele kell-e foglalni az x5c-fejlécet az ügyfél-igényekbe, amikor egy jogkivonatot szerez be a tárgy neve vagy kiállító alapú hitelesítésének engedélyezéséhez az ügyféltanúsítványhoz.
--account_key Lánc Az Azure Blob megosztott kulcsa hitelesítéshez
--sas_token Lánc Az Azure Blob SAS-jogkivonat hitelesítéshez
--managed-identity-client-id Lánc A felügyelt identitás ügyfélazonosítója az Azure Blob használatával történő hitelesítéshez

Fontos

Ha felügyelt identitáshitelesítést használ az AKS-fürtökhöz és azblob a forráshoz, a felügyelt identitást legalább a Storage Blob Data Reader szerepkörrel kell hozzárendelni. A felügyelt identitást használó hitelesítés még nem elérhető az Azure Arc-kompatibilis Kubernetes-fürtökhöz.

Helyi titkos kód a forrással való hitelesítéshez

Egy helyi Kubernetes titkosítást használhat hitelesítéshez egy git, bucket vagy azBlob forrással. A helyi titkos kódnak tartalmaznia kell a forráshoz szükséges összes hitelesítési paramétert, és a Flux-konfigurációval megegyező névtérben kell létrehozni.

Paraméter Formátum Jegyzetek
--local-auth-ref --local-ref Lánc Helyi hivatkozás egy Kubernetes-titkos kódra a Flux konfigurációs névtérben a forrással való hitelesítéshez.

HTTPS-hitelesítéshez hozzon létre egy titkosítást a következőkkel: username és password.

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>

Az SSH-hitelesítéshez létre kell hoznia egy titkot a identity és known_hosts mezőkkel.

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

Fontos

Az Azure DevOps bejelentette, hogy az SSH-RSA elavul, mint támogatott titkosítási módszer az Azure-adattárakhoz való SSH használatával való csatlakozáshoz. Ha SSH-kulcsokkal csatlakozik az Azure-adattárakhoz Flux-konfigurációkban, javasoljuk, hogy a biztonságosabb RSA-SHA2-256 vagy RSA-SHA2-512 kulcsokra lépjen. További információ: Azure DevOps SSH-RSA elavulás.

Mindkét esetben a Flux-konfiguráció létrehozásakor használja --local-auth-ref my-custom-secret a többi hitelesítési paraméter helyett:

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

További információ a helyi Kubernetes-titkos kódok használatáról az alábbi hitelesítési módszerekkel:

Megjegyzés

Ha a Fluxnak a proxyn keresztül kell elérnie a forrást, frissítenie kell az Azure Arc-ügynököket a proxybeállításokkal. További információ: Csatlakozás kimenő proxykiszolgáló használatával.

Git-implementáció

A Gitet megvalósító különböző adattárszolgáltatók támogatásához a Flux konfigurálható úgy, hogy két Git-kódtár egyikét használja: go-git vagy libgit2. További részletekért tekintse meg a Flux dokumentációját.

A Flux v2 GitOps-implementációja automatikusan meghatározza, hogy melyik tárat használja a nyilvános felhőbeli adattárakhoz:

  • A GitHub, a GitLab és a BitBucket-adattárak esetében a Flux a go-git.
  • Az Azure DevOps és az összes többi adattár esetében a Flux a libgit2-t használja.

A helyszíni adattárak esetében a Flux a libgit2.

Testreszabás

A Kustomization a Flux-konfigurációkhoz létrehozott beállítás, amely lehetővé teszi egy adott elérési út kiválasztását a forrásadattárban, amely a fürttel van összehangolva. Ehhez a megadott elérési úthoz nem kell "kustomization.yaml fájlt" létrehoznia. Alapértelmezés szerint az elérési út összes jegyzékfájlja egyeztetve van. Ha szeretné, hogy az adattár elérési útján elérhető alkalmazásokhoz Kustomize-overlayt használjon, létre kell hoznia Gitben Kustomize-fájlokat, amelyeket a Flux konfiguráció használni tud.

A használatával az k8s-configuration flux kustomization createlétrehozhat egy vagy több kustomizációt a konfiguráció során.

Paraméter Formátum Jegyzetek
--kustomization Nincs érték A kustomizációt konfiguráló paraméterek karakterláncának kezdete. Többször is használhatja több kustomizáció létrehozásához.
name Lánc A testreszabás egyedi neve.
path Lánc A Git-adattár elérési útja a fürttel való egyeztetéshez. Az alapértelmezett érték az ág legfelső szintje.
prune Booleán Az alapértelmezett érték false. Győződjön prune=true meg arról, hogy a Fürtre telepített Flux objektumai törlődnek, ha azokat eltávolítják az adattárból, vagy törlik a Flux-konfigurációt vagy a kustomizációkat. prune=true használata fontos olyan környezetekben, ahol a felhasználók nem férnek hozzá a fürtökhöz, és csak a Git-táron keresztül végezhetnek módosításokat.
depends_on Lánc Egy vagy több kustomizáció neve (ebben a konfigurációban), amelyeknek egyeztetniük kell, mielőtt ez a kustomizáció összeegyeztethető. Például: depends_on=["kustomization1","kustomization2"]. Ha eltávolít egy függő kustomizációval rendelkező kustomizációt, a függő kustomizációk állapota változik DependencyNotReady, és az egyeztetés leáll.
timeout golang-időtartam formátuma Alapértelmezett: 10m.
sync_interval golang-időtartam formátuma Alapértelmezett: 10m.
retry_interval golang-időtartam formátuma Alapértelmezett: 10m.
validation Lánc Értékek: none, client. server Alapértelmezett: none. Részletekért tekintse meg a Flux dokumentációját .
force Booleán Alapértelmezett: false. Állítsa be force=true , hogy utasítsa a kustomize vezérlőt, hogy hozzon létre újra erőforrásokat, ha a javítás nem módosítható mezőváltozás miatt meghiúsul.

A kustomizációk frissítésére, listázására, megjelenítésére és törlésére is használható az k8s-configuration flux kustomization Flux-konfigurációban.

Következő lépések