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 paraméterek az k8s-configuration flux teljes listáját az Azure CLI-ben (például az k8s-configuration flux -haz k8s-configuration flux create -hvagy) a -h paraméter használatával is megtekintheti.

Tipp.

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 Sztring A fürterőforrás neve az Azure-ban.
--cluster-type -t Engedélyezett értékek: connectedClusters, managedClusters Azure Arc-kompatibilis Kubernetes-fürtökhöz vagy managedClusters AKS-fürtökhöz használhatóconnectedClusters.
--resource-group -g Sztring A fürterőforrást tartalmazó Azure-erőforráscsoport neve.
--name -n Sztring Az Azure Flux-konfigurációjának neve.
--namespace --ns Sztring A konfiguráció üzembe helyezéséhez szükséges névtér neve. Alapértelmezett: default.
--scope -s Sztring 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 flag 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 Sztring A forrás típusa egyeztetendő. 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 Sztring Ág a Git-forráson belül a fürtre való szinkronizáláshoz. Alapértelmezett: master. Az újabb adattárakban lehet egy gyökérág neve main, amely esetben be kell állítania --branch=main.
--tag Sztring A Git-forráson belül címkével szinkronizálhatja a fürtöt. Példa: --tag=3.2.0
--semver Sztring 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 Sztring 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-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-gazdagép SSH-val és felhasználó által biztosított ismert gazdagépekkel

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 nem gyakori Git-adattárat vagy saját Git-gazdagépet használ, megadhatja a gazdagépkulcsot, 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 adja meg known_hosts a 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 sztring HTTPS-felhasználónév.
--https-key Nyers sztring 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-sztring bucketA . Támogatott formátumok: http://, https://.
--bucket-name Sztring bucket A szinkronizálandó név.
--bucket-access-key Sztring Hozzáférési kulcsazonosító a hitelesítéshez a bucket.
--bucket-secret-key Sztring Titkos kulcs a hitelesítéshez a bucket.
--bucket-insecure Logikai bucket Kommunikáció 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-sztring azblobA .
--container-name Sztring A szinkronizálni kívánt Azure Blob Storage-tároló neve
--sp_client_id Sztring 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 Sztring 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 Sztring A szolgáltatásnév Azure Blobnal való hitelesítésének ügyféltitkára
--sp_client_cert Sztring A Base64 kódolt ügyféltanúsítványa egy szolgáltatásnév Azure Blobnal való hitelesítéséhez
--sp_client_cert_password Sztring A szolgáltatásnév Azure Blobnal való hitelesítéséhez használt ügyféltanúsítvány jelszava
--sp_client_cert_send_chain Sztring Megadja, hogy x5c-fejlécet kell-e belefoglalni az ügyféljogcímekbe, amikor jogkivonatot szerez be az ügyféltanúsítvány tulajdonosának vagy kiállítójának hitelesítésének engedélyezéséhez
--account_key Sztring Az Azure Blob megosztott kulcsa hitelesítéshez
--sas_token Sztring Az Azure Blob SAS-jogkivonat hitelesítéshez
--managed-identity-client-id Sztring 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 érhető el az Azure Arc-kompatibilis Kubernetes-fürtökhöz.

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

Egy helyi Kubernetes-titkos kulcsot használhat egy , bucket vagy azBlob egy forrással való githitelesítéshez. 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 Sztring 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 kulcsot a username következővel 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 titkos kulcsot a identity következő mezőkkel:known_hosts

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:

Feljegyzé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

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

Kustomization

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ürtbe van egyeztetve. 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 azonban az adattár elérési útján elérhető Kustomize-átfedést szeretne használni az alkalmazásokhoz, a Használathoz létre kell hoznia a Gitben található Kustomize-fájlokat .

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 sztringjének kezdete. Többször is használhatja több kustomizáció létrehozásához.
name Sztring A kustomizáció egyedi neve.
path Sztring A Git-adattár elérési útja a fürttel való egyeztetéshez. Az alapértelmezett érték az ág legfelső szintje.
prune Logikai Az alapértelmezett szint a 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. A használat prune=true olyan környezetekben fontos, ahol a felhasználók nem férnek hozzá a fürtökhöz, és csak a Git-adattáron keresztül végezhetnek módosításokat.
depends_on Sztring 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 Sztring Értékek: none, client. server Alapértelmezett: none. Részletekért tekintse meg a Flux dokumentációját .
force Logikai 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