Champs RootSync et RepoSync

Cette page fournit une référence pour les champs des objets RootSync, RepoSync et ResourceGroup. Pour en savoir plus sur le fonctionnement de ces objets, consultez la section Architecture de Config Sync.

Champs RootSync et RepoSync

Les objets de ressources RootSync et RepoSync ont les mêmes champs, à l'exception des champs suivants, réservés à RootSync:

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace
  • spec.override.roleRefs

Configuration du format source

Clé Description
spec.sourceFormat sourceFormat spécifie le format du dépôt. Facultatif.
La validation de ce champ est sensible à la casse.
  • Pour les objets RootSync, la valeur doit être hierarchy ou unstructured. La valeur par défaut est hierarchy si aucune valeur n'est spécifiée, mais unstructured est recommandé.
Pour en savoir plus, consultez les guides sur les formats non structurés et hiérarchiques.

Configuration pour le type de source

Clé Description
spec.sourceType sourceType spécifie le type de source de vérité. Doit être git, oci ou helm. Facultatif.
Si ce champ n'est pas spécifié, ce champ est défini sur git. La validation de ce champ est sensible à la casse.

Configuration pour le dépôt Git

Clé Description
spec.git.auth Type de secret configuré pour l'accès au dépôt Git. La valeur doit être ssh, cookiefile, gcenode, gcpserviceaccount, token ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.git.gcpServiceAccountEmail Compte de service Google Cloud utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.git.auth est défini sur gcpserviceaccount.
spec.git.branch Branche du dépôt Git à partir de laquelle la synchronisation doit être effectuée. Ce champ est facultatif, et la valeur par défaut est master. À partir de la version 1.17.0 de Config Sync, il est recommandé d'utiliser le champ spec.git.revision pour spécifier un nom de branche par souci de simplicité. Si les champs spec.git.revision et spec.git.branch sont tous les deux spécifiés, spec.git.revision est prioritaire sur spec.git.branch.
spec.git.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration que vous souhaitez synchroniser. Valeur par défaut : répertoire racine (/) du dépôt.
spec.git.period Durée entre deux synchronisations consécutives. Valeur par défaut : 15s.
spec.git.repo URL du dépôt Git à partir de laquelle la synchronisation doit être effectuée. Obligatoire.
spec.git.revision Révision Git (branche, tag ou commit) à partir de laquelle la synchronisation doit être effectuée. Ce champ est facultatif, et la valeur par défaut est HEAD. À partir de la version 1.17.0 de Config Sync, vous pouvez également spécifier un nom de branche dans le champ spec.git.revision. Lorsque vous utilisez un hachage dans la version 1.17.0 ou ultérieure, il doit s'agir d'un hachage complet et non d'une version abrégée.
spec.git.secretRef.name Nom du secret permettant de se connecter à la source Git fiable.
spec.git.noSSLVerify1 noSSLVerify spécifie s'il faut activer ou désactiver la validation du certificat SSL. Valeur par défaut : "false".
Si noSSLVerify est défini sur "true", il indique à Git d'ignorer la vérification du certificat SSL.
spec.git.caCertSecretRef.name1 Nom du secret contenant le certificat de l'autorité de certification. Si ce champ est fourni, le serveur Git doit utiliser un certificat émis par cette autorité de certification. Le certificat CA doit être stocké dans le secret sous une clé nommée "cert".

Configuration du proxy pour le dépôt Git

Si les règles de sécurité de votre organisation vous obligent à acheminer le trafic via un proxy HTTP(S), vous pouvez utiliser l'URI du proxy pour configurer Config Sync de manière à communiquer avec votre hôte Git.

Clé Description
spec.git.proxy URL du proxy avec le schéma de configuration de l'accès au dépôt Git à l'aide d'un proxy. Par exemple : https://proxy.internal.business.co:443
Le proxy Git accepte les champs https et http, ainsi que les URL non mises en forme, mais http n'est pas recommandé pour des raisons de sécurité.
Si vous utilisez une URL http ou une URL simple, assurez-vous que la communication entre votre serveur proxy et l'hôte Git est sécurisée.
Ce champ n'a d'effet que si spec.git.auth est défini sur cookiefile, none ou token.

