Aggiungi configurazioni a una fonte attendibile

In questa pagina viene spiegato come aggiungere e organizzare le configurazioni memorizzate in un fonte attendibile.

Informazioni sulle configurazioni

Config Sync è progettato per cluster e operatori che gestiscono molti cluster. Puoi assicurarti che i cluster soddisfino agli standard aziendali e di conformità consentendo a Config Sync di gestire gli spazi dei nomi, ruoli, RoleBindings, ResourceQuotas e altri importanti oggetti Kubernetes, all'interno del parco risorse.

Quando Config Sync gestisce queste risorse, mantiene i cluster registrati in eseguire la sincronizzazione utilizzando le configurazioni. Una configurazione è un file YAML o JSON archiviato in un'origine la verità. Config Sync supporta repository Git, immagini OCI e grafici Helm come fonte di riferimento. Configurazioni contengono lo stesso tipo di dettagli di configurazione che puoi applicare manualmente a un cluster utilizzando il comando kubectl apply. Puoi creare un per qualsiasi oggetto Kubernetes che può esistere in un cluster. Tuttavia, alcune Gli oggetti Kubernetes, come i secret, contengono informazioni sensibili che potrebbero essere inappropriati da memorizzare in una fonte di dati. Usa il buon senso quando prendi in considerazione se gestire questi tipi di oggetti usando Config Sync.

Puoi anche utilizzare Config Sync Config Connector per cui sincronizzare le configurazioni Risorse Google Cloud. Per ulteriori informazioni sull'utilizzo di Config Connector, consulta gestione delle risorse Google Cloud mediante Config Connector. Puoi anche semplificare l'installazione di Config Sync e Config Connector configurando Config Controller.

Limitazioni

Non puoi modificare i campi immutabili di una configurazione modificando il valore nella una fonte attendibile. Se devi aggiornare un campo immutabile, elimina manualmente il valore nel cluster. Config Sync può quindi ricreare l'oggetto con nuovo valore del campo.

Seleziona come organizzare le configurazioni

Config Sync utilizza una fonte attendibile per l'archiviazione della configurazione e il controllo della versione. Puoi scegliere tra due diversi formati per la tua fonte di riferimento: non strutturati e gerarchiche.

Il formato di origine non strutturato ti consente di organizzare le configurazioni nel modo più adatto alle tue esigenze pratico. Questo formato può essere particolarmente utile se organizzi o generare configurazioni con uno strumento come Kustomize, kpt, oppure Helm. Per un esempio di come potresti organizzare le tue configurazioni, Formato di esempio per un repository non strutturato.

Il formato gerarchico di origine, o strutturato, separa le configurazioni in per aiutarti a organizzare le configurazioni. Le categorie sono sistema configurazione, metadati del cluster, configurazione a livello di cluster e spazio dei nomi configurazione. Per ulteriori informazioni sul formato di origine gerarchico, consulta Struttura del repository gerarchico.

Non strutturato è il formato consigliato per la maggior parte degli utenti. Inoltre, quando configuri gli oggetti RepoSync, devi usare il formato di origine non strutturato.

Funzionalità supportate per i formati non strutturati e gerarchici

La seguente tabella evidenzia le differenze tra le colonne non strutturate e formati gerarchici:

Funzionalità Formato non strutturato (consigliato) Formato gerarchico
Utilizzato come formato per un oggetto RootSync o come fonte attendibile centrale Supportato Supportato
Utilizzato come formato per un oggetto RepoSync Supportato Non supportata
ClusterSelector Supportato Supportato
NamespaceSelector Supportato Supportato
Il comando nomos hydrate Supportato con il flag --source-format=unstructured Supportato
Il comando nomos init Non supportata Supportato
Il comando nomos vet Supportato con il flag --source-format=unstructured Supportato
Tutti gli altri comandi nomos Supportato Supportato
Spazi dei nomi astratti Non supportata Supportato
Repo oggetti Non supportata Supportato
HierarchyConfig oggetti Non supportata Supportato

Quando aggiungere configurazioni all'origine

Se stai creando un formato non strutturato, puoi iniziare ad aggiungere configurazioni appena creato. Se crei un formato gerarchico, utilizza il comando nomos init per inizializzare la fonte attendibile o creare manualmente la struttura della directory.

Non è possibile eseguire il commit di directory vuote in un repository Git, quindi prima configurare Config Sync, devi creare le configurazioni e aggiungerle al repository.

Dopo aver creato la fonte attendibile e aver aggiunto le configurazioni, utilizza la nomos vet per verificare struttura della tua fonte di riferimento e controlla la sintassi e la validità configurazioni.

Configura Config Sync per la lettura dalla fonte attendibile

Dopo aver creato una fonte attendibile e avervi inserito le configurazioni, e configurare Config Sync per la lettura dall'origine. Dopo aver completato Questo passaggio, Config Sync sincronizza le configurazioni dalla tua fonte di riferimento con i tuoi cluster.

Configuri la località della fonte di riferimento quando installare Config Sync, e potrai modificare la configurazione di Config Sync in un secondo momento. Oltre alla sezione località della fonte attendibile, puoi specificare un ramo o una sottodirectory guarda, se l'origine ha contenuti diversi dalle configurazioni.

Se utilizzi un formato gerarchico e installando manualmente Config Sync con kubectl, non inserire la configurazione dell'operatore nel campo system/ o qualsiasi altra directory riservata, come cluster/ o namespaces/. Se posizioni la configurazione in una delle directory riservate, nomos vet in caso di errore e registra un errore come KNV1033: LegalSystemResourceplacementError. KNV1038: PoliticalKindInNamespacesError, oppure KNV1039: adsenseKindInClusterError.

Puoi concedere agli utenti l'accesso alla fonte attendibile dell'implementazione di un determinato team di prodotto. Tuttavia, quando concedi a una persona l'accesso a una fonte attendibile di un deployment, a una persona viene concesso lo stesso RBAC del riconciliatore in funzione per quella fonte di la verità.

Per configurare l'autenticazione e l'autorizzazione tra Config Sync e la fonte attendibile, consulta il passaggio di installazione configurazione del secret git-creds.

Ignora le mutazioni degli oggetti

Se non vuoi che Config Sync mantenga lo stato dell'oggetto nel esistente, puoi aggiungere il cluster client.lifecycle.config.k8s.io/mutation: ignore sull'oggetto che vuoi che Config Sync ignori le mutazioni.

Per utilizzare l'annotazione, devi attivare il parametro API RootSync e RepoSync.

L'esempio seguente mostra come aggiungere l'annotazione a un oggetto:

metadata:
  annotations:
    client.lifecycle.config.k8s.io/mutation: ignore 

Non puoi modificare manualmente questa annotazione sugli oggetti gestiti nel cluster.

Passaggi successivi