マスターおよびノードエージェントのインストール
次のように、マスター及びノードエージェントのインストール手順を案内します。 インストール案内画面と同じ手順です。
EKS Fargateは、対応予定です。
インストール方法の選択
アクセスキー確認後、インストールの案内画面でインストール方法の選択タブを選択します。 WhaTap KubernetesエージェントがサポートするYamlファイルとHelmチャートのインストール方法の中から希望するインストール方法を選択し、ユーザーのKubernetes環境に合わせて適切な項目を選択します。

-
WhaTap Kubernetesエージェントのイメージバージョンを推奨するStableバージョンとPreviewバージョンの中から選択します。
-
yamlファイルとhelmチャートのインストール方法の中から希望するインストール方式を選択します。
-
1.16以降バージョンまたは1.16未満バージョンの中で該当するKubernetesバージョンを選択します。
-
containerd, Docker Engine, CRI-Oの中、コンテナランタイムを選択します。
-
ユーザーKubernetes環境(GKE, OpenShift, Istio, GPU Cluster) の中、該当する項目がある場合は選択します。
-
インストール方法に関する項目を選択した後、画面右下の次ボタンをクリックするか、左の追加機能の適用タブを選択して次のステップへ移動します。
WhaTap Kubernetesエージェントイメージリポジトリの追加対応
WhaTap Kubernetesエージェントは、従来のDockerHubの他にPublic ECRに追加対 応します。 使用環境に応じて、2つのイメージリポジトリのいずれかを選択してインストールできます。
Public ECR
- リポジトリ:
public.ecr.aws/whatap/kube_mon推奨
ECRは、pull制限ポリシーの影響を受けないため、頻繁なアップデートや大規模な配布環境で安定的に使用できるのでお勧めします。
DockerHub
- リポジトリ:
whatap/kube_mon
DockerHubは、認証されていないクライアントに対してpull制限(policy)が適用されることがあります。 ノード数が多かったり、同時にpullリクエストが発生した場合、rate limitに引っかかってインストールが失敗する可能性が高いです。 詳しくはDockerHubポリシー案内の公式文書を参考にしてください。
pull制限が発生した場合は、次の文書を参考にしてください。
追加機能の適用
WhaTap Kubernetesモニタリングは、様々な追加機能を提供します。

追加適用された機能が多いほど、収集されるデータの量とエージェントが使用するリソースの量が増加する可能性があります。 インストール後、エージェント設定により、その機能を活性化または非活性化できます。
追加機能を適用するかどうかを選択した後、画面右下の次へボタンをクリックするか、左のインストールファイルのダウンロードタブを選択して次のステップへ移動します。
コントロールプレーンモニタリング活性化
コントロールプレーンモニタリングアクティベーションと各機能の詳細については、次の文書を参照してください。
Custom Resourceモニタリング活性化
- Yaml
- Helm Chart
WhaTap Kubernetesエージェント設置yamlファイルでClusterRoleリソースのrules下位のresources項目に使用しようとするcustomResourceを追加します。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: "2025-01-15T01:48:26Z"
name: whatap
resourceVersion: "125200773"
uid: 54b0bcdb-1f12-4779-b0cb-e8de2f6be64a
rules:
- apiGroups:
- '*'
resources:
- namespaces
- pods
- pods/log
- configmaps
- services
- endpoints
- daemonsets
- ingresses
- deployments
- nodes
- persistentvolumes
- persistentvolumeclaims
- events
- replicasets
- roles
- rolebindings
- clusterroles
- clusterrolebindings
- jobs
- cronjobs
- statefulsets
- serviceaccounts
- configmaps
- storageclasses
- horizontalpodautoscalers
- replicationcontrollers
- customresourcedefinitions # CRD収集権限を追加
- samplecrds # モニタリングするCustom Resourceの名前を追加
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- pods/exec
verbs:
- create
- apiGroups:
- ""
resources:
- configmaps
verbs:
- '*'
- nonResourceURLs:
- /metrics
verbs:
- '*'
WhaTap KubernetesエージェントをHelmチャート方式で設置する場合、基本values.yamlファイルにモニタリングするCustom Resource名前を追加します。 次のようにresources項目に該当Custom Resource名前を追加します。
collect_custom_resource: true
clusterrole:
extraResources:
- "customresourcedefinitions" ##crd収集権限を追加
- "samplecrds" ##収集しようとするcustom resourceを追加
Object ManifestメニューでCustom Resourceモニタリングができます。
新規収集対象のClusterRole権限
次の収集機能は、ClusterRoleリソースのrules配下のresources項目に照会権限を追加した場合にのみ動作します。
| Resource | Feature | Description |
|---|---|---|
networkpolicies | NetworkPolicyイベント収集 | kube_network_policyカテゴリーの収集に必要 |
resourcequotas | ネームスペースのResourceQuota収集 | kube_statカテゴリーのquota_*フィールドの収集に必要 |
- 権限がない場合、その収集のみが省略され、残りの収集は継続されます。
インストール ファイル ダウンロード
インストールファイルをダウンロードする前に、ユーザーKubernetes環境に適した項目が選択されていることを確認してください。 選択項目を確認した後、インストールファイルのダウンロードボタンをクリックしてインストールに必要なデフォルト設定ファイル(values.yaml)をダウンロードします。

