Solution Kubernetes

Utilisez la solution de surveillance Kubernetes dans Oracle Logging Analytics pour surveiller et générer des informations sur votre plate-forme Kubernetes déployée dans OCI, des clouds publics tiers, des clouds privés ou sur site, y compris des déploiements Kubernetes gérés.

Les données de télémétrie, telles que les mesures, l'état de Kubernetes sous forme d'informations sur les objets et les différents journaux de l'environnement Kubernetes, sont collectées pour l'analyse.

Remarque

La solution Logging Analytics pour Kubernetes prend en charge les versions officielles de Kubernetes supérieures à 1.22 et les variantes de cloud correspondantes telles que OKE et EKS.

Pour obtenir les droits d'accès requis pour effectuer toutes les opérations dans la solution Kubernetes, reportez-vous à Autoriser toutes les opérations de solution Kubernetes.

Les types de journal suivants sont collectés à partir de l'environnement Kubernetes :

Type Composant : Mappage de source de journal Enrichissement des métadonnées

Journaux de composant/système Kubernetes

Proxy Kube : journaux de proxy Kubernetes

Kube Flannel : Journaux Flannel Kubernetes

Outil de redimensionnement automatique DNS Kube : journaux de l'outil de redimensionnement automatique DNS Kubernetes

DNS de base : journaux DNS de base Kubernetes

Pilote de noeud CSI : journaux de pilote de noeud CSI Kubernetes

Proxymux : journaux client proxy OKE Proxymux

Outil de redimensionnement automatique : journaux de l'outil de redimensionnement automatique Kubernetes

Kubelet : Journaux Kubelet Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

Node

Espace de noms

Pod

Conteneur

Nom de l'image du conteneur

Journaux du système d'exploitation

Journaux Syslog : Journaux Syslog Linux

Journaux Cron : Journaux Cron Linux

Journaux sécurisés : Journaux sécurisés Linux

Journaux de diffusion : journaux de distribution de messages Linux

Journal d'audit : journaux d'audit Linux

Journaux Ksplice / Uptrack : Journaux Ksplice

Journaux YUM : journaux YUM Linux

Nom de cluster Kubernetes

ID de cluster Kubernetes

Node

Journaux de pod/conteneur Kubernetes

Journaux génériques de conteneur Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

Node

Espace de noms

Pod

Conteneur

Nom de l'image du conteneur

Les informations d'objet suivantes sont collectées à partir de l'environnement Kubernetes :

Object Source de journal Enrichissement des métadonnées
Node Journaux d'objet de noeud Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

Pod Journaux d'objet de pod Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

Déploiement (charge globale) Journaux d'objet de déploiement Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

DaemonSet (Charge globale) Journaux d'objet DaemonSet Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

StatefulSet (Charge globale) Journaux d'objet StatefulSet Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

Emploi (charge de travail) Journaux d'objet de travail Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

CronJob (Charge globale) Journaux d'objet CronJob Kubernetes

Nom de cluster Kubernetes

ID de cluster Kubernetes

Connexion de votre cluster Kubernetes avec Logging Analytics

