Questa pagina descrive come installare Anthos Config Management.
Anthos Config Management consente di applicare in modo dichiarativo criteri e configurazione ai cluster Anthos eseguendo automaticamente il deployment della nuova configurazione da un repository Git centrale. Per ulteriori informazioni, consulta la documentazione di Anthos Config Management.
Puoi installare Anthos Config Management utilizzando il centro di gestione o kubectl. Devi disporre di un repository Git prima di installare Anthos Config Management.
Installazione dal Centro di gestione
Per configurare Anthos Config Management sul cluster utente, vai alla scheda Config Management e fai clic su Setup. Quindi segui le istruzioni nella pagina per completare la configurazione.
Puoi anche aggiornare o eseguire l'upgrade di un'installazione di Anthos Config Management esistente. Fai clic sul link nella colonna Versione per modificare la configurazione esistente.
Installazione con kubectl
L'installazione di Anthos Config Management con kubectl
prevede due passaggi.
Innanzitutto, configura le chiavi SSH per Config Sync da utilizzare per l'autenticazione con il tuo repository Git. Successivamente, installi le risorse di Anthos Config Management,
ConfigManagementFeatureSpec
e ConfigManagementBinding
, nel cluster.
Puoi anche utilizzare kubectl
per aggiornare o eseguire l'upgrade di un'installazione di Anthos Config Management esistente.
Configurare le chiavi SSH
Una coppia di chiavi SSH è composta da due file: una chiave pubblica e una chiave privata. In genere, la chiave pubblica ha un'estensione .pub
.
Crea una coppia di chiavi SSH per consentire a Config Sync di eseguire l'autenticazione nel tuo repository Git. Puoi utilizzare una singola coppia di chiavi per tutti i cluster o una coppia di chiavi per cluster, a seconda dei requisiti di sicurezza e conformità.
Il seguente comando crea una chiave RSA a 4096 bit. I valori inferiori non sono consigliati:
ssh-keygen -t rsa -b 4096 \ -C GIT_REPOSITORY_USERNAME \ -N '' \ -f /path/to/KEYPAIR_FILENAME
Sostituisci quanto segue:
GIT_REPOSITORY_USERNAME
: il nome utente che vuoi che Config Sync utilizzi per eseguire l'autenticazione nel repository./path/to/KEYPAIR_FILENAME
: un percorso per l'output della coppia di chiavi.
Configura il tuo repository in modo che riconosca la chiave pubblica appena creata. Consulta la documentazione del provider host Git.
Aggiungi la chiave privata a un nuovo oggetto secret nel cluster utente:
kubectl create ns config-management-system --kubeconfig=USER_CLUSTER_KUBECONFIG && \ kubectl create secret generic git-creds --kubeconfig=USER_CLUSTER_KUBECONFIG \ --namespace=config-management-system \ --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
Sostituisci quanto segue:
USER_CLUSTER_KUBECONFIG
: il file di configurazione per il cluster utente. Puoi ottenerlo dal Centro gestione./path/to/KEYPAIR_PRIVATE_KEY_FILENAME
: nome della chiave privata (il file senza il suffisso.pub
).
Elimina la chiave privata dal disco locale o proteggila in altro modo.
Configura ConfigManagementFeatureSpec
e ConfigManagementBinding
Quindi, crea una risorsa ConfigManagementFeatureSpec
nel cluster:
kubectl apply -f CONFIG_MANAGEMENT_YAML --kubeconfig=ADMIN_OIDC_KUBECONFIG
Sostituisci quanto segue:
- ADMIN_OIDC_KUBECONFIG: credenziali OIDC per il cluster di amministrazione. Per le istruzioni, consulta Accedere con identità federate al server API di Kubernetes del cluster di amministrazione.
- CONFIG_MANAGEMENT_YAML: il percorso del file di configurazione per la risorsa
ConfigManagementFeatureSpec
. Fai riferimento al seguente esempio:
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.7.1"
git:
syncRepo: "git@GIT_HOST_ADDRESS:REPO_NAME.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
---
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: ConfigManagementBinding
metadata:
name: config-management-binding-sample
namespace: anthos-management-center
spec:
configs:
- configRef:
name: config-management-spec-sample
namespace: anthos-management-center
placement:
clusterIDs:
- "CLUSTER-NAME"
Sostituisci quanto segue:
GIT_HOST_ADDRESS
: indirizzo host del repository Git.REPO_NAME
: nome del repository Git.CLUSTER-NAME
: nome del cluster.
Aggiornamento e upgrade
Puoi aggiornare o eseguire l'upgrade di Anthos Config Management modificando il ConfigManagementFeatureSpec
corrispondente.
Ad esempio, per attivare la funzionalità repository non strutturato, aggiorna ConfigManagementFeatureSpec
:
apiVersion: managementcenter.anthos.cloud.google.com/v1alpha1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.7.1"
sourceFormat: "unstructured"
git:
syncRepo: "git@<YOUR_GIT_HOST_ADDRESS>:<YOUR_UNSTRUCTURED_REPO>.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true