Observation de l'état des noeuds de travail et des modules complémentaires

Découvrez comment observer l'état et l'utilisation des ressources des noeuds de travail et des modules complémentaires Kubernetes de base avec le moteur Kubernetes (OKE).

Kubernetes Engine vous permet d'observer l'état et l'utilisation des ressources des noeuds de travail et des modules complémentaires Kubernetes clés, tels que CoreDNS et KubeProxy. Vous pouvez observer l'état et l'utilisation des ressources dans n'importe quelle grappe prenant en charge les modules complémentaires gérés. En collectant des mesures opérationnelles et de ressources, vous pouvez détecter et résoudre de manière proactive les problèmes potentiels et les anomalies avant que les charges de travail ne soient affectées.

Pour vous permettre d'observer l'état et l'utilisation des ressources, Kubernetes Engine déploie les deux modules complémentaires gérés suivants sur chaque noeud de travail :

  • ObservabilityAgent : Le module complémentaire ObservabilityAgent collecte des mesures d'infrastructure à partir de sources telles que kubelet, cAdvisor, CoreDNS et KubeProxy.
  • NodeProblemDetector : Le module complémentaire NodeProblemDetector identifie et résout les problèmes tels que la saturation des ressources et les problèmes de réseau au niveau du noeud de travail. La configuration NodeProblemDetector gérée est conçue pour éviter les conflits avec les déploiements existants de cet outil ou d'outils similaires.

Les modules complémentaires d'observabilité sont préconfigurés pour utiliser un minimum de ressources et ne nécessitent pas de configuration personnalisée étendue. Une priorité de programmation faible leur est affectée, ce qui garantit que les charges de travail des systèmes et des utilisateurs restent l'objectif principal des ressources de noeud de travail. Les ressources des deux modules complémentaires d'observabilité sont ajoutées à l'espace de noms kube-system.

Lors de l'observation de l'état et de l'utilisation des ressources, Kubernetes Engine collecte les mesures suivantes :

  • Utilisation d'UC, de mémoire et de réseau pour les conteneurs et les pods (à partir de kubelet et cAdvisor).
  • Demandes DNS, taux d'erreur et temps de réponse CoreDNS.
  • Statistiques sur le réseau du service KubeProxy.
  • Informations sur l'état des noeuds de travail, événements et conditions (à partir du module complémentaire NodeProblemDetector).

Les données collectées sont agrégées et rendues accessibles à l'aide de points d'extrémité et d'outils conformes aux normes de l'industrie, tels que ceux compatibles avec Prometheus.

Notez que seules les données de mesure pour les composants d'infrastructure et de plate-forme sont collectées. Plus précisément, notez qu'aucune charge de travail ou donnée d'application identifiable n'est collectée.

Activation et désactivation des fonctions d'observation de l'état

Découvrez comment activer et désactiver la fonctionnalité d'observation de l'état avec Kubernetes Engine (OKE).

Vous pouvez activer et désactiver la fonctionnalité d'observation de l'état à l'aide de la console, de l'interface de ligne de commande et de l'API.

    1. Dans la page de liste Grappes, sélectionnez le nom de la grappe pour laquelle vous souhaitez activer la fonctionnalité d'observation de l'état. Si vous avez besoin d'aide pour trouver la page de liste ou la grappe, voir Liste des grappes.
    2. Dans l'onglet Modules complémentaires, sélectionnez Gérer les modules complémentaires.
    3. Sélectionnez l'option Edit (Modifier) à côté de ObservabilityAgent ou NodeProblemDetector.
    4. Sélectionnez l'option Activer <nom du module complémentaire> pour déployer et activer le module complémentaire de grappe s'il n'a pas été activé dans cette grappe auparavant, ou pour activer le module complémentaire de grappe s'il a été déployé précédemment mais est actuellement désactivé.
    5. Configurez le module complémentaire de grappe en spécifiant les détails suivants :
      • Mises à jour automatiques : Sélectionnez cette option pour qu'Oracle mette à jour automatiquement le module complémentaire lorsqu'une nouvelle version devient disponible.
      • Sélectionner une version : Sélectionnez cette option pour contrôler la version du module complémentaire déployé par Oracle sur la grappe. Un avertissement indique que vous avez pris la responsabilité de la mise à jour du module complémentaire. Si vous choisissez cette option, sélectionnez la version du module complémentaire à déployer sur la grappe dans la liste Version. Voir Versions prises en charge du module complémentaire de grappe.
      • Facultatif : et Valeur : (Facultatif) Sélectionnez Ajouter une configuration pour spécifier une ou plusieurs paires clé/valeur à transmettre en tant qu'arguments au module complémentaire de grappe. Voir Arguments de configuration du module complémentaire de grappe.
    6. Sélectionnez Enregistrer les modifications.

    Pour désactiver le module complémentaire ObservabilityAgent ou NodeProblemDetector, sélectionnez l'option Modifier à côté du module complémentaire, désélectionnez l'option Activer <nom du module complémentaire> et sélectionnez Enregistrer les modifications.

  • Utilisez la commande oci ce cluster install-addon et les paramètres requis pour déployer le module complémentaire ObservabilityAgent ou NodeProblemDetector :

    oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --region <region> [OPTIONS]
    oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --region <region> [OPTIONS]

    Utilisez la commande oci ce cluster disable-addon et les paramètres requis pour désactiver (et éventuellement supprimer) le module complémentaire ObservabilityAgent ou NodeProblemDetector déployé sur une grappe :

    oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --is-remove-existing-add-on <true|false> [OPTIONS]
    oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --is-remove-existing-add-on <true|false> [OPTIONS]

    Pour la liste complète des paramètres et des valeurs pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.

  • Exécutez l'opération InstallAddon ou l'opération DisableAddon pour installer ou désactiver (et éventuellement supprimer) le module complémentaire ObservabilityAgent ou NodeProblemDetector déployé sur une grappe.

