Configurazione di cluster e oggetti con ambito cluster

Questa pagina spiega come configurare i cluster e gli oggetti con ambito cluster. Puoi anche leggere la configurazione degli spazi dei nomi e degli oggetti con ambito dello spazio dei nomi.

Nei repository non strutturati, puoi organizzare configurazioni per cluster e oggetti con ambito cluster nel repository nel modo che preferisci. Se non includi un ClusterSelector nel repository, tutte le configurazioni per gli oggetti con ambito cluster si applicano a tutti i cluster registrati in Config Sync.

Nei repository gerarchici, tutte le configurazioni per i cluster e gli oggetti con ambito cluster si trovano all'interno della directory cluster/ di un repository gerarchico. Se non includi un ClusterSelector nel repository, una configurazione in cluster/ viene applicata a ogni cluster registrato in Config Sync.

Limitazione dei cluster interessati da una configurazione

Normalmente, Config Sync applica una configurazione a ciascun cluster registrato. Se la configurazione si trova all'interno della sottodirectory namespaces/ di un repository gerarchico, prima Config Sync crea lo spazio dei nomi all'interno di ciascun cluster e applica tutte le configurazioni ereditate a tale spazio dei nomi.

Tuttavia, se devi applicare una configurazione a un sottoinsieme di cluster, puoi aggiungere un'annotazione o un ClusterSelector alle configurazioni. Per informazioni su come utilizzare queste funzionalità, vedi Configurare solo un sottoinsieme di cluster.

Configurazione delle etichette del cluster

Puoi utilizzare una configurazione di cluster per configurare etichette e annotazioni di un cluster. Se utilizzi ClusterSelector, ogni cluster richiede un insieme di etichette che ClusterSelector può selezionare. Anche se puoi etichettare i cluster manualmente, ti consigliamo di configurare le etichette utilizzando una configurazione del cluster.

Configurazione di CustomResourceDefinitions

Config Sync consente di sincronizzare CustomResourceDefinitions (CRD) come faresti per qualsiasi altra risorsa. Quando si sincronizzano le CRD, è necessario tenere presente alcuni aspetti:

  • I CRD nei repository gerarchici, anche quando dichiarano una risorsa personalizzata con spazio dei nomi, devono essere inseriti nella directory cluster/.

  • Gli aggiornamenti ai CRD e alle corrispondenti CustomResources non avvengono in alcun ordine prevedibile. Se modifichi i CRD e le corrispondenti CustomResources nello stesso commit, non è previsto che gli aggiornamenti di CRD si verifichino prima degli aggiornamenti delle risorse personalizzate. Questo potrebbe causare la segnalazione di un errore temporaneo per nomos status per un breve periodo di tempo, finché nel cluster non sono presenti sia CustomResource che CRD.

  • Config Sync non consente la rimozione di un CRD se qualsiasi CustomResource nel repository dipende da questo. Per rimuovere un CRD, devi rimuovere anche la sua CustomResource. Ti consigliamo di rimuoverle entrambe nello stesso commit al repository.

  • Puoi sincronizzare una CustomResource senza sincronizzare la sua CRD, a condizione che tu possa garantire che la CRD esista già nel cluster.

Passaggi successivi