Configuration de l'image OCI

Config Sync nécessite que la couche OCI soit compressée au format tar ou tar+gzip.

Les autres formats (par exemple, tar+bz2) ne seront pas reconnus par Config Sync. Si vous passez d'un dépôt valide à une image OCI dont le format n'est pas compatible, les ressources gérées sont éliminées sans erreur.

Clé Description
spec.oci.auth Type d'authentification configuré pour l'accès à l'image OCI. Doit être gcenode, k8sserviceaccount, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.oci.gcpServiceAccountEmail Compte de service Google Cloud utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.oci.auth est défini sur gcpserviceaccount.
spec.oci.dir Chemin d'accès absolu de l'image OCI vers le répertoire racine contenant la configuration que vous souhaitez synchroniser. Valeur par défaut : le répertoire racine (/) de l'image.
spec.oci.period Durée entre deux synchronisations consécutives. Valeur par défaut : 15s.
spec.oci.image L'URL de l'image OCI à partir de laquelle la synchronisation doit être effectuée. Obligatoire.

Configuration du dépôt Helm

Clé Description
spec.helm.auth Type d'authentification configuré pour accéder au dépôt Helm. Doit être token, gcenode, k8sserviceaccount, gcpserviceaccount ou none. La validation de ce champ est sensible à la casse. Obligatoire.
spec.helm.gcpServiceAccountEmail Compte de service Google Cloud utilisé pour annoter le compte de service Kubernetes du contrôleur RootSync ou RepoSync. Ce champ n'est utilisé que lorsque spec.helm.auth est défini sur gcpserviceaccount.
spec.helm.secretRef.name Nom du secret Secret utilisé pour accéder au dépôt Helm. Ce champ n'est utilisé que lorsque spec.helm.auth est défini sur token.
spec.helm.repo URL du dépôt Helm à partir de laquelle la synchronisation doit être effectuée. Obligatoire.
spec.helm.chart Nom du chart Helm. Obligatoire.
spec.helm.version

Numéro de version du chart Helm. Par défaut: la dernière version.

Dans les versions de Config Sync antérieures à la version 1.16.0, le champ de version est disponible, mais seules les versions statiques sont compatibles et les graphiques ne sont pas récupérés à nouveau. Dans Config Sync 1.16.0 et versions ultérieures, le champ de version peut être spécifié en tant que valeur statique (plage de versions à partir de laquelle Config Sync extrait les versions les plus récentes), ou laissé vide pour indiquer que Config Sync doit utiliser le dernier graphique selon semver. Si spécifié sous forme de plage ou laissé vide pour indiquer le plus récent, Config Sync extrait le graphique toutes les heures par défaut. Dans Config Sync version 1.16.1 et ultérieures, la période de récupération peut être configurée à l'aide du champ spec.helm.period. Si la version est spécifiée en tant que chaîne littérale "dernière", le graphique est à nouveau extrait en fonction de spec.helm.period, comme pour les plages de versions ou les versions vides.

La syntaxe de la plage de versions est identique à la syntaxe de la plage de versions acceptée par la CLI Helm.

Spécifier la version sous forme de plage ou laisser la valeur vide peut entraîner une utilisation intensive du processeur pour les graphiques volumineux comportant de nombreuses versions. Vous pouvez utiliser spec.override afin d'augmenter la demande de ressources de processeur pour le conteneur Helm-sync, comme dans l'exemple suivant:


    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

Dans Config Sync 1.16.1 et versions ultérieures, spec.helm.period correspond à la durée d'attente de Config Sync avant d'extraire à nouveau le graphique.

La valeur par défaut est de 1 heure. Le champ accepte des valeurs de chaîne, par exemple "30s" ou "5m". Pour en savoir plus, consultez la documentation Go sur les entrées valides.

Si la version du graphique est une plage, utilise le tag littéral "latest" ou est laissé vide pour indiquer que Config Sync doit extraire la dernière version, le graphique est à nouveau extrait en fonction de spec.helm.period. Si la version du graphique est spécifiée en tant que version statique unique, le graphique n'est pas extrait à nouveau.

