L'objectif principal de Google est de résoudre les incidents de production le plus rapidement possible. La compréhension de votre configuration, l'analyse des journaux et des métriques et la collaboration avec des partenaires nous aident à résoudre rapidement les incidents.
Google Cloud propose plusieurs formules d'assistance adaptées à vos besoins. Toutes les formules d'assistance Google Cloud sont compatibles avec Google Kubernetes Engine (GKE) Enterprise et Google Distributed Cloud. Si vous avez souscrit à une formule d'assistance Google Cloud, vous bénéficiez déjà de la compatibilité avec GKE Enterprise et Google Distributed Cloud.
Pour en savoir plus, consultez la documentation de l'assistance Google Cloud.
Conditions requises pour l'assistance Google Distributed Cloud
Pour résoudre efficacement les incidents critiques, vous devez effectuer les actions suivantes :
- Vérifiez que votre environnement est à jour et conforme aux délais de fin de service publiés. Pour plus d'informations, consultez la section Politique de compatibilité avec les versions.
- Activez Cloud Logging et Cloud Monitoring pour les composants système. Pour en savoir plus, consultez la section Outils d'assistance suivante.
Outils d'assistance
Pour résoudre un incident dans Google Distributed Cloud, l'assistance de Google Cloud s'appuie sur trois éléments d'information:
- La configuration de votre environnement
- Les journaux de vos clusters
- Les métriques de vos clusters
Configuration de votre environnement
Lorsque vous ouvrez une demande d'assistance, l'exécution des commandes suivantes fournit des informations clés sur la configuration de votre cluster :
Pour tous les types de clusters, exécutez la commande
bmctl check cluster --snapshot
pour capturer des informations sur Kubernetes et vos nœuds. Joignez le fichier tar obtenu à la demande d'assistance.Pour les clusters d'administrateur, hybrides et autonomes, exécutez la commande
bmctl check cluster
pour vérifier l'état de fonctionnement du cluster et des nœuds. Joignez les journaux générés à la demande d'assistance. Ils doivent exister dans le répertoirebmctl-workspace/[CLUSTER_NAME]/log/check-cluster-[TIMESTAMP]
.Pour les clusters d'utilisateur, créez d'abord un fichier YAML de vérification d'état avec le nom et l'espace de noms du cluster, puis appliquez-le dans le cluster d'administrateur approprié :
Créez un fichier YAML avec les propriétés
healthcheck
suivantes : Voici un exemple de contenu pour un cluster nomméuser1
dans l'espace de nomscluster-user1
:apiVersion: baremetal.cluster.gke.io/v1 kind: HealthCheck metadata: generateName: healthcheck- namespace: cluster-user1 spec: clusterName: user1
Après avoir créé le fichier YAML, appliquez la ressource personnalisée dans le cluster d'administrateur qui gère le cluster d'utilisateur à l'aide de la commande
kubectl
. Voici un exemple de commande utilisant le fichier YAML créé à l'étape précédente. Dans l'exemple, la variableADMIN_KUBECONFIG
spécifie le chemin d'accès au fichier kubeconfig du cluster d'administrateur :kubectl --kubeconfig ADMIN_KUBECONFIG create -f healthcheck-user1.yaml
La commande renvoie la réponse suivante :
healthcheck.baremetal.cluster.gke.io/healthcheck-7c4qf created
Attendez que la tâche de vérification de l'état soit terminée en effectuant un test pour vérifier si la tâche de vérification de l'état est terminée. Dans l'exemple précédent, le nom de la tâche de vérification de l'état est
healthcheck.baremetal.cluster.gke.io/healthcheck-7c4qf
. Voici un exemple de test avec la commandekubectl
qui attend 30 minutes que la tâche de vérification de l'état se termine :kubectl --kubeconfig ADMIN_KUBECONFIG wait healthcheck healthcheck-7c4qf \ -n cluster-user1 --for=condition=Reconciling=False --timeout=30m
Une fois l'opération terminée, cette commande renvoie le résultat suivant :
healthcheck.baremetal.cluster.gke.io/healthcheck-7c4qf condition met
Vous pouvez afficher les résultats de la vérification de l'état à l'aide de la commande suivante :
kubectl --kubeconfig ADMIN_KUBECONFIG get healthcheck healthcheck-7c4qf \ -n cluster-user1
La commande renvoie le résultat suivant :
NAME PASS AGE healthcheck-7c4qf true 17m
Rassemblez tous les journaux des pods de la tâche de vérification de l'état dans un fichier local à l'aide de la commande
kubectl
. Voici un exemple utilisant la tâche précédente de vérification de l'état :kubectl --kubeconfig ADMIN_KUBECONFIG logs -n cluster-user1 \ -l baremetal.cluster.gke.io/check-name=healthcheck-7c4qf --tail=-1 > \ healthcheck-7c4qf.log
Journaux de cluster
Lorsque vous créez un cluster Google Distributed Cloud, les agents Cloud Logging sont activés par défaut et ne concernent que les composants au niveau du système. Cette opération permet de répliquer les journaux système dans le projet Google Cloud associé au cluster. Les journaux au niveau du système proviennent des pods Kubernetes se trouvant dans les espaces de noms suivants :
kube-system
gke-system
gke-connect
istio-system
config-management-system
gatekeeper-system
cnrm-system
knative-serving
Les journaux peuvent être interrogés à partir de la console Cloud Logging.
Pour en savoir plus, consultez la page Logging et Monitoring.
Google Cloud CLI et accès distant au cluster
Si vous ouvrez une demande d'assistance, le Cloud Customer Care peut vous demander un accès en lecture seule à distance à vos clusters afin de diagnostiquer et de résoudre les problèmes plus efficacement. Pour que l'équipe d'assistance dispose d'un accès suffisant pour résoudre à distance le problème de votre cluster, assurez-vous d'avoir installé et mis à jour la dernière version de la Google Cloud CLI. La Google Cloud CLI doit être à la version 401.0.0 ou ultérieure pour accorder au Cloud Customer Care les autorisations nécessaires. Nous vous recommandons de mettre à jour régulièrement Google Cloud CLI afin de bénéficier des autorisations ajoutées et d'autres améliorations.
Pour installer les derniers composants de gcloud CLI, utilisez la commande gcloud
components update
. Pour en savoir plus sur l'octroi à Cloud Customer Care d'un accès en lecture seule et à distance à vos clusters, consultez la page Assistance Google Cloud pour vos clusters enregistrés.
Métriques de cluster
En plus des journaux, l'agent Cloud Monitoring capture également les métriques. Cette opération permet de répliquer les métriques au niveau du système dans le projet Google Cloud associé au cluster. Les métriques au niveau du système proviennent de pods Kubernetes exécutés dans les mêmes espaces de noms que ceux répertoriés dans les journaux.
Pour en savoir plus, consultez la page Logging et Monitoring.
Comment nous dépannons votre environnement
Voici un exemple type d'incident nécessitant une assistance :
L'administrateur du cluster ouvre une demande d'assistance dans la console Google Cloud ou dans le centre d'assistance Google Cloud, et sélectionne respectivement Google Kubernetes Engine (GKE) Enterprise et Google Distributed Cloud comme catégorie et composant. Ils saisissent les informations requises et joignent le résultat des commandes
bmctl
pertinentes au cas.Cette demande d'assistance est transmise à un ingénieur d'assistance technique spécialiste de Google Distributed Cloud.
L'ingénieur d'assistance examine le contenu de l'instantané pour connaître le contexte de l'environnement.
L'ingénieur d'assistance examine les journaux et les métriques du projet Google Cloud, en saisissant le numéro de la demande d'assistance comme justification de l'entreprise, laquelle est consignée en interne.
L'ingénieur d'assistance répond à la demande par une évaluation et une recommandation. L'ingénieur d'assistance et l'utilisateur continuent de tenter de résoudre le problème jusqu'à ce qu'ils trouvent une solution.
Quelles sont les fonctionnalités acceptées par Google ?
En règle générale, l'équipe d'assistance Cloud accepte tous les composants logiciels fournis dans le cadre de Google Distributed Cloud et Cloud Service Mesh, Policy Controller, Config Sync et Config Controller. Consultez le tableau suivant pour obtenir une liste plus complète des éléments compatibles et non compatibles :
Compatibilité Google Cloud | Non compatible |
---|---|
Kubernetes et l'environnement d'exécution des conteneurs | Choix de l'équilibreur de charge (équilibrage de charge manuel) par le client |
Connexion et l'agent Connect | Code client (voir Assistance aux développeurs) |
Opérations Google Cloud, Monitoring, Logging et agents | Choix du système d'exploitation par le client |
Équilibreur de charge groupé | Serveur physique ou virtuel, stockage et réseau |
Contrôleur d'entrée | Systèmes externes de DNS, de DHCP et de gestion des identités |
Service d'identité GKE | |
Cloud Service Mesh | |
Policy Controller | |
Config Sync | |
Config Controller |
Politique de compatibilité avec les versions
La compatibilité de Google Distributed Cloud est conforme à la politique d'assistance GKE Enterprise. Google est compatible avec chaque version mineure de Google Distributed Cloud au dernier des termes suivants :
- 12 mois après la publication initiale de la version mineure.
- Publication de la troisième version mineure suivante.
Pour obtenir la liste des versions compatibles et non compatibles de Google Distributed Cloud, consultez la section Gestion des versions.
Pour obtenir des informations sur les versions liées aux mises à niveau de cluster, consultez la section Règles de version pour les mises à niveau.
Modèle de responsabilité partagée
Pour gérer une application de production critique sur Google Distributed Cloud, différentes responsabilités doivent être assumées par plusieurs groupes. Bien que cette liste ne soit pas exhaustive, les sections suivantes répertorient les rôles et les responsabilités concernés.
Responsabilités de Google
- Maintenance et distribution du package logiciel Google Distributed Cloud.
- Informer les utilisateurs des mises à niveau disponibles pour Google Distributed Cloud et produire des scripts de mise à niveau pour la version précédente ; Google Distributed Cloud n'est compatible qu'avec les mises à niveau séquentielles (exemple : 1.2 → 1.3 → 1.4, et non 1.2 → 1.4).
- Opération des services Connect et Cloud Operations
- Résolution des problèmes, solutions palliatives et correction de la cause principale des problèmes liés aux composants fournis par Google.
Responsabilités des utilisateurs
- Administration globale du système pour les clusters sur site
- Gestion de toute charge de travail d'application déployée sur le cluster
- Exécution, maintenance et correction de l'infrastructure du centre de données, y compris les réseaux, les serveurs, le système d'exploitation, le stockage et la connectivité à Google Cloud
- Exécution, gestion et correction des équilibreurs de charge réseau si l'option d'équilibrage de charge manuel est choisie
- Mise à niveau régulière des versions de Google Distributed Cloud.
- Surveillance du cluster et des applications et réponse aux incidents éventuels
- Déploiement des agents Cloud Operations dans les clusters
- Partage avec Google des informations concernant l'environnement à des fins de dépannage
Assistance aux développeurs
Google ne propose pas d'assistance spécifique pour les charges de travail de vos applications. Cependant, nous proposons une assistance aux développeurs au mieux, afin que votre équipe puisse exécuter des applications sur Google Distributed Cloud. Une implication à un stade précoce du développement peut prévenir des incidents critiques ultérieurs au cours du déploiement.
L'assistance aux développeurs, optimisée, est disponible pour les clients bénéficiant d'une formule d'assistance payante. Elle est traitée en tant que priorité P3 pour un problème bloquant un lancement, ou P4 pour une consultation générale. Dans cette classification, les priorités de niveau 0 sont les plus élevées.