Assurez-vous que vous avez collecté les informations nécessaires sur votre cluster Kubernetes dans votre location et que vous disposez des privilèges nécessaires pour connecter votre cluster. Oracle recommande à un utilisateur disposant de privilèges d'administrateur d'effectuer cette opération. Une fois la connexion établie, les journaux, les mesures et les informations d'objet des composants Kubernetes et des noeuds de calcul associés sont collectés à partir de ce cluster.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Analyse de journalisation, cliquez sur Solutions, puis sur Kubernetes. La page Solution de surveillance Kubernetes s'ouvre.

  2. Sur la page Solution de surveillance Kubernetes, cliquez sur Connecter des clusters. L'assistant Ajouter des données s'ouvre. Ici, la section Surveiller Kubernetes est déjà développée. Cliquez sur Oracle OKE. La page Configurer la surveillance de l'environnement OKE s'ouvre.

  3. Sélectionnez le cluster OKE à connecter à Oracle Logging Analytics en cliquant sur la ligne correspondante dans le tableau des clusters. Utilisez les détails du tableau pour identifier le cluster OKE approprié. Cliquez sur Suivant.

  4. Dans le menu, sélectionnez le compartiment de stockage des données de télémétrie et des ressources de surveillance associées.

  5. Les stratégies et groupes dynamiques requis sont éventuellement créés. Vous pouvez désactiver la case à cocher si vous les avez déjà créées. Pour connaître les stratégies requises, reportez-vous à Autoriser toutes les opérations de solution Kubernetes.

  6. Le serveur de mesures est éventuellement installé pour la collecte des mesures d'utilisation. Vous pouvez désactiver cette case si vous l'avez déjà installée.

  7. Sélectionnez l'option de déploiement de solution :

    • Activer automatiquement les clusters ci-dessus : sélectionnez cette option pour permettre à Oracle Logging Analytics de créer automatiquement toutes les ressources requises.
      Remarque

      Cette option de déploiement n'est pas recommandée pour les clusters OKE qui ne disposent pas d'adresse de serveur d'API publique. Dans ce cas, utilisez l'option de déploiement Je déploierai manuellement les clusters ci-dessus. Pour plus de détails, reportez-vous à la page GitHub OCI Kubernetes Monitoring.

      La configuration de la collecte automatique de journaux crée ou met à jour les ressources suivantes :

      • Stratégie IAM et groupes dynamiques
      • Groupes de journaux et entités Oracle Logging Analytics
      • Clé d'agent de gestion
      • Espace de noms de mesure
      • Configuration d'agent de gestion
      • Configuration de Fluentd
      • Manifestes Kubernetes et chart Helm
    • Je déploierai manuellement les clusters ci-dessus : sélectionnez cette option pour qu'Oracle Logging Analytics crée toutes les ressources Oracle Cloud Infrastructure et vous offre la possibilité de gérer le déploiement de Fluentd et d'autres configurations via des manifestes Helm/Kubernetes dans votre cluster. Toutefois, les instructions d'installation seront fournies à la fin du workflow de connexion. Cette option vous permet de personnaliser la configuration par défaut et les autres paramètres de collecte utilisés dans le déploiement automatique.
  8. Cliquez sur Configurer la collecte de journaux pour confirmer la configuration que vous avez indiquée.

    Les ressources Oracle Cloud Infrastructure sont désormais créées.

  9. Si vous sélectionnez l'option de déploiement manuel pour la solution, suivez les instructions d'installation fournies à la fin du workflow de connexion pour le déploiement de graphiques Helm.

La configuration est alors terminée pour collecter les données de votre cluster Kubernetes. Accédez à la page de la solution de surveillance Kubernetes et attendez quelques minutes que la collecte de données soit terminée. Lorsque la collecte de données est en cours, la dernière télémétrie du cluster est Unknown. Vous pouvez consulter la solution après modification de ce statut.

Surveillance des clusters Kubernetes

Les données de télémétrie collectées à partir de votre cluster Kubernetes sont présentées dans plusieurs vues pour vous aider à obtenir des informations sur l'environnement et ses performances.

Pour afficher la solution de votre cluster Kubernetes, procédez comme suit :

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Analyse de journalisation, cliquez sur Solutions, puis sur Kubernetes. La page Solution de surveillance Kubernetes s'ouvre. Les clusters déjà connectés à Oracle Logging Analytics sont répertoriés dans l'onglet Clusters surveillés.

  2. Sous Clusters surveillés, cliquez sur le nom du cluster à surveiller et à analyser. La solution pour le cluster sélectionné s'ouvre avec la vue Cluster par défaut.

Maintenant, explorez la solution et les différentes vues disponibles pour parcourir les niveaux de la topologie et obtenez des détails à chaque niveau dans Vue de cluster, Vue de charge globale, Vue de noeud et Vue de pod. Notez que le contexte de filtre est maintenu entre les différentes vues.

Vue de cluster

Exemple de vue de cluster de solutions Kubernetes :


Vue de cluster