spec.helm.releaseName Nom de la version Helm.
spec.helm.namespace Cette action s'exclut mutuellement avec spec.helm.deployNamespace.
namespace définit l'espace de noms cible d'une version. Ce champ n'est utilisé qu'avec des objets RootSync. Il ne définit l'espace de noms que pour les ressources dont le modèle contient namespace: {{ .Release.Namespace }}. La valeur spécifiée dans spec.helm.namespace n'est utilisée que comme valeur de Release.Namespace déclarée dans vos modèles Helm. Pour les ressources dont le modèle ne comporte pas namespace: {{ .Release.Namespace }}, l'espace de noms default sera utilisé. Valeur par défaut: default
spec.helm.deployNamespace Cette action s'exclut mutuellement avec spec.helm.namespace.
deployNamespace spécifie l'espace de noms dans lequel déployer le graphique. La définition de ce champ exploite la fonction kpt set-namespace, qui oblige Config Sync à remplacer les champs de ressources namespace du graphique, y compris metadata.namespace des ressources à l'échelle d'un espace de noms, metadata.name d'objets d'espace de noms et des références d'espace de noms dans certains types de ressources spéciaux.
Si deployNamespace n'est pas défini, les ressources pour lesquelles metadata.namespace n'est pas défini sont déployées sur l'espace de noms par défaut.
spec.helm.values

Valeurs à utiliser à la place des valeurs par défaut qui accompagnent le graphique. Mettez en forme les valeurs de la même manière que le fichier values.yaml par défaut. Exemple :


values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

Si valuesFileRefs est également spécifié, les champs de values remplacent ceux de valuesFileRefs.

Pour en savoir plus, consultez l'exemple de fichier manifeste Helm.

spec.helm.includeCRDs Indique si le modèle Helm doit générer des objets CustomResourceDefinition. Valeur par défaut : false
spec.helm.valuesFileRefs

Liste de références aux objets du cluster qui représentent les valeurs à utiliser à la place des valeurs par défaut qui accompagnent le graphique. Seuls les ConfigMaps sont acceptés. Le ConfigMap doit être immuable et se situer dans le même espace de noms que RootSync ou RepoSync.

Les ConfigMaps sont immuables. Pour modifier le fichier valuesFile après la synchronisation, vous devez créer un ConfigMap avec un nom différent, puis mettre à jour le spec.valuesFileRefs.name RootSync ou RepoSync.

Lorsque plusieurs fichiers de valeurs sont spécifiés, les clés en double dans les fichiers suivants remplacent la valeur des fichiers précédents. Cela équivaut à transmettre plusieurs fichiers de valeurs à la CLI Helm. Si spec.helm.values est également spécifié, les champs de values remplacent ceux de valuesFileRefs.

Chaque élément de la liste doit contenir les éléments suivants:

  • name (obligatoire): nom de l'objet ConfigMap
  • dataKey (facultatif): clé de données de l'objet à partir duquel lire les valeurs. Par défaut : values.yaml

Ce champ est compatible avec les versions 1.16.0 et ultérieures.

Pour obtenir un exemple de modification des valeurs, consultez Synchroniser les graphiques Helm.

Configuration permettant de remplacer les requêtes et les limites de ressources d'un rapprochement racine ou d'un espace de noms

Vous pouvez remplacer les conteneurs git-sync, oci-sync, helm-sync, hydration-controller et reconciler. Le remplacement partiel est autorisé: lorsqu'aucune valeur de remplacement n'est fournie pour une demande ou une limite de ressource, la valeur de ressource par défaut pour la requête ou la limite est utilisée.

Pour les clusters Autopilot, Config Sync ignore les remplacements de limites de ressources. Les remplacements de demandes de ressources ne sont appliqués que lorsqu'une ou plusieurs demandes de ressources sont supérieures au résultat ajusté correspondant déclaré dans l'annotation, ou qu'une ou plusieurs demandes de ressources sont inférieures à l'entrée correspondante déclarée dans les annotations. Pour plus d'informations, consultez la section Configuration requise pour Config Sync.

