L'obiettivo principale dell'assistenza di Google è risolvere gli incidenti di produzione il più rapidamente possibile. Comprendere la tua configurazione, analizzare log e metriche e collaborare con i partner ci aiuta a risolvere rapidamente gli incidenti.
Google Cloud offre vari pacchetti di assistenza per soddisfare le tue esigenze. Tutti i pacchetti di assistenza Google Cloud includono il supporto per la versione Enterprise di Google Kubernetes Engine (GKE) e Google Distributed Cloud. Se hai già un Google Cloud pacchetto di assistenza, hai già l'assistenza per GKE Enterprise e Google Distributed Cloud.
Per saperne di più, consulta la documentazione dell'assistenza clienti Google Cloud.
Requisiti per l'assistenza di Google Distributed Cloud
Per risolvere efficacemente gli incidenti critici per l'attività:
- Verifica che il tuo ambiente sia aggiornato e che rientri nei periodi di tempo pubblicati per il ritiro del supporto. Per saperne di più, consulta la sezione Norme sul supporto delle versioni.
- Attiva Cloud Logging e Cloud Monitoring per i componenti di sistema. Per maggiori dettagli, consulta la sezione Strumenti di assistenza di seguito.
Strumenti di assistenza
Per risolvere un incidente di Google Distributed Cloud,l'assistenza Google Cloud si basa su tre informazioni:
- La configurazione dell'ambiente
- Log dei tuoi cluster
- Metriche dei tuoi cluster
Configurazione dell'ambiente
Quando apri una richiesta di assistenza, l'esecuzione dei seguenti comandi fornisce informazioni chiave sulla configurazione del cluster:
Per tutti i tipi di cluster, esegui il comando
bmctl check cluster --snapshot
per acquisire informazioni su Kubernetes e sui tuoi nodi. Allega il file tar risultante alla richiesta di assistenza.Per i cluster di amministrazione, ibrida e autonomi, esegui il comando
bmctl check cluster
per controllare lo stato di integrità del cluster e dei nodi. Allega i log risultanti alla richiesta di assistenza. Devono essere presenti nella directorybmctl-workspace/[CLUSTER_NAME]/log/check-cluster-[TIMESTAMP]
.Per i cluster utente, crea prima un file YAML di controllo di integrità dell'integrità con il nome e lo spazio dei nomi del cluster, quindi applica il file al cluster di amministrazione appropriato:
Crea un file YAML con le seguenti proprietà
healthcheck
. Ecco alcuni contenuti di esempio per un cluster denominatouser1
nello spazio dei nomicluster-user1
:apiVersion: baremetal.cluster.gke.io/v1 kind: HealthCheck metadata: generateName: healthcheck- namespace: cluster-user1 spec: clusterName: user1
Dopo aver creato il file YAML, applica la risorsa personalizzata nel cluster amministrativo che gestisce il cluster utente con il comando
kubectl
. Ecco un comando di esempio che utilizza il file YAML creato nel passaggio precedente. Nel campione, la variabileADMIN_KUBECONFIG
specifica il percorso del file kubeconfig del cluster di amministrazione:kubectl --kubeconfig ADMIN_KUBECONFIG create -f healthcheck-user1.yaml
Il comando restituisce la seguente risposta:
healthcheck.baremetal.cluster.gke.io/healthcheck-7c4qf created
Attendi il completamento del job di controllo di integrità dell'integrità verificando se la controllo di integrità del job è stata completata. Nell'esempio precedente, il nome del job di controllo di integrità è
healthcheck.baremetal.cluster.gke.io/healthcheck-7c4qf
. Ecco un test di esempio con il comandokubectl
che attende 30 minuti per il completamento del job di controllo di integrità'integrità:kubectl --kubeconfig ADMIN_KUBECONFIG wait healthcheck healthcheck-7c4qf \ -n cluster-user1 --for=condition=Reconciling=False --timeout=30m
Al termine, questo comando restituisce:
healthcheck.baremetal.cluster.gke.io/healthcheck-7c4qf condition met
Puoi visualizzare i risultati del job di controllo di integrità#39;integrità con il seguente comando:
kubectl --kubeconfig ADMIN_KUBECONFIG get healthcheck healthcheck-7c4qf \ -n cluster-user1
Il comando restituisce il seguente risultato:
NAME PASS AGE healthcheck-7c4qf true 17m
Raccogliere tutti i log del pod del job di controllo di integrità in un file locale con il comando
kubectl
. Ecco un esempio che utilizza il job di controllo dello stato di salute di esempio precedente:kubectl --kubeconfig ADMIN_KUBECONFIG logs -n cluster-user1 \ -l baremetal.cluster.gke.io/check-name=healthcheck-7c4qf --tail=-1 > \ healthcheck-7c4qf.log
Log del cluster
Quando crei un nuovo cluster Google Distributed Cloud, gli agenti Cloud Logging sono abilitati per impostazione predefinita e limitati solo ai componenti a livello di sistema. In questo modo, i log a livello di sistema vengono replicati nel progetto Google Cloud associato al cluster. I log a livello di sistema provengono dai pod Kubernetes nei seguenti spazi dei nomi:
kube-system
gke-system
gke-connect
istio-system
config-management-system
gatekeeper-system
cnrm-system
knative-serving
È possibile eseguire query sui log dalla console Cloud Logging.
Per maggiori dettagli, vedi Registrazione e monitoraggio.
Google Cloud CLI e accesso remoto al cluster
Se apri una richiesta di assistenza, l'assistenza clienti Google Cloud potrebbe chiederti l'accesso remoto di sola lettura ai tuoi cluster per aiutarti a diagnosticare e risolvere i problemi in modo più efficace. Affinché il team di assistenza abbia accesso sufficiente per risolvere il problema del cluster da remoto, assicurati di aver installato e aggiornato la versione più recente di Google Cloud CLI. Google Cloud CLI deve essere almeno della versione 401.0.0 per concedere all'assistenza clienti Google Cloud le autorizzazioni necessarie. Ti consigliamo di aggiornare regolarmente Google Cloud CLI per rilevare le autorizzazioni aggiunte e altri miglioramenti.
Per installare i componenti più recenti dellgcloud CLI, utilizza il comando gcloud
components update
. Per ulteriori informazioni su come concedere all'assistenza clienti Google Cloud l'accesso di sola lettura remoto ai tuoi cluster, consulta Assistenza Google Cloud per i cluster registrati.
Metriche del cluster
Oltre ai log, l'agente Cloud Monitoring acquisisce anche le metriche. In questo modo, le metriche a livello di sistema vengono replicate nel progetto Google Cloud associato al cluster. Le metriche a livello di sistema provengono dai pod Kubernetes in esecuzione negli stessi spazi dei nomi elencati in Logs.
Per maggiori dettagli, vedi Registrazione e monitoraggio.
Come risolviamo i problemi del tuo ambiente
Ecco un esempio di un tipico incidente relativo all'assistenza:
L'amministratore del cluster apre una richiesta di assistenza nella console Google Cloud o nel Google Cloud Support Center e seleziona Google Kubernetes Engine (GKE) Enterprise Edition e Google Distributed Cloud come Categoria e Componente, rispettivamente. Inseriscono le informazioni richieste e allega all'ordine l'output dei comandi
bmctl
pertinenti.La richiesta di assistenza viene inoltrata a un Technical Support Engineer specializzato in Google Distributed Cloud.
L'ingegnere dell'assistenza esamina i contenuti dell'istantanea per ottenere il contesto dell'ambiente.
L'ingegnere dell'assistenza esamina i log e le metriche nel progetto Google Cloud, inserendo l'case ID di assistenza come giustificazione commerciale, che viene registrata internamente.
Il tecnico del servizio di assistenza risponde alla richiesta con una valutazione e un consiglio. L'tecnico del servizio di assistenza e l'utente continuano la risoluzione dei problemi fino a trovare una soluzione.
Che cosa supporta Google?
In genere, il team di assistenza Cloud supporta tutti i componenti software forniti come parte di Google Distributed Cloud e Cloud Service Mesh, Policy Controller, Config Sync e Config Controller. Per un elenco più completo degli elementi supportati e non supportati, consulta la tabella seguente:
Supportato daGoogle Cloud | Non supportata |
---|---|
Kubernetes e il runtime del container | Scelta del bilanciatore del carico da parte del cliente (bilanciamento del carico manuale) |
Connect e l'agente Connect | Codice cliente (vedi Assistenza per sviluppatori) |
Google Cloud , monitoraggio, logging e agenti | Scelta del sistema operativo da parte del cliente |
Bilanciatore del carico in bundle | Server, archiviazione e rete fisici o virtuali |
Controller Ingress | Sistemi DNS, DHCP e di identità esterni |
GKE Identity Service | |
Cloud Service Mesh | |
Policy Controller | |
Config Sync | |
Config Controller |
Norme relative al supporto delle versioni
L'assistenza per Google Distributed Cloud segue le norme relative all'assistenza di GKE Enterprise. Google supporta ogni versione secondaria di Google Distributed Cloud per il periodo di tempo più lungo tra:
- 12 mesi dopo il rilascio iniziale della versione minore.
- La release della terza versione secondaria successiva.
Per gli elenchi delle versioni di Google Distributed Cloud supportate e non supportate, consulta Versionamento.
Per informazioni sulle versioni relative agli upgrade dei cluster, consulta Regole relative alle versioni per gli upgrade.
Modello di responsabilità condivisa
L'esecuzione di un'applicazione di produzione fondamentale per l'attività su Google Distributed Cloud richiede che più parti si assumano responsabilità diverse. Sebbene non sia un elenco esaustivo, le sezioni seguenti elencano i ruoli e le responsabilità.
Responsabilità di Google
- Manutenzione e distribuzione del pacchetto software Google Distributed Cloud.
- Inviare notifiche agli utenti sugli upgrade disponibili per Google Distributed Cloud e produrre script di upgrade per la versione precedente. Google Distributed Cloud supporta solo gli upgrade sequenziali (ad es. 1.2 → 1.3 → 1.4 e non 1.2 → 1.4).
- Utilizzo dei servizi Connect e Suite operativa di Google Cloud.
- Risolvere i problemi, fornire soluzioni alternative e correggere la causa principale di eventuali problemi relativi ai componenti forniti da Google
Responsabilità degli utenti
- Amministrazione complessiva del sistema per i cluster on-premise.
- Gestire qualsiasi carico di lavoro dell'applicazione di cui è stato eseguito il deployment sul cluster.
- Esecuzione, manutenzione e applicazione di patch all'infrastruttura del data center, inclusa la rete, i server, il sistema operativo, l'archiviazione e la connettività aGoogle Cloud.
- Eseguire, gestire e applicare patch ai bilanciatori del carico di rete se viene scelta l'opzione di bilanciamento del carico manuale.
- Eseguire regolarmente l'upgrade delle versioni di Google Distributed Cloud.
- Monitoraggio del cluster e delle applicazioni e risposta a eventuali incidenti.
- Assicurati che gli agenti Cloud Operations vengano dipartiti nei cluster.
- Fornire a Google i dettagli ambientali per la risoluzione dei problemi.
Assistenza per gli sviluppatori
Google non fornisce assistenza specifica per i carichi di lavoro delle applicazioni. Tuttavia, forniamo assistenza agli sviluppatori con il criterio best effort per garantire che i tuoi sviluppatori possano eseguire applicazioni su Google Distributed Cloud. Riteniamo che coinvolgere gli utenti in una fase precedente durante lo sviluppo possa evitare incidenti critici in un secondo momento durante il deployment.
L'assistenza per gli sviluppatori secondo il criterio del "best effort" è disponibile per i clienti con qualsiasi pacchetto di assistenza a pagamento ed è considerata una priorità P3 per un problema che blocca un lancio o una priorità P4 per una consulenza generale. In questa classificazione, il livello di priorità 0 è la priorità più alta.