Risoluzione dei problemi di Config Controller
Questa pagina mostra come risolvere i problemi relativi a Config Controller.
Rete predefinita non disponibile
Quando crei il controller di configurazione, potresti ricevere un messaggio di errore relativo alla rete predefinita non disponibile:
Error 400: Project \"PROJECT_ID\" has no network named \"default\"., badRequest\n\n on main.tf line 35, in resource \"google_container_cluster\" \"acp_cluster\"
Questo errore si verifica perché Config Controller dipende dalla rete predefinita in Google Cloud. Per risolvere questo problema, devi creare una nuova rete predefinita:
gcloud compute networks create default --subnet-mode=auto
In alternativa, puoi selezionare una rete diversa utilizzando il flag --network
nel comando gcloud anthos config controller create
.
Valore non valido per MasterIpv4GoogrBlock
La creazione di Config Controller utilizza una subnet predefinita di 172.16.0.128/28
per
il CIDR IPv4 del piano di controllo.
In caso di conflitto nel blocco CIDR IPv4, la creazione di Config Controller non riesce con questo errore:
Cloud SSA\n\nError: Error waiting for creating GKE cluster: Invalid value for field PrivateClusterConfig.MasterIpv4CidrBlock: 172.16.0.128/28 conflicts with an existing subnet in one of the peered VPCs.
Se visualizzi questo errore, seleziona un CIDR IPv4 privato diverso e utilizzalo con il flag --master-ipv4-cidr-block
nel comando gcloud config controller create
.
Per trovare i blocchi CIDR IPv4 già in uso, segui questi passaggi:
Trova il nome del peering:
gcloud compute networks peerings list --network=NETWORK
Sostituisci
NETWORK
con il nome della rete che vuoi cercare.L'output è simile al seguente:
NAME NETWORK PEER_PROJECT PEER_NETWORK PEER_MTU IMPORT_CUSTOM_ROUTES EXPORT_CUSTOM_ROUTES STATE STATE_DETAILS gke-n210ce17a4dd120e16b6-7ebf-959a-peer default gke-prod-us-central1-59d2 gke-n210ce17a4dd120e16b6-7ebf-0c27-net False False ACTIVE [2021-06-08T13:22:07.596-07:00]: Connected.
Mostra il CIDR IPv4 utilizzato dal peering:
gcloud compute networks peerings list-routes PEERING_NAME \ --direction=INCOMING \ --network=NETWORK \ --region=us-central1
Sostituisci quanto segue:
PEERING_NAME
: il nome del peering che vuoi cercareNETWORK
: il nome della rete che vuoi cercare
Errori di sincronizzazione
Le configurazioni nel tuo repository Git vengono sincronizzate con Config Controller utilizzando Config Sync. Puoi controllare la presenza di errori in questo processo di sincronizzazione utilizzando il comando nomos status
:
nomos status --contexts $(kubectl config current-context)
Risolvere i problemi delle risorse di Config Connector
Campi e risorse immutabili
Alcuni campi delle risorse Google Cloud sottostanti sono immutabili, ad esempio gli ID progetto o il nome della rete VPC. Config Connector blocca le modifiche a tali campi e non è in grado di applicare le modifiche. Se vuoi modificare uno di questi campi immutabili, devi prima eliminare la risorsa originale (tramite Git) prima di riaggiungerla con i nuovi valori preferiti.
Risorse bloccate
In alcuni casi, le risorse potrebbero non essere eliminate correttamente (come segnalato da nomos
status
). È possibile risolvere il problema rimuovendo i
finalizzatori
sulla risorsa, quindi eliminandola manualmente.
Ad esempio, per eliminare un IAMPolicyMember bloccato, esegui il comando seguente:
kubectl patch IAMPolicyMember logging-sa-iam-permissions -p '{"metadata":{"finalizers":[]}}' --type=merge -n config-control
kubectl delete IAMPolicyMember logging-sa-iam-permissions -n config-control