Clé Description
spec.override.resources1 Liste des remplacements de requêtes et de limites de ressources du conteneur. Facultatif.
Chaque élément de la liste contient trois champs :
  • containerName: ce champ peut être git-sync, oci-sync, helm-sync, hydration-controller ou reconciler.
  • cpuRequest (facultatif)
  • cpuLimit (facultatif)
  • memoryRequest (facultatif)
  • memoryLimit (facultatif)

Si aucune valeur de remplacement n'est définie pour une requête ou une limite de ressource, la requête ou la limite de ressource par défaut est utilisée.

Configuration permettant de remplacer le niveau de journalisation d'un conteneur dans le rapprochement de la racine ou des espaces de noms

Lorsque la valeur de remplacement du niveau de journalisation n'est pas définie, le niveau de journalisation est configuré en tant que valeur par défaut. Le niveau de journalisation par défaut pour tous les conteneurs d'un rapprochement RootSync ou RepoSync est 0, à l'exception du conteneur git-sync pour lequel la valeur par défaut est 5. La valeur de remplacement de niveau de journalisation acceptée est comprise entre 0 et 10 inclus.

Clé Description
spec.override.logLevels Liste des valeurs de remplacement au niveau de la journalisation du conteneur. Facultatif.
Chaque élément de la liste contient deux champs :
  • containerName: ce champ peut être git-sync, oci-sync, helm-sync, hydration-controller ou reconciler.
  • logLevel

Lorsqu'aucune valeur de remplacement n'est fournie pour le niveau de journalisation d'un conteneur, la valeur de niveau de journalisation par défaut est utilisée.

Configuration du nombre de commits Git à récupérer

Clé Description
spec.override.gitSyncDepth1 gitSyncDepth vous permet de remplacer le nombre de commits Git à extraire.
Doit être inférieur ou égal à 0.
Config Sync effectue un clone complet si ce champ est égal à 0, et un clone superficiel si ce champ est supérieur à 0.
Si ce champ n'est pas renseigné, Config Sync le configure automatiquement.

Configuration de la capture de l'état au niveau des ressources

Clé Description
spec.override.statusMode1 statusMode vous permet d'activer ou de désactiver la capture de l'état au niveau des ressources.
La valeur par défaut est enabled.
Pour désactiver la capture de l'état au niveau des ressources, définissez ce champ sur disabled.

Configuration du remplacement du délai d'expiration du rapprochement

Clé Description
spec.override.reconcileTimeout1 reconcileTimeout vous permet d'ignorer le délai d'attente des ressources d'un groupe d'application avant d'abandonner. Toutes les ressources d'un commit peuvent appartenir à plusieurs groupes d'applications en fonction des dépendances.
Le délai avant expiration par défaut est 5m.
Utilisez la chaîne pour spécifier cette valeur de champ, telle que 30s ou 5m.

Configuration permettant de remplacer le délai avant expiration des requêtes adressées au serveur d'API

Clé Description
spec.override.apiServerTimeout1 apiServerTimeout vous permet d'ignorer le délai avant expiration des requêtes adressées au serveur d'API. Le délai avant expiration par défaut est 5s dans les versions antérieures à 1.16.0, et 15s dans les versions 1.16.0 et ultérieures.
: utilisez une chaîne pour spécifier la valeur de ce champ, par exemple 30s ou 5m.

Configuration de l'accès au shell lors du processus de rendu

Clé Description
spec.override.enableShellInRendering1 enableShellInRendering indique si l'accès au shell doit être activé ou désactivé lors du processus de rendu. Les bases distantes Kustomize nécessitent un accès au shell. La définition de ce champ sur true active l'accès au shell lors du processus de rendu et permet d'extraire des bases distantes à partir de dépôts publics.
La valeur par défaut est false.

Configuration pour la stratégie d'espace de noms (RootSync uniquement)

