マスターおよびノードエージェントのインストール
次のように、マスター及びノードエージェントのインストール手順を案内します。 インストール案内画面と同じ手順です。
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モニタリングは、現在コントロールプレーンモニタリングを追加機能として提供します。 追加機能の適用を希望する場合、Control Planeチェックボックスを選択します。
追加適用された機能が多いほど、収集されるデータの量とエージェントが使用するリソースの量が増加する可能性があります。 インストール後、エージェント設定により、その機能を活性化または非活性化できます。
追加機能を適用するかどうかを選択した後、画面右下の次へボタンをクリックするか、左のインストールファイルのダウンロードタブを選択して次のステップへ移動します。
コントロールプレーンモニタリングについての詳細は、次の文書を参照してください。
インストール ファイル ダウンロード
インストールファイルをダウンロードする前に、ユーザー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
というオプションを追加します。