La vue Cluster comprend les sections suivantes :

  • Sélecteur d'heure (2 dans l'image) : il existe deux options de période, Last 60 Minutes (par défaut) et Last 24 Hours. Toute modification apportée dans la période aura une incidence sur les événements et les widgets du panneau de droite.

  • Filtres (1 dans l'image) :

    • Filtre d'espaces de noms : permet de filtrer la vue par espace de noms Kubernetes.
  • Topologie : (3 dans l'image) : les données d'objet collectées à partir de l'environnement Kubernetes sont affichées dans cette section. Cliquez avec le bouton droit de la souris sur un espace de noms pour l'ajouter au filtre. Ensuite, la vue de topologie change pour refléter les objets dans l'espace de noms qui inclut les charges globales et les noeuds. La topologie est basée sur l'heure actuelle et n'est pas affectée par les paramètres de période.

    La couleur de chaque objet de la topologie indique son statut dérivé d'événements d'avertissement actifs associés à l'objet ou à ses enfants. Par exemple, si un pod comporte un ou plusieurs événements d'avertissement, le code de couleur du pod devient RED et la charge globale correspondante (propriétaire du pod) et l'espace de noms est également réfléchi avec le même statut.

  • Pods par espace de noms : (5 dans l'image) : pods disponibles dans la topologie. Pour plus de détails sur la couleur de chaque pod, voir le paragraphe ci-dessus.
  • Récapitulatif du panneau de gauche (4 dans l'image) : le récapitulatif du panneau de gauche est basé sur l'heure actuelle et n'est pas affecté par les paramètres de période.
  • Evénements : (7 dans l'image) cette section affiche les modifications d'état survenant dans le cluster Kubernetes sous la forme d'événements. Vous pouvez filtrer davantage les événements par Avertissements uniquement ou par Tout.

    Vous pouvez développer la section Evénements pour afficher le tableau au centre de la page.

  • Widgets du panneau de droite (6 dans l'image) : ces widgets vous aident à surveiller l'état du système. The type of widgets available upon using the rotating scroll bar are CPU core (used/allocatable) in %, CPU core used, Memory (used/allocatable) in %, Memory used, Kubernetes system, OS health, Total API server requests, API server request duration, API response size, API request execution duration, etcd request duration, Network: bytes rx, Network: byts tx, Network Packet Rx Rate, Network: Packet Tx Rate, Network: Packet Rx Dropped Rate, and Network: Packet Tx Dropped Rate.

Vous pouvez développer chaque section pour afficher une visualisation plus grande et passer le curseur de la souris pour afficher plus de détails.

Vue de charge globale

Exemple de vue de charge globale de solution Kubernetes :


Vue de la charge globale kubernetes

Les sections Sélecteur d'heure, Evénements, Récapitulatif du panneau de gauche et Widgets du panneau de droite sont les mêmes que dans la vue de cluster. Le contexte de filtre d'espace de noms est conservé dans la vue de cluster, et un filtre supplémentaire pour les charges globales est également disponible dans cette vue. La section Pods par charge globale offre la vue des pods regroupés en fonction de la charge globale à laquelle ils appartiennent. En outre, la vue inclut les détails de la charge globale. Dans cette section, vous pouvez développer chaque type de charge globale pour afficher des informations détaillées sur l'espace de noms, le nom de la charge globale, son statut et son ancienneté.

Vue Noeud

Exemple de vue de noeud de solution Kubernetes :


Vue de noeud de solution Kubernetes

Les sections Sélecteur d'heure, Evénements, Récapitulatif du panneau de gauche et Widgets du panneau de droite sont les mêmes que dans la vue de cluster. Le contexte Filtre d'espace de noms et Filtre de charges de travail est conservé dans la vue Charges de travail et un filtre supplémentaire pour les noeuds est également disponible dans cette vue. La section Pods par noeud offre la vue des pods regroupés par noeud auquel ils appartiennent. En outre, la vue inclut le statut du noeud. Dans cette section, vous pouvez développer chaque noeud pour afficher des informations détaillées telles que le statut, les problèmes, l'âge, le système d'exploitation, l'exécution de conteneur, les versions kubelet / kubeproxy, la CPU, la mémoire (capacité) et la mémoire (allocable). Vous pouvez également afficher de manière sélective le statut des noeuds qui présentent des problèmes ou qui ne sont pas prêts.

Vue Pod

Exemple de vue de pod de solution Kubernetes :


Vue de pod de solution Kubernetes

Les sections Sélecteur d'heure, Evénements, Récapitulatif du panneau de gauche et Widgets du panneau de droite sont les mêmes que dans la vue de cluster. Le contexte de filtre d'espace de noms, de charge globale et de filtre de noeuds est conservé dans la vue de noeuds. La section Pods affiche les pods et leur statut en fonction de la sélection de filtre. En outre, la vue inclut le statut des pods. Dans cette section, vous pouvez développer chaque pod pour afficher des informations détaillées telles que le statut, le noeud, l'espace de noms, l'adresse IP de pod, le contrôleur, le type de contrôleur et le planificateur. Vous pouvez également visualiser de manière sélective les détails des pods en fonction de leur statut en cours, comme En cours d'exécution, Echec, Succès et En attente.

Autoriser toutes les opérations de solution Kubernetes

Créez un groupe dynamique pour permettre la collecte de journaux, de mesures et d'informations sur les objets :

ALL {instance.compartment.id = '<OKE_COMPARTMENT_OCID>'}
ALL {resource.type='managementagent', resource.compartment.id='<TELEMETRY_COMPARTMENT_OCID>'}

Créez des stratégies pour permettre au groupe dynamique d'effectuer des opérations de collecte de données :

allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment id <TELEMETRY_COMPARTMENT_OCID>
allow dynamic-group <dynamic_group_name> to use METRICS in compartment id <TELEMETRY_COMPARTMENT_OCID> WHERE target.metrics.namespace = 'mgmtagent_kubernetes_metrics'
allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_DISCOVERY_UPLOAD} in tenancy

Pour plus d'informations sur les groupes dynamiques et les stratégies IAM, reportez-vous à Documentation OCI : gestion des groupes dynamiques et à Documentation OCI : gestion des stratégies.