Clé Description
spec.override.namespaceStrategy1 namespaceStrategy contrôle la manière dont le rapprochement gère les configurations d'espace de noms manquantes pour les objets à l'échelle d'un espace de noms déclarés dans la source. S'applique uniquement lorsque vous utilisez le sourceFormat unstructured.
  • implicit: le rapprochement crée implicitement des espaces de noms s'ils n'existent pas, même s'ils ne sont pas déclarés dans la source. Les espaces de noms implicites sont créés avec l'annotation d'interdiction de suppression et sont gérés par Config Sync.
  • explicit: le rapprochement ne crée que les espaces de noms déclarés explicitement dans la source.

La valeur par défaut est implicit.

Configuration des liaisons RBAC (RootSync uniquement)

Clé Description
spec.override.roleRefs1 roleRefs est une liste d'objets Role ou ClusterRole pour créer des liaisons. Chaque élément de la liste contient les champs suivants :
  • kind (obligatoire): fait référence au genre de la ressource RBAC. Les valeurs acceptées sont Role et ClusterRole..
  • name (obligatoire): nom de la ressource Role ou ClusterRole.
  • namespace (facultatif): indique l'espace de noms dans lequel un RoleBinding doit être créé. Pour les objets ClusterRole, il détermine si un objet RoleBinding ou ClusterRoleBinding est créé. Pour les objets Role, ils doivent être définis sur le même espace de noms que l'objet Role.

Si cette règle n'est pas configurée, un ClusterRoleBinding pour cluster-admin est créé.

État des objets