ダウンロード後、画面右下の次へボタンをクリックするか、実行コマンドの入力タブを選択して次のステップへ移動します。
実行コマンドの入力
インストール方法の選択タブで選択した環境とインストール方法の案内に沿って、実行コマンドを入力し、インストールします。

Kubernetes環境
インストール方法の選択タブでGKEまたはOpenShift環境を選択した場合は、次のガイドを参照してください。 該当しない場合は、次のKubernetesエージェント作成 ステップに進みます。
- GKE環境
- OpenShift環境
インストール方法の選択タブでGoogle Kubernetes Engine(GKE) 環境を選択した場合は、ユーザークラスターを作成した後、権限設定のために次のコマンドを実行します。
ACCOUNT=$(gcloud info --format='value(config.account)')
kubectl create clusterrolebinding owner-cluster-admin-binding \
--clusterrole cluster-admin \
--user $ACCOUNT
gcloudコマンドのインストールの詳細については、グーグルクラウド文書を参照してください。
インストール方法の選択タブでOpenShift環境を選択した場合は、権限設定のために次のコマンドを実行します。
oc create -f whatap_openshift_scc.yaml
Kubernetesエージェント作成
WhaTap Kubernetesエージェントのインストール時Yamlファイル基準のインストール方法の案内とHelmチャート基準のインストール方法の案内を次のように提供します。
- Yaml
- Helm Chart
Yamlファイル基準インストール
インストール方法の選択タブでyamlファイルのインストール方法を選択した場合は、エージェントを生成するために次のコマンドを実行します。
kubectl apply -f whatap_kube_agent.yaml
マスターエージェントが使用するリソースの量は、ユーザー環境のノード数にある程度比例します。 つまり、クラスタ内にノード数が多い場合、既定値に設定されたメモリLimit(350MB)以上のリソースを使ってOOM(Out Of Memory)が発生する可能性があります。 マスターエージェントに割り当てられたメモリLimitは、エージェントのインストールyamlファイルから変更できます。
Helmチャート基準のインストール
WhaTap Kubernetesエージェントは基本的にwhatap-monitoringネームスペースを使用します。 該当ネームスペースが使用できないか、ユーザーが特定のネームスペースを使用する必要がある場合は、次の文書を参照してください。
インストール方法の選択タブでhelmチャートのインストール方法を選択した場合は、次のガイドを参照してください。
-
次のコマンドを通じてhelmバージョンを確認します。 3.xバージョン以降をサポートします。
helm Version
# 出力例
# version.BuildInfo{Version:"v3.x", GitCommit:"xxx", GitTreeState:"clean", GoVersion:"go1.20.8"} -
WhaTap Helmリポジトリに対するネットワーク接続状態を確認してください。
curl https://whatap.github.io/helm/ping
# 出力例
# pong -
次のコマンドを実行して、WhaTap Helmリポジトリを追加します。
helm repo add whatap https://whatap.github.io/helm/
helm repo update -
次のようにエージェントアプリケーションをインストールします。
-
エージェントを初めてインストールするユーザーは、次のコマンドを実行してエージェントアプリケーションをインストールします。
helm install whatap-kube-agent whatap/kube -f values.yaml -
既存WhaTap Kubernetesエージェントのユーザーは、次のコマンドを実行してエージェントアプリケーションをインストールします。
kubectl delete ns whatap-monitoring
kubectl delete clusterrole whatap
kubectl delete clusterrolebinding whatap
helm install whatap-kube-agent whatap/kube -f values.yaml
ノート既存 yaml ファイル方式でWhaTap Kubernetesエージェントをインストールした場合、Clean Installが必要です。 既存のKubernetesエージェントを削除した後、helm チャートによるインストールが可能です。
-
values.yamlの主な設定項目
WhaTap Kubernetesエージェントの設定を修正するには、デフォルト設定ファイル(values.yaml)を修正する必要があります。 values.yaml ファイル内の主な設定項目を次のように案内します。
| キー | タイプ | 既定値 | 説明 |
|---|---|---|---|
whatap.license | String | # <license-key> | Whatapライセンスキー |
whatap.host | String | # <whatap-server-host> | Whatapサーバーのホストアドレス |
whatap.port | Int | # <whatap-server-port> | Whatapポート番号 |
containerRuntime | String | "docker" | 使用中のコンテナランタイム。 "docker"、"containerd"、"crio"のいずれかを選択 |
daemonSet.name | String | whatap-node-agent | DaemonSetの名前 |
daemonSet.label | String | whatap-node-agent | DaemonSetに指定するラベル |
daemonSet.initContainers.nodeDebugger.enabled | Bool | true | Whatapノードデバッガコンテナの活性化有無 |
daemonSet.containers.nodeHelper.image | String | whatap/kube_mon | nodeHelperコンテナのイメージ |
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 | nodeAgentコンテナのイメージ |
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 | Deploymentの名前 |
deployment.label | String | whatap-master-agent | Deploymentに指定するラベル |
deployment.replicas | Int | 1 | Deploymentのreplica数 |
deployment.containers.controlPlaneHelper.enabled | Boolean | true | whatap-control-plane-helperコンテナの活性化有無 |
deployment.containers.controlPlaneHelper.image | String | "whatap/kube_mon" | controlPlaneHelperコンテナのイメージ |
deployment.containers.controlPlaneHelper.port | String | 9496 | controlPlaneHelperコンテナのポート番号 |
deployment.containers.controlPlaneHelper.resources.requests.memory | String | "300Mi" | controlPlaneHelperコンテナMEMORY request |
deployment.containers.controlPlaneHelper.resources.requests.cpu | String | "100m" | controlPlaneHelperコンテナCPU request |
deployment.containers.controlPlaneHelper.resources.limits.memory | String | "350Mi" | controlPlaneHelperコンテナMEMORY limit |
deployment.containers.controlPlaneHelper.resources.limits.cpu | String | "200m" | controlPlaneHelperコンテナCPU limit |
deployment.containers.masterAgent.name | String | whatap-master-agent | masterAgentコンテナ名 |
deployment.containers.masterAgent.image | String | "whatap/kube_mon" | masterAgentコンテナイメージ |
deployment.containers.masterAgent.port | Int | 6600 | masterAgentコンテナポート番号 |
deployment.containers.masterAgent.resources.requests.memory | String | "300Mi" | masterAgentコンテナMEMORY request |
deployment.containers.masterAgent.resources.requests.cpu | String | "100m" | masterAgentコンテナCPU request |
deployment.containers.masterAgent.resources.limits.memory | String | "350Mi" | masterAgentコンテナMEMORY limit |
deployment.containers.masterAgent.resources.limits.cpu | String | "200m" | masterAgentコンテナCPU request |
Helmチャート基準でのインストール問題の解決についての案内は、次の文書を参照してください。
エージェントのインストール確認
Kubernetesエージェントのインストールが正常に完了した場合、次のコマンドを実行してマスターエージェントとノードエージェントの状態を確認できます。
kubectl get pod -n whatap-monitoring
Running状態の場合
次のようにSTATUS項目がRunningである場合は、インストール済みです。 マスター及びノードエージェントのインストールを完了すると、Kubernetes環境のリソースモニタリングを開始します。 WhaTapモニタリングサービスに移動し、プロジェクトリストとダッシュボード >コンテナマップメニューから性能情報を収集することを確認します。
Running状態でない場合
次のようにSTATUS項目がRunningでない場合、インストールが正しく行われていない状態です。
-
マスターノードで次のコマンドを実行し、Podの生成に失敗した原因を特定します。
kubectl describe pod {POD_NAME} -n whatap-monitoring -
実行結果の下部の Events: 項目を確認してください。
kubectlコマンドを使 用する場合、-n {ネームスペース}オプションを使用すると、特定のネームスペースを対象にタスクを実行します。 WhaTapエージェントは、基本的にwhatap-monitoringというネームスペースにインストールされるため、-n whatap-monitoringというオプションを追加します。