Utilisation des étiquettes pour activer et désactiver la fonctionnalité d'observation de l'état sur des noeuds de travail spécifiques ou sur tous les noeuds de travail

Découvrez comment utiliser des étiquettes pour activer et désactiver la fonctionnalité d'observation de l'état sur les noeuds de travail à l'aide du moteur Kubernetes (OKE).

Pour collecter des mesures à partir d'un noeud de travail spécifique, appliquez des étiquettes au noeud de travail comme suit :

kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=true <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=true <node-name>

Pour collecter des mesures à partir de tous les noeuds de travail, appliquez les étiquettes comme suit :

kubectl label node --overwrite --all oci.oraclecloud.com/oke-observability-agent-enabled=true
kubectl label node --overwrite --all oci.oraclecloud.com/oke-node-problem-detector-enabled=true

Pour désactiver la fonctionnalité d'observation de l'état sur un noeud de travail spécifique, appliquez des étiquettes au noeud de travail comme suit :

kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=false <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=false <node-name>

Observation de l'état des noeuds de travail et des modules complémentaires

Découvrez comment observer l'état des noeuds de travail et des modules complémentaires après l'installation et l'activation des modules complémentaires ObservabilityAgent et NodeProblemDetector.

Après avoir installé et activé les modules complémentaires ObservabilityAgent et NodeProblemDetector, utilisez Kubernetes standard et les outils de surveillance pour observer l'état des noeuds de travail et des modules complémentaires.

Par exemple, pour interroger et visualiser les mesures collectées pour le noeud de travail et les modules complémentaires, utilisez des solutions de surveillance compatibles avec Prometheus ou OpenMetrics. Ces mesures incluent l'utilisation des ressources de conteneur et de pod, les statistiques CoreDNS et KubeProxy et les événements d'état de noeud de travail.

Obtention de mesures directement à partir d'un noeud de travail (point d'extrémité MTLS)

Le module complémentaire ObservabilityAgent expose un point d'extrémité de mesures sur chaque noeud de travail et le sécurise avec le protocole TLS mutuel (mTLS). Le point d'extrémité des mesures n'est accessible que par un client présentant un certificat de client valide émis par une autorité de certification approuvée. Une autorité de certification est un émetteur de confiance qui signe des certificats afin que d'autres composants puissent vérifier l'identité et établir des connexions chiffrées. Le certificat client doit être signé par l'autorité de certification de la grappe. Les certificats requis sont disponibles sur le noeud de travail après le provisionnement.

Pour extraire des mesures à partir d'un noeud de travail, connectez-vous au noeud (par exemple, à l'aide de SSH) et exécutez une commande similaire à la suivante :

sudo curl -v --cert /var/lib/kubelet/pki/kubelet-client-current.pem --key /var/lib/kubelet/pki/kubelet-client-current.pem --cacert /etc/kubernetes/ca.crt https://<node-private-ip>:9995/metrics 

où :

  • --cert /var/lib/kubelet/pki/kubelet-client-current.pem indique le certificat du client de kubelet, qui est approuvé par l'autorité de certification de la grappe.
  • --key /var/lib/kubelet/pki/kubelet-client-current.pem indique la clé privée pour le certificat de client (dans cette configuration, elle est stockée dans le même fichier PEM).
  • --cacert /etc/kubernetes/ca.crt indique le certificat de l'autorité de certification racine de la grappe utilisé pour vérifier le certificat de serveur présenté par le point d'extrémité de mesures.
  • <node-private-ip> est l'adresse IP privée du noeud de travail (par exemple, 10.0.10.121).
  • https://<node-private-ip>:9995/metrics est le point d'extrémité des mesures ObservabilityAgent sur le noeud.

Vous pouvez utiliser les mêmes certificats et point d'extrémité lors de la configuration de votre propre pipeline de mesures (par exemple, un outil de balayage compatible Prometheus) pour collecter et visualiser les mesures ObservabilityAgent.

Vérification de l'état des modules complémentaires

Vous pouvez observer l'état des modules complémentaires ObservabilityAgent et NodeProblemDetector, comme suit :

  • Pour vérifier le statut DaemonSet des modules complémentaires d'observabilité déployés, entrez :

    kubectl get daemonset -n kube-system

    Vérifiez que les modules de réseautage oke-dataplane-observability-agent et oke-node-problem-detector DaemonSets sont en cours d'exécution et que les nombres de modules de réseautage souhaités et prêts correspondent au nombre de noeuds de travail observés.

  • Si vous rencontrez des résultats inattendus ou des problèmes avec les modules complémentaires d'observabilité, inspectez les journaux de pod pour ObservabilityAgent et NodeProblemDetector dans l'espace de noms kube-system en entrant :

    kubectl logs -n kube-system <pod-name>

    Vérifiez également que les noeuds de travail ont les étiquettes requises.

Pour plus d'informations sur la gestion des modules complémentaires pour grappes, voir Gestion des modules complémentaires pour grappes.