Clé Description
status.observedGeneration Génération (metadata.generation) de la spécification d'une ressource RootSync ou RepoSync qui a été observée et exécutée en dernier par Config Sync. Cette valeur peut être comparée à metadata.generation, qui est un entier, et mise à jour lors de la mutation de spécifications par le serveur d'API.
status.reconciler Nom du processus de rapprochement correspondant à la ressource de synchronisation.
status.source.gitStatus.repo URL du dépôt Git en cours de récupération.
status.source.gitStatus.revision Révision Git (tag, commit ou hachage) en cours de récupération.
status.source.gitStatus.branch Branche du dépôt Git en cours de récupération.
status.source.gitStatus.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.source.ociStatus.image URL de l'image OCI en cours de récupération.
status.source.ociStatus.dir Chemin d'accès absolu de l'image OCI vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.source.helmStatus.repo URL du dépôt Helm en cours de récupération.
status.source.helmStatus.version Version du graphique Helm récupérée.
status.source.helmStatus.chart Nom du graphique Helm en cours de récupération.
status.source.commit Hachage du commit ou du condensé le plus récent récupéré à partir de l'URL source.
status.source.errors Erreurs rencontrées lors de la lecture et de l'analyse des configurations à partir de la source fiable. Cela peut ne pas inclure toutes les erreurs rencontrées, car Config Sync les tronque si elles sont trop nombreuses.
status.source.errorSummary.totalCount Entier qui suit le nombre total d'erreurs rencontrées lors de la lecture et de l'analyse des configurations à partir de la source fiable.
status.source.errorSummary.truncated Booléen indiquant si le champ status.source.errors inclut toutes les erreurs rencontrées lors de la lecture et de l'analyse des configurations à partir de la source fiable.
status.source.errorSummary.errorCountAfterTruncation Entier qui suit le nombre d'erreurs dans le champ status.source.errors.
status.rendering.gitStatus.repo URL du dépôt Git en cours de rendu.
status.rendering.gitStatus.revision Révision Git (tag, commit ou hachage) en cours de rendu.
status.rendering.gitStatus.branch Branche du dépôt Git en cours de rendu.
status.rendering.gitStatus.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration vers laquelle vous effectuez le rendu.
status.rendering.ociStatus.image URL de l'image OCI affichée.
status.rendering.ociStatus.dir Chemin absolu de l'image OCI vers le répertoire racine contenant la configuration du rendu.
status.rendering.helmStatus.repo URL du dépôt Helm en cours d'affichage.
status.rendering.helmStatus.version Version du graphique Helm en cours de rendu.
status.rendering.helmStatus.chart Nom du graphique Helm affiché.
status.rendering.commit Hachage du commit ou du condensé le plus récent affiché. Cette valeur est mise à jour même lorsqu'un commit ou un condensé n'est que partiellement synchronisé en raison d'une erreur.
status.rendering.errors Liste de toutes les erreurs rencontrées lors du processus d'affichage des ressources à partir de la modification indiquée par status.rendering.commit. Cela peut ne pas inclure toutes les erreurs rencontrées, car Config Sync les tronque s'il y en a trop.
status.rendering.errorSummary.totalCount Entier qui suit le nombre total d'erreurs rencontrées lors du processus d'affichage des configurations à partir de la source fiable.
status.rendering.errorSummary.truncated Booléen indiquant si le champ status.rendering.errors inclut toutes les erreurs rencontrées lors du processus d'affichage des configurations à partir de la source fiable.
status.rendering.errorSummary.errorCountAfterTruncation Entier qui suit le nombre d'erreurs dans le champ status.rendering.errors.
status.sync.gitStatus.repo URL du dépôt Git en cours de synchronisation.
status.sync.gitStatus.revision Révision Git (tag, commit ou hachage) en cours de synchronisation.
status.sync.gitStatus.branch Branche du dépôt Git en cours de synchronisation.
status.sync.gitStatus.dir Chemin d'accès absolu du dépôt Git vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.sync.ociStatus.image URL de l'image OCI en cours de synchronisation.
status.sync.ociStatus.dir Chemin d'accès absolu de l'image OCI vers le répertoire racine contenant la configuration vers laquelle vous effectuez la synchronisation.
status.sync.helmStatus.repo URL du dépôt Helm en cours de synchronisation.
status.sync.helmStatus.version Version du graphique Helm en cours de synchronisation.
status.sync.helmStatus.chart Nom du graphique Helm en cours de synchronisation.
status.sync.commit Hachage du commit ou du condensé le plus récent qui a été synchronisé avec le cluster. Cette valeur est mise à jour même lorsqu'un commit ou un condensé n'est que partiellement synchronisé en raison d'une erreur.
status.sync.errors Liste de toutes les erreurs qui se sont produites lors de l'application des ressources suite à la modification indiquée par status.sync.commit. Cela peut ne pas inclure toutes les erreurs rencontrées, car Config Sync les tronque si elles sont trop nombreuses.
status.sync.errorSummary.totalCount Entier qui suit le nombre total d'erreurs rencontrées lors de l'application des configurations à partir de la source fiable.
status.sync.errorSummary.truncated Booléen indiquant si le champ status.sync.errors inclut toutes les erreurs rencontrées lors de l'application des configurations à partir de la source fiable.
status.sync.errorSummary.errorCountAfterTruncation Entier qui suit le nombre d'erreurs dans le champ status.sync.errors.
status.conditions Liste de conditions suivant l'état actuel d'un objet RootSync ou RepoSync.
Lorsque le champ type d'une condition est Reconciling ou Stalled:
  • Le champ errors de la condition suit les erreurs rencontrées lors du rapprochement de l'objet RootSync ou RepoSync.
  • Le champ errorSummary de la condition résume les erreurs dans le champ errors de la condition.
  • Le champ errorsSourceRefs de la condition est vide
Lorsque le type d'une condition est Syncing:
  • Le champ errors de la condition est vide
  • Le champ errorsSourceRefs de la condition permet de suivre la ou les origines des erreurs. L'origine des erreurs peut être status.rendering.errors, status.source.errors ou status.sync.errors.
  • Le champ errorSummary de la condition récapitule les erreurs indiquées dans le champ errorsSourceRefs.

1 Si vous avez créé un fichier de configuration RootSync après l'avoir installé à l'aide de la console Google Cloud ou de Google Cloud CLI, vous pouvez écraser ce champ.

Champs ResourceGroup

Champs de spécification et d'état

Clé Description
spec.resources Liste des identifiants (Groupe, Genre, Espace de noms, Nom) pour les ressources appliquées au cluster à partir du dépôt Git spécifié dans une RS RepoSync ou une RS RootSync. Facultatif.
Chaque élément de la liste contient quatre champs: group, kind, namespace et name.

Champs d'état

