How does eG Enterprise Monitor Kubernetes Master Node?

eG Enterprise monitors the target Kubernetes Master using a container agent deployed as a Daemonset. This container agent will start the discovery process in the target environment. By default, eG Enterprise is capable of automatically discovering and managing the target Kubernetes as well as the applications hosted on the target Container Engine once the container agent is deployed.

To ensure seamless discovery and management of the target Kubernetes, you need to check the following:

  • By default, the Agent discovery and Containerized applications discovery options in the AGENT DISCOVERY - ENABLE/DISABLE page that appears when you navigate through the Admin -> Discovery -> Agent Discovery -> Actions -> Enable/Disable menu sequence is enabled. Ensure that this setting remains unchanged in the target environment.

  • By default, the target Kubernetes master will be automatically discovered by eG Enterprise. To this effect, the Kubernetes Master node component type is automatically listed in the Component types chosen for discovery section available in the COMMON SETTINGS - GENERAL page that appears when you navigate through the Admin -> Discovery -> Settings -> General menu sequence. Ensure that the Kubernetes component type is not removed from this list.

  • By default, the target Kubernetes master will be automatically managed once it is auto discovered by eG Enterprise. To this effect, the Kubernets master component type is automatically listed in the Component types to be automatically managed section available in the COMMON SETTINGS - AUTO MANAGE page that appears when you navigate through the Admin -> Discovery -> Settings -> Auto manage menu sequence. Ensure that the Kubernetes master is not removed from this list.

Prerequisites for monitoring Kubernetes Master Node

To monitor Kubernetes Master node using eG Enterprise, you need to first deploy a DaemonSet which will automatically install the eG agent as a container in the target Master node.

To deploy a DeamonSet which will automatically install an eG agent as a container in the target environment, follow the steps below:

  1. Login to the eG admin interface.
  2. Figure 1 then appears prompting you to pick what you want to monitor. Select Kubernetes and Containers from Figure 1.

    Selection of Kubernetes and Containers for monitoring

    Figure 1 : Choosing to monitor Kubernetes and Containers

  3. Figure 2 then appears. Here, click the Kubernetes, Openshift, EKS, AKS tile.

     Selection of Kubernetes, Openshift, EKS, AKS infrastructures option

    Figure 2 : Choosing to monitor Kubernetes, Openshift, EKS, AKS infrastructures

  4. Figure 3 then appears. Here, choose Container Applications tile.

    Selection of Container Applications option

    Figure 3 : Choosing to monitor Container Applications

  5. Figure 4 then appears. By default, eG Enterprise monitors the target CRI-O Container Engine and the applications installed on the Container Engine using a single container agent. To deploy the container agent, you need to first determine whether the target Container Engine is installed on a Kubernetes platform or an Openshift platform. By default, Kubernetes is chosen from the Platform list.

    Platform selection on which CRI-O Container Engine operates

    Figure 4 : Selecting the platform on which the CRI-O Container Engine is operating

  6. By default, the Container agent configuration tab is displayed as shown in Figure 4. The details of the agent to be installed as the container are specified by default.

    • Registry URL: By default, the container agent is published on the Docker repository with Public access. Specify the exact URL that should be accessed to download the container agent.

    • Container agent image: Specify the exact image that should be downloaded from the Registry URL to deploy the container agent as a Daemonset. By default, the version of the container agent should be the same as that of the eG manager. For example, if the version of the eG manager is 7.2, then, the container agent image too should be of v7.2.

    • Pull secret key: By default, none is displayed against this parameter indicating that the container agent image is published on the Docker repository with Public access. In some highly secure environments, administrators may privately publish the container agent image in the Docker repository. In such case, ensure that you specify the secret key to access the container agent image from the Docker repository.

  7. Next, navigate to the Deploy container agent tab (see Figure 5).

    Steps for deploying Container agent as Daemonset

    Figure 5 : Steps to deploy the container agent as a Daemonset

    To deploy the container agent as a Daemonset, you need to download the egagent_kubernetes.yaml file. To download the file do the following:

    • In the target environment, choose a system where kubectl client is available to connect to the Kubernetes Cluster.

    • Run either of the following commands to download the egagent_kubernetes.yaml file.

      curl -o egagent_kubernetes.yaml "http(s)://<IP address of eG manager:Port>/final/egdca?gp=D0F28DD6B50F3D807B4CE61454A4365B&ct=528735868A46FFB63C945E54565BB6A4"

      or

      wget -O egagent_kubernetes.yaml "http(s)://<IP address of eG manager:Port>/final/egdca?gp=D0F28DD6B50F3D807B4CE61454A4365B&ct=528735868A46FFB63C945E54565BB6A4"

      The file will now be successfully downloaded.

  8. Since you are downloading the file from the eG Enterprise console, the env: section of the downloaded file will be auto-populated with the following variables:

    • EG_MANAGER

    • EG_MANAGER_PORT

    • EG_MANAGER_SSL

    • EG_AGENT_IDENTIFIER_ID

    Ensure that the variables remain unchanged.

  9. Now, executing the following command will help you deploy the eG agent as a Daemonset.

    kubectl create -f egagent_kubernetes.yaml

  10. Alternately, if you had chosen Openshift option from the Platform list of Figure 4, you need to download the egagent_openshift.yaml file.
  11. To download the file do the following:

    In the target environment, choose a system where oc client is available to connect to the Openshift Cluster.

    Run either of the following commands to download the egagent_openshift.yaml file.

    curl -o egagent_openshift.yaml "http(s)://<IP address of eG manager:Port>/final/egdca?gp=D0F28DD6B50F3D807B4CE61454A4365B&ct=1E9E5EF444C9876E6B5CBDAF7848BCAD"

    or

    wget -O egagent_openshift.yaml "http(s)://<IP address of eG manager:Port>/final/egdca?gp=D0F28DD6B50F3D807B4CE61454A4365B&ct=1E9E5EF444C9876E6B5CBDAF7848BCAD"

    The file will now be successfully downloaded.

  12. Since you are downloading the file from the eG Enterprise console, the env: section of the downloaded file will be auto-populated with the following variables:

    • EG_MANAGER

    • EG_MANAGER_PORT

    • EG_MANAGER_SSL

    • EG_AGENT_IDENTIFIER_ID

    Ensure that the variables remain unchanged.

  13. Now, executing the following command will help you deploy the container agent as a Daemonset on an Openshift platform.

    oc create -f egagent_openshift.yaml

  14. Once the container agent is deployed as a Daemonset, the target CRI-O Container Engine and the applications within the Container Engine will be automatically discovered and managed. Now, navigate to the layer model page in the eG monitor interface to view the real time metrics collected for the target Container Engine.