I messaggi di errore in modalità privata di Anthos sono costituiti da un ID nel formato APME1234
, dove 1234
è un numero univoco, seguito da una descrizione del problema e da un suggerimento per risolverlo. Questo documento elenca ciascuno di questi messaggi di errore.
Errore AccessAccess APME1000
Questo errore indica che il componente che ha generato l'errore non riesce a trovare una o più immagini obbligatorie nel registro specificato.
Verifica quanto segue:
- Le immagini richieste sono presenti nel Container Registry.
- Il Registro di sistema è raggiungibile dall'origine dell'errore.
- La workstation ha l'autorizzazione di READ ed PULL dal registro.
- La workstation ha il file
${HOME}/.docker/config.json
ed è configurata correttamente per accedere al Registro di sistema.
APME1001 InvalidRegistryInputError
Il valore del flag --private-registry
deve essere conforme al formato:
hostname[:port]/repository/location
e non può iniziare con uno schema (ad esempio
https://
). Il nome host non può essere localhost
o 127.0.0.1
. Il valore viene utilizzato da Kubernetes per recuperare le immagini.
Esempi di valori dei flag:
fictional.registry.example/repository/location
fictional.registry.example:10443/repository/location
10.200.0.2/library
APME2000 KubeContextNotFoundError
Questo errore indica che non è stato possibile trovare il kubecontext specificato.
Verifica se:
- Il file
KUBECONFIG
esiste. - Il file
$HOME/.kube/config
esiste quando la variabile di ambienteKUBECONFIG
non è specificata. - Il contesto esiste nel file
KUBECONFIG
.
Errore CPME2001 UserClusterKubeconfig
Questo errore indica che non è stato possibile trovare il kubeconfig per il cluster utente.
Verifica se:
- Lo spazio dei nomi
cluster-CLUSTER_NAME
esiste nel cluster di amministrazione. - Gli oggetti cluster esistono nello spazio dei nomi
cluster-CLUSTER_NAME
. - Il secret
CLUSTER_NAME-kubeconfig
esiste nello spazio dei nomicluster-CLUSTER_NAME
. - Disponi di tutte le autorizzazioni necessarie per accedere agli oggetti menzionati sopra.
Errore APME2002 ManagementCenterNotSchingulable
Questo errore indica che Anthos Management Center non può essere pianificato per l'esecuzione sui nodi di un cluster.
Questo errore di solito può verificarsi se il cluster di amministrazione non dispone di nodi worker e, per impostazione predefinita, il cluster non pianifica i carichi di lavoro sul nodo del piano di controllo per motivi di sicurezza.
Per risolvere questo problema:
[Preferred] Aggiungi un pool di nodi worker al cluster di amministrazione.
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl apply -f <path/to/example-nodepool.yaml>
YAML di esempio:
apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: clusterName: admin nodes: - address: <IP address of the worker node machine. e.g. 10.200.0.4>
Rimuovi l'incompatibilità del piano di controllo dai nodi del piano di controllo, per consentire l'esecuzione dei carichi di lavoro non di sistema sui nodi del piano di controllo.
NOTA: considera gli svantaggi di questa soluzione:
Disponibilità del piano di controllo: l'esecuzione di carichi di lavoro aggiuntivi aumenta l'entropia sui nodi del piano di controllo. Se la macchina è già vincolata da risorse, è configurata in modo errato o il carico di lavoro presenta un comportamento imprevisto, potrebbe avere un impatto negativo sul server API di Kubernetes.
Sicurezza: i container non rappresentano un forte limite di sicurezza. Se un carico di lavoro dannoso esce dal container, potrebbe assumere il controllo del piano di controllo del cluster. Se il cluster gestisce altri cluster utente, l'utente malintenzionato può accedere alle credenziali nel cluster di amministrazione e ottenere il controllo anche dei cluster utente.
Costo: la modalità privata di Anthos non addebita alcun costo per i nodi del piano di controllo purché sia presente l'incompatibilità di
node-role.kubernetes.io/master:NoSchedule
. Dopo aver rimosso l'incompatibilità e abilitato l'esecuzione dei carichi di lavoro degli utenti sui nodi del piano di controllo, i costi vengono addebitati come qualsiasi altro nodo. Per informazioni dettagliate sui prezzi, consulta la pagina Prezzi.
Comando di esempio per consentire l'esecuzione dei carichi di lavoro su tutti i nodi del piano di controllo:
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl taint nodes --all node-role.kubernetes.io/master:NoSchedule-
APME2003 AdminClusterNotUpgradedError
Questo errore indica che è necessario eseguire l'upgrade del cluster amministratore prima di eseguire l'upgrade del Centro di gestione.
Il Centro di gestione nella nuova release della modalità privata di Anthos potrebbe richiedere l'esecuzione nella nuova versione del cluster di amministrazione.
Aggiorna il file di configurazione del cluster di amministrazione ed esegui il comando actl clusters baremetal upgrade
admin
per completare l'upgrade. Per le istruzioni dettagliate, consulta l'articolo sull'upgrade del cluster di amministrazione.
APME3000 AISLoginClientValidationError
Per consentire agli utenti di accedere ai cluster utilizzando le proprie credenziali federate (autenticazione OIDC), ADMIN_OIDC_KUBECONFIG deve essere generato dagli amministratori.
ADMIN_ACTL_AUTH_LOGIN_CONFIG=admin-actl-auth-login-config.yaml
ADMIN_OIDC_KUBECONFIG=oidc-kubeconfig
actl auth login --login-config=${ADMIN_ACTL_AUTH_LOGIN_CONFIG} --cluster=admin --kubeconfig=${ADMIN_OIDC_KUBECONFIG}
${KUBECTL_ANTHOS_CONFIG}
è un file di configurazione degli input scaricato dal Centro di gestione, mentre ${ADMIN_OIDC_KUBECONFIG}
è la posizione del file
di kubeconfig di output. Non condividere il file di configurazione dell'output, né con i dipendenti né con gli amministratori.
Per continuare, controlla i valori di input:
- I valori del flag
--login-config
e--kubeconfig
non sono vuoti. - I valori del flag
--login-config
e--kubeconfig
non sono gli stessi. - I valori del flag
--login-config
e--kubeconfig
hanno percorsi di file validi.
Utilizza il flag --skip-validation
per saltare la convalida.
PermissionDeniedError APME3001
L'errore indica autorizzazioni insufficienti per eseguire l'azione.
Per risolvere il problema:
Identifica il ruolo assegnato.
- Metodo 1: utilizzo di Anthos Management Center Console
- Apri la scheda
Identity and Access
nella console del Centro di gestione. - Vai alla scheda
Access
nella schermataIdentity and Access
per visualizzare il ruolo assegnato.
- Apri la scheda
- Metodo 2: utilizzo del comando kubectl:
kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="{your account}")]}[{.roleRef.kind},{.roleRef.name}]{end}' Example: kubectl get rolebinding,clusterrolebinding --all-namespaces -o jsonpath='{range .items[?(@.subjects[0].name=="foo@bar.com")]}[{.roleRef.kind},{.roleRef.name}]{end}' [ClusterRole,anthos-platform-admin-read-only]
- Metodo 1: utilizzo di Anthos Management Center Console
Per visualizzare le autorizzazioni disponibili per i ruoli di autorizzazione preimpostati, consulta la pagina relativa ai ruoli di autorizzazione preimpostati e alle autorizzazioni.
Se viene assegnato un ruolo con privilegio inferiore ed è necessario un ruolo con privilegi superiori per eseguire una determinata azione o se il ruolo è stato assegnato in modo errato, chiedi agli amministratori di verificare se l'accesso può essere concesso.
Se il ruolo dispone di autorizzazioni sufficienti per l'azione in base ai ruoli di autorizzazione predefiniti e le autorizzazioni e
APME3001-PermissionDeniedError
viene visualizzato per errore, segnala un bug all'indirizzoanthos-private-mode-feedback@google.com
.
APME3002 AuthMethodPreflightCheckError
L'errore indica che l'impostazione del metodo di autenticazione fornito non può superare il controllo preflight.
Se hai fornito un'impostazione OIDC:
- Verifica che l'URL del provider OIDC sia corretto.
- Assicurati che la pagina di rilevamento della configurazione OpenID
https://<your OIDC provider URL>/.well-known/openid-configuration
sia accessibile e contenga una configurazione valida. - Se il tuo provider OIDC utilizza un certificato SSL autofirmato, assicurati di inserirlo nel campo del certificato del provider OIDC.
APME3003 UserCredentialNotFoundError
Questo errore indica che l'azione richiesta non può essere eseguita senza una credenziale dell'utente.
Per eseguire la richiesta, abilita l'autenticazione o chiedi all'amministratore di abilitarla. Per configurare l'autenticazione OIDC, consulta Autenticazione con OIDC.
Passaggi successivi
- Scopri di più sui problemi noti.