Observation du noeud de processus actif et de l'état des modules complémentaires

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

Kubernetes Engine vous permet d'observer l'état et l'utilisation des ressources des noeuds de processus actifs 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 quel cluster prenant en charge les modules complémentaires gérés. En collectant des mesures opérationnelles et des mesures de ressources, vous pouvez détecter et résoudre de manière proactive les problèmes et anomalies potentiels 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 processus actif :

  • 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 signale les problèmes tels que la saturation des ressources et les problèmes réseau au niveau du noeud de processus actif. La configuration NodeProblemDetector gérée est conçue pour éviter tout conflit avec les déploiements existants de cet outil ou d'outils similaires.

Les modules 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 planification faible leur est attribuée, ce qui garantit que les charges de travail du système et des utilisateurs restent l'objectif principal des ressources des noeuds de processus actifs. 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 de la CPU, de la mémoire et du réseau du conteneur et du pod (à partir de kubelet et de cAdvisor).
  • CoreDNS Demandes DNS, taux d'erreur et temps de réponse.
  • Statistiques du réseau de service KubeProxy.
  • Informations sur l'état, les événements et les conditions du noeud de processus actif (à partir du module complémentaire NodeProblemDetector).

Les données collectées sont agrégées et rendues accessibles à l'aide d'adresses et d'outils conformes aux normes du secteur, tels que ceux compatibles avec Prometheus.

Seules les données de mesure des 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 de la fonctionnalité d'observation de la santé

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 la CLI et de l'API.

    1. Dans la page de liste Clusters, sélectionnez le nom du cluster pour lequel vous souhaitez activer la fonctionnalité d'observation de l'état. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters.
    2. Dans l'onglet Modules, sélectionnez Gérer les modules.
    3. Sélectionnez l'option Modifier en regard de ObservabilityAgent ou de NodeProblemDetector.
    4. Sélectionnez l'option Activer <nom du module> pour déployer et activer le module du cluster s'il n'a pas été activé sur ce cluster auparavant, ou pour activer le module du cluster s'il a été déployé précédemment mais est actuellement désactivé.
    5. Configurez l'extension de cluster en spécifiant les détails suivants :
      • Mises à jour automatiques : choisissez cette option lorsque vous voulez qu'Oracle mette à jour automatiquement le module lorsqu'une nouvelle version est disponible.
      • Choisir une version : choisissez cette option lorsque vous souhaitez contrôler la version du module complémentaire déployée par Oracle sur le cluster. Un avertissement indique que vous avez pris la responsabilité de la mise à jour du module. Si vous choisissez cette option, sélectionnez la version du module complémentaire à déployer sur le cluster dans la liste Version. Reportez-vous à Version d'extension de cluster prise en charge.
      • Option : et Valeur : (facultatif) sélectionnez Ajouter une configuration pour indiquer des paires clé/valeur à transmettre en tant qu'arguments à l'extension de cluster. Reportez-vous à la section Cluster Add-on Configuration Arguments.
    6. Sélectionnez Enregistrer les modifications.

    Pour désactiver le module complémentaire ObservabilityAgent ou NodeProblemDetector, sélectionnez l'option Modifier en regard du module, désélectionnez l'option Activer <nom du module>, puis 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 un cluster :

    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 obtenir la liste complète des paramètres et des valeurs des commandes de la CLI, reportez-vous à Référence des commandes de la CLI.

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

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

Découvrez comment utiliser des libellés pour activer et désactiver la fonctionnalité d'observation de l'état sur les noeuds de processus actifs avec Kubernetes Engine (OKE).

Pour collecter des mesures à partir d'un noeud de processus actif spécifique, appliquez des libellés au noeud de processus actif 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 processus actif, appliquez les libellés 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 processus actif spécifique, appliquez des libellés au noeud de processus actif 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 processus actif et des modules complémentaires

Découvrez comment observer l'état des noeuds de processus actif et des modules complémentaires après avoir installé et activé les modules complémentaires ObservabilityAgent et NodeProblemDetector.

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

Par exemple, pour interroger et visualiser les mesures collectées pour les noeuds de processus actif 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 processus actif.

Obtention des mesures directement à partir d'un noeud de processus actif (adresse mTLS)

Le module complémentaire ObservabilityAgent expose une adresse de mesure sur chaque noeud de processus actif et la sécurise avec un protocole TLS mutuel (mTLS). Le point de terminaison des mesures est accessible uniquement par un client présentant un certificat client valide émis par une autorité de certification sécurisé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 du cluster. Les certificats requis sont disponibles sur le noeud de processus actif après le provisionnement.

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

Vous pouvez utiliser les mêmes certificats et adresse lors de la configuration de votre propre pipeline de mesures (par exemple, un racleur compatible avec Prometheus) pour collecter et visualiser les mesures ObservabilityAgent.

Vérification de l'intégrité des modules

Vous pouvez observer l'état des modules ObservabilityAgent et NodeProblemDetector eux-mêmes, 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 oke-dataplane-observability-agent et oke-node-problem-detector DaemonSets sont en cours d'exécution et que le nombre de pods souhaités et prêts correspond au nombre de noeuds de processus actif observés.

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

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

    Vérifiez également que les noeuds de processus actif disposent des libellés requis.

Pour plus d'informations sur la gestion des modules complémentaires de cluster, reportez-vous à Gestion des modules complémentaires de cluster.