Installation of the master and node agents
The following guides you to the master and node agent installation procedure as follows: This procedure is the same as in Install guide.
EKS Fargate is to be supported later.
Selecting an installation method
Check the access key and then select the Choose installation method tab on the Setup guide screen. Select a desired installation method out of the Yaml and Helm chart installation methods supported by the WhaTap Kubernetes agent, and then select an appropriate item according to your Kubernetes environment.
-
Select any of Stable and Preview versions of the WhaTap Kubernetes agent image that are recommended.
-
Select a desired installation method out of Yaml and Helm chart.
-
Select an applicable Kubernetes version: 1.16 or later or less than 1.16.
-
Select Container runtime from containerd, Docker Engine, and CRI-O.
-
Select a User Kubernetes environment (GKE, OpenShift, Istio, GPU Cluster), if applicable.
-
After selecting an installation method, click Next at the lower right of the screen or select the Apply additional features tab on the left to move to the next step.
Apply additional features
WhaTap Kubernetes Monitoring currently provides Control plane monitoring as an additional feature. To apply additional features, select the Control Plane check box.
The more additional features are applied, the greater the amount of data collected and the resources used by the agent may increase. After installation, you can enable or disable the feature through the agent configuration.
After selecting whether or not to apply additional features, click Next at the lower right of the screen, or select the Download installation file tab on the left to move to the next step.
For more information about the control plain monitoring, see the following.
Downloading the installation file
Before downloading the installation file, make sure that the appropriate items for the Kubernetes environment are selected. After confirming your selection, click Download installation file to download the default configuration file (values.yaml) required for installation.
After downloading, click Next at the lower right of the screen or select the Enter execution command tab to move to the next step.
Enter execution command
In the Choose installation method tab, proceed with the installation by entering the execution command according to the selected environment and installation instructions.
Kubernetes environment
If you select the GKE or OpenShift environment in the Choose installation method tab, see the following instructions. If not applicable, skip to the next step Create Kubernetes agent.
- GKE Environment
- OpenShift Environment
If you select the Google Kubernetes Engine (GKE) environment in the Choose installation method tab, execute the following command to set the roles after creating the user cluster.
ACCOUNT=$(gcloud info --format='value(config.account)')
kubectl create clusterrolebinding owner-cluster-admin-binding \
--clusterrole cluster-admin \
--user $ACCOUNT
For more information about installation with the gcloud commands, see Google Cloud Document
If you select the OpenShift environment in the Choose installation method tab, execute the following command to set the roles.
oc create -f whatap_openshift_scc.yaml
Creating the Kubernetes agent
When installing the WhaTap Kubernetes agent, the installation instructions are provided based on the Helm chart and Yaml file default installation instructions as follows.
- Yaml
- Helm Chart
Yaml file-based installation
If you select the Yaml file installation method in the Choose installation method tab, execute the following command to create the agent.
kubectl apply -f whatap_kube_agent.yaml
The amount of resources used by the Master Agent is somewhat proportional to the number of nodes in your environment. In other words, if there are a large number of nodes in the cluster, OOM (Out Of Memory) may occur when resources exceed the default memory limit (350 MB). The memory limit allocated to the master agent can be changed through the agent installed YAML file.
Installing the Helm chart default
The WhaTap Kubernetes agent uses the whatap-monitoring
namespace by default. If the namespace is unavailable or you need a specific namespace, see the following.
If you select the Helm chart installation method in the Choose installation method tab, see the following instructions.
-
Check the helm version by using the following command. It supports the version of 3.x or later.
helm Version
# Output example
# version.BuildInfo{Version:"v3.x", GitCommit:"xxx", GitTreeState:"clean", GoVersion:"go1.20.8"} -
Check the network connectivity to the WhaTap Helm repository.
curl https://whatap.github.io/helm/ping
# Output example
# pong -
Execute the following command to add the WhaTap Helm repository.
helm repo add whatap https://whatap.github.io/helm/
helm repo update -
Install the agent application as follows.
-
For users who install the agent for the first time, run the following command to install the agent application.
helm install whatap-kube-agent whatap/kube -f values.yaml
-
In case of existing WhaTap Kubernetes agent users, run the following command to install the agent application.
kubectl delete ns whatap-monitoring
kubectl delete clusterrole whatap
kubectl delete clusterrolebinding whatap
helm install whatap-kube-agent whatap/kube -f values.yaml
NoteIf you have installed the WhaTap Kubernetes agent by using the existing yaml file, Clean Install is required. After deleting the existing Kubernetes agent, installation is possible using the helm chart.
-
Major configuration items for values.yaml
To modify the WhaTap Kubernetes agent settings, modify the default configuration file (_ values.yaml_). The major settings in the values.yaml file are as follows:
Key | Type | Default | Description |
---|---|---|---|
whatap.license | String | # <license-key> | Whatap license key |
whatap.host | String | # <whatap-server-host> | Host address of the Whatap server |
whatap.port | Int | # <whatap-server-port> | Whatap port number |
containerRuntime | String | "docker" | Container runtime in use Select any of "docker" , "containerd" , and "crio" . |
daemonSet.name | String | whatap-node-agent | Name of DaemonSet |
daemonSet.label | String | whatap-node-agent | Label to assign to DaemonSet |
daemonSet.initContainers.nodeDebugger.enabled | Bool | true | Whether to enable the Whatap node debugger container |
daemonSet.containers.nodeHelper.image | String | whatap/kube_mon | Image of the nodeHelper container |
daemonSet.containers.nodeHelper.requests.memory | String | 100Mi | nodeHelper MEMORY request |
daemonSet.containers.nodeHelper.requests.cpu | String | 100m | nodeHelper CPU request |
daemonSet.containers.nodeHelper.limits.memory | String | 350Mi | nodeHelper MEMORY limit |
daemonSet.containers.nodeHelper.limits.cpu | String | 200m | nodeHelper CPU limit |
daemonSet.containers.nodeAgent.image | String | whatap/kube_mon | Image of the nodeAgent container |
daemonSet.containers.nodeAgent.requests.memory | String | 300Mi | nodeAgent MEMORY request |
daemonSet.containers.nodeAgent.requests.cpu | String | 100m | nodeAgent CPU request |
daemonSet.containers.nodeAgent.limits.memory | String | 350Mi | nodeAgent MEMORY limit |
daemonSet.containers.nodeAgent.limits.cpu | String | 200m | nodeAgent CPU limit |
deployment.name | String | whatap-master-agent | Name of Deployment |
deployment.label | String | whatap-master-agent | Label to assign to Deployment |
deployment.replicas | Int | 1 | Number of replicas in Deployment |
deployment.containers.controlPlaneHelper.enabled | Boolean | true | Whether to enable the whatap-control-plane-helper container |
deployment.containers.controlPlaneHelper.image | String | "whatap/kube_mon" | Image of the controlPlaneHelper container |
deployment.containers.controlPlaneHelper.port | String | 9496 | Port number of the controlPlaneHelper container. |
deployment.containers.controlPlaneHelper.resources.requests.memory | String | "300Mi" | MEMORY request of the controlPlaneHelper container. |
deployment.containers.controlPlaneHelper.resources.requests.cpu | String | "100m" | CPU request of the controlPlaneHelper container |
deployment.containers.controlPlaneHelper.resources.limits.memory | String | "350Mi" | MEMORY limit of the controlPlaneHelper container. |
deployment.containers.controlPlaneHelper.resources.limits.cpu | String | "200m" | CPU limit of the controlPlaneHelper container. |
deployment.containers.masterAgent.name | String | whatap-master-agent | Name of the masterAgent container. |
deployment.containers.masterAgent.image | String | "whatap/kube_mon" | Image of the masterAgent container |
deployment.containers.masterAgent.port | Int | 6600 | Port number of the masterAgent container. |
deployment.containers.masterAgent.resources.requests.memory | String | "300Mi" | MEMORY request of the masterAgent container |
deployment.containers.masterAgent.resources.requests.cpu | String | "100m" | CPU request of the masterAgent container |
deployment.containers.masterAgent.resources.limits.memory | String | "350Mi" | MEMORY limit of the masterAgent container |
deployment.containers.masterAgent.resources.limits.cpu | String | "200m" | CPU request of the masterAgent container |
For the guide to Installation troubleshooting based on the Helm chart, see the following.
Checking the agent installation
If the Kubernetes agent installation has been completed, you can check the status of the master agent and node agent by executing the following command:
kubectl get pod -n whatap-monitoring
In case the status is Running
If STATUS is in Running, it indicates the installation has been finished as follows. After installing the master and node agents, start monitoring the resources in your Kubernetes environment. Go to Whatap Monitoring Service and then check the performance data collection in Project List and Dashboard > Container Map.
In case the status is not Running
If the STATUS is not Running, it indicates that the installation has not been completed successfully as follows.
-
Execute the following command on the master node to determine the cause of the Pod creation failure.
kubectl describe pod {POD_NAME} -n whatap-monitoring
-
Check the Events: item at the bottom of the execution result.
When using the kubectl
command, the -n {namespace}
option performs the task for specific namespaces. Because the WhaTap agent is installed in the namespace named whatap-monitoring
by default, add the -n whatap-monitoring
option.
-
When you select the Monitoring start guide button at the lower right of the screen, you can see the instructions for main menus of the Whatap Kubernetes monitoring. If you click the button at the bottom of each main menu guide, the corresponding menu appears.
-
To proceed with the application agent installation, select Install additional monitoring at the lower right of the screen. For more information, see the following.
-
To update the agent to the latest version, see the following.