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 -h
az k8s-configuration flux create -h
vagy) 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 | bucket A . 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 | azblob A . |
--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ó git
hitelesí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:
- Git-adattár HTTPS-hitelesítése
- A Git-adattár HTTPS önaláírt tanúsítványai
- Git-adattár SSH-hitelesítése
- Gyűjtő statikus hitelesítése
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 create
lé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
- További információ az alkalmazástelepítésekről az AKS-hez készült GitOps (Flux v2) és az Azure Arc-kompatibilis Kubernetes használatával.
- Az oktatóanyag segítségével megtudhatja, hogyan engedélyezheti a GitOpst az AKS-en vagy az Azure Arc-kompatibilis Kubernetes-fürtökön.
- További információ a CI/CD-munkafolyamatról a GitOps használatával.