Questa pagina mostra come risolvere i problemi di Config Controller.
Troubleshoot installation
Nessuna rete denominata predefinita
Durante la creazione dell'istanza Config Controller, potresti ricevere un errore sulla 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 se non hai specificato una rete esistente con
--network
e la tua rete predefinita in Google Cloud
è stato eliminato o disattivato. Per impostazione predefinita, Config Controller crea
Cluster della versione Google Kubernetes Engine (GKE) Enterprise che esegue il backup dell'istanza di Config Controller nel
rete predefinita.
Se vuoi creare l'istanza in una rete esistente, aggiungi
--network=NETWORK
quando crei
Config Controller. Sostituisci NETWORK
con il nome
di una rete esistente.
Se vuoi creare l'istanza Config Controller nella rete predefinita, ricrea la rete predefinita con il seguente comando:
gcloud compute networks create default --subnet-mode=auto
Affinché questo comando funzioni, abilitando subnet automatiche con
Il flag --subnet-mode=auto
è obbligatorio.
Dopo aver ricreato la rete predefinita, puoi omettere il flag --network
quando crei l'istanza di Config Controller.
Valore non valido per MasterIpv4CidrBlock
La creazione di Config Controller utilizza una subnet predefinita di 172.16.0.128/28
il CIDR IPv4 del piano di controllo.
Se si verifica un conflitto nel blocco CIDR IPv4, la creazione di Config Controller
non riesce e restituisce il seguente 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 viene visualizzato questo errore, seleziona un CIDR IPv4 privato diverso e utilizzalo utilizzando
--master-ipv4-cidr-block
in: gcloud anthos config controller create
.
Per trovare i blocchi CIDR IPv4 già in uso:
Trova il nome del peering:
gcloud compute networks peerings list --network=NETWORK
Sostituisci
NETWORK
con il nome della rete che 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=REGION
Sostituisci quanto segue:
PEERING_NAME
: il nome del peering a cui vuoi cercaNETWORK
: il nome della rete che vuoi cercareREGION
: il nome della regione in cui L'istanza di Config Controller è in
Risolvi i problemi durante l'esecuzione di Config Controller
IP del pool di nodi esaurito
Se viene visualizzato il seguente messaggio di errore, i pool di nodi potrebbero non avere indirizzi IP sufficienti:
Can't scale up because instances in managed instance groups hosting node pools ran out of IPs
Questo problema può verificarsi se ometti il flag --cluster-ipv4-cidr-block
. Quando
ometti questo flag, il valore predefinito di Config Controller sarà l'intervallo CIDR dei pod /20
.
Questo intervallo fornisce un massimo di 16 nodi.
Se hai bisogno di più nodi, elimina l'istanza di Config Controller mentre
non è possibile modificare il blocco CIDR dopo la creazione. Quando ricrei il modello
Config Controller, utilizza il parametro facoltativo
--cluster-ipv4-cidr-block
e specifica
CIDR range or netmask size
.
Informazioni dashboard mancanti
Se non vedi dettagli per Config Controller nella console Google Cloud dashboard, l'account di servizio predefinito utilizzato da Config Controller potrebbe non dispongono delle autorizzazioni di Google Cloud Observability necessarie.
Per concedere queste autorizzazioni, utilizza i comandi seguenti:
# Cloud Monitoring metrics permissions
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/stackdriver.resourceMetadata.writer \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/opsconfigmonitoring.resourceMetadata.writer \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
# Cloud Logging permissions
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/logging.logWriter \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
# Cloud Trace permissions\
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/cloudtrace.agent \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che hai creato dell'istanza di Config ControllerPROJECT_NUMBER
: il numero del tuo progetto Google Cloud
Risolvere i problemi relativi ai componenti
Poiché l'istanza Config Controller è preinstallata Policy Controller, Config Sync e Config Connector, che riscontrano problemi con questi componenti. Per scoprire come risolvere questi problemi, componenti, consulta le pagine seguenti:
- Risolvere i problemi di Policy Controller
- Introduzione alla risoluzione dei problemi di Config Sync
- Risolvi i problemi di Config Connector
Le sezioni seguenti forniscono consigli su alcuni dei problemi più comuni che che potresti riscontrare quando usi Config Controller con questi componenti.
Errori di sincronizzazione
Le configurazioni nella fonte attendibile (ad esempio, un repository Git o una
immagine OCI) vengono sincronizzati con l'istanza di Config Controller con
Config Sync. Verifica la presenza di errori nel processo di sincronizzazione utilizzando la proprietà
Comando nomos status
:
nomos status --contexts $(kubectl config current-context)
Risolvi i problemi delle risorse di Config Connector
Campi e risorse immutabili
Alcuni campi delle risorse Google Cloud sottostanti sono immutabili, come ID progetto o il nome della tua rete VPC. Blocchi di Config Connector modifiche a questi campi e non può attivarle. Se vuoi modificarne uno di questi campi immutabili, devi eliminare la risorsa originale (tramite Git) prima di aggiungerlo nuovamente con i tuoi valori preferiti.
Risorse bloccate
A volte, l'eliminazione delle risorse potrebbe non riuscire correttamente (come segnalato da nomos
status
). Puoi risolvere il problema rimuovendo il pulsante
finalizzatori
sulla risorsa per poi eliminarla manualmente.
Ad esempio, per eliminare un IAMPolicyMember bloccato, esegui questo comando :
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
Passaggi successivi
- Se hai bisogno di ulteriore assistenza, contatta Assistenza clienti Google Cloud.