Clé Description
status.observedGeneration Génération (metadata.generation) de la spécification d'une ressource RootSync ou RepoSync qui a été observée pour la dernière fois et utilisée par le contrôleur ResourceGroup. Cette valeur peut être comparée à metadata.generation, qui est un entier, et mise à jour lors de la mutation de spécifications par le serveur d'API.
status.conditions Dernières conditions observées pour la ressource ResourceGroup actuelle. Les conditions sont de deux types : Reconciling et Stalled. Lorsque la condition de type Reconciling est définie sur "true", cela signifie que la ressource ResourceGroup est en cours de rapprochement. Lorsque la condition de type Stalled est définie sur "true", cela signifie que le rapprochement est bloqué. Lorsque les deux valeurs sont définies sur "false", cela signifie que la ressource ResourceGroup actuelle est rapprochée et que l'état est à jour.
status.resourceStatuses Liste des états des ressources incluses dans .spec.resources. Chaque élément contient l'identifiant (groupe, genre, espace de noms ou nom) et l'état d'une ressource. L'état est l'un des suivants : InProgress, Current, Failed, Terminating, NotFound ou Unknown.

Champs de synchronisation racine non gérés

Les champs suivants du RootSync nommé root-sync ne sont pas gérés par le service de parc (Hub) et peuvent être modifiés avec n'importe quel client Kubernetes:

Clé Description
spec.git.noSSLVerify noSSLVerify indique si la vérification du certificat SSL doit être activée ou désactivée. Valeur par défaut : false.
Si noSSLVerify est défini sur true, il indique à Git d'ignorer la vérification du certificat SSL.
spec.git.caCertSecretRef.name Nom du secret contenant le certificat de l'autorité de certification. Si ce champ est fourni, le serveur Git doit utiliser un certificat émis par cette autorité de certification. Le certificat CA doit être stocké dans le secret sous une clé nommée "cert".
spec.override.resources Liste des demandes de ressources de conteneur et des remplacements de limites. Facultatif.
Chaque élément de la liste contient trois champs :
  • containerName: ce champ peut être git-sync, oci-sync, hydration-controller ou reconciler.
  • cpuRequest (facultatif)
  • cpuLimit (facultatif)
  • memoryRequest (facultatif)
  • memoryLimit (facultatif)

Lorsqu'aucune valeur de remplacement n'est fournie pour une demande ou une limite de ressource, la valeur de ressource par défaut pour la requête ou la limite est utilisée.
spec.override.gitSyncDepth gitSyncDepth vous permet de remplacer le nombre de commits Git à récupérer.
Ne doit pas être inférieur à 0.
Config Sync effectue un clone complet si ce champ est défini sur 0, et un clone superficiel si ce champ est supérieur à 0.
Si ce champ n'est pas fourni, Config Sync le configure automatiquement.
spec.override.statusMode statusMode vous permet d'activer ou de désactiver la capture de l'état au niveau de la ressource.
La valeur par défaut est enabled.
Pour désactiver la capture de l'état au niveau des ressources, définissez ce champ sur disabled.
spec.override.reconcileTimeout reconcileTimeout vous permet d'ignorer le seuil correspondant au délai d'attente du rapprochement des ressources d'un groupe d'application avant d'abandonner. Toutes les ressources d'un commit peuvent figurer dans plusieurs groupes d'application en fonction des dépendances.
Le délai avant expiration par défaut est 5m.
Utilisez une chaîne pour spécifier cette valeur de champ. Par exemple : 30s, 5m.
spec.override.enableShellInRendering enableShellInRendering spécifie si l'accès à l'interface système doit être activé ou désactivé dans le processus de rendu. Les bases distantes Kustomize nécessitent un accès au shell. Si vous définissez ce champ sur true, vous activez l'accès au shell lors du processus de rendu et vous pouvez extraire des bases distantes à partir de dépôts publics.
La valeur par défaut est false.

Pour en savoir plus sur les champs gérés et non gérés dans les objets RootSync, consultez la section Comment le service Fleet gère les objets RootSync.

Exemples de RS

Les sections suivantes présentent des exemples de RS RootSync et RepoSync.

RS RootSync

L'exemple suivant illustre un objet RootSync.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

RS RepoSync

L'exemple suivant illustre un objet RepoSync.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Étapes suivantes