本文へスキップ

マスターおよびNodeエージェントのインストール

次のように、マスター及びノードエージェントのインストール手順を案内します。インストール案内画面と同じです。

ノート

EKS Fargateは、対応予定です。

環境を事前に確認して設定

ユーザーのKubernetes環境によって、事前に環境設定が必要になります。Istio、GKE、OpenShiftの環境ではない場合は、次の段階に進んでください。

Istio環境の場合は、次のコマンドを実行し、WhaTap収集サーバーと通信するリソースであるServiceEntryを生成してください。

SH
kubectl create namespace whatap-monitoring
kubectl label namespace whatap-monitoring istio-injection=enabled
kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: whatap-external
spec:
hosts:
- whatap-proxy1
- whatap-proxy2
addresses:
- 13.124.11.223
- 13.209.172.35
ports:
- name: proxy
number: 6600
protocol: tcp
location: MESH_EXTERNAL
EOF

Kubernetesエージェント作成

WhaTap Kubernetesエージェントのインストール時、helm チャート基準の案内と yaml ファイル基準の案内を次のように提供します。

Helmバージョン確認とWhaTapリポジトリのネットワーク接続状態確認

  1. 次のコマンドを通じて helm バージョンを確認してください。3.xバージョン以降に対応します。

    helm version
    # version.BuildInfo{Version:"v3.x", GitCommit:"xxx", GitTreeState:"clean", GoVersion:"go1.20.8"}
  2. WhaTap Helmリポジトリに対するネットワーク接続状態を確認してください。

    curl https://whatap.github.io/helm/ping 
    # pong

Helm Chart基準インストール

ワタブHelmリポジトリを追加した後、ユーザーのContainer Runtimeに合った適切なデフォルト設定ファイルを作成して、エージェントをインストールしてください。

  1. 次のコマンドを実行して、WhaTap Helmリポジトリを追加してください。

    helm repo add whatap https://whatap.github.io/helm/
    helm repo update
  2. 次のコマンドを実行して、ユーザーのCONTAINER-RUNTIMEを確認してください。

    kubectl get nodes -o wide

  3. CONTAINER-RUNTIMEを確認し、インストールに必要なデフォルト設定ファイル(values.yaml)を次のように作成してください。

    containerRuntime: #CONTAINER-RUNTIME
    whatap:
    license: #WHATAP-LICENESE-KEY
    host: "13.124.11.223/13.209.172.35"
    port: "6600"
  4. 次のようにエージェントアプリケーションをインストールしてください。

    • エージェントを初めてインストールするユーザーは、次のコマンドを実行してエージェントアプリケーションをインストールしてください。

      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.licenseString# <license-key>Whatapライセンスキー
whatap.hostString# <whatap-server-host>Whatapサーバーのホストアドレス
whatap.portInt# <whatap-server-port>Whatapポート番号
containerRuntimeString"docker"使用中のコンテナランタイム。"docker""containerd""crio"のいずれかを選択
daemonSet.nameStringwhatap-node-agentDaemonSetの名前
daemonSet.labelStringwhatap-node-agentDaemonSetに指定するラベル
daemonSet.initContainers.nodeDebugger.enabledBooltrueWhatapノードデバッガコンテナの活性化有無
daemonSet.containers.nodeHelper.imageStringwhatap/kube_monnodeHelperコンテナのイメージ
daemonSet.containers.nodeHelper.requests.memoryString100MinodeHelper MEMORY request
daemonSet.containers.nodeHelper.requests.cpuString100mnodeHelper CPU request
daemonSet.containers.nodeHelper.limits.memoryString350MinodeHelper MEMORY limit
daemonSet.containers.nodeHelper.limits.cpuString200mnodeHelper CPU limit
daemonSet.containers.nodeAgent.imageStringwhatap/kube_monnodeAgentコンテナのイメージ
daemonSet.containers.nodeAgent.requests.memoryString300MinodeAgent MEMORY request
daemonSet.containers.nodeAgent.requests.cpuString100mnodeAgent CPU request
daemonSet.containers.nodeAgent.limits.memoryString350MinodeAgent MEMORY limit
daemonSet.containers.nodeAgent.limits.cpuString200mnodeAgent CPU limit
deployment.nameStringwhatap-master-agentDeploymentの名前
deployment.labelStringwhatap-master-agentDeploymentに指定するラベル
deployment.replicasInt1Deploymentのreplica数
deployment.containers.controlPlaneHelper.enabledBooleantruewhatap-control-plane-helperコンテナの活性化有無
deployment.containers.controlPlaneHelper.imageString"whatap/kube_mon"controlPlaneHelperコンテナのイメージ
deployment.containers.controlPlaneHelper.portString9496controlPlaneHelperコンテナのポート番号です
deployment.containers.controlPlaneHelper.resources.requests.memoryString"300Mi"controlPlaneHelperコンテナMEMORY request
deployment.containers.controlPlaneHelper.resources.requests.cpuString"100m"controlPlaneHelperコンテナCPU request
deployment.containers.controlPlaneHelper.resources.limits.memoryString"350Mi"controlPlaneHelperコンテナMEMORY limit
deployment.containers.controlPlaneHelper.resources.limits.cpuString"200m"controlPlaneHelperコンテナCPU limit
deployment.containers.masterAgent.nameStringwhatap-master-agentmasterAgentコンテナ名
deployment.containers.masterAgent.imageString"whatap/kube_mon"masterAgentコンテナイメージ
deployment.containers.masterAgent.portInt6600masterAgentコンテナポート番号
deployment.containers.masterAgent.resources.requests.memoryString"300Mi"masterAgentコンテナMEMORY request
deployment.containers.masterAgent.resources.requests.cpuString"100m"masterAgentコンテナCPU request
deployment.containers.masterAgent.resources.limits.memoryString"350Mi"masterAgentコンテナMEMORY limit
deployment.containers.masterAgent.resources.limits.cpuString"200m"masterAgentコンテナCPU request
ノート

Helmチャート基準インストール問題の解決についての案内は、次の文書を参考にしてください。

Kubernetesエージェントのインストールを確認

Kubernetesエージェントのインストールが正常に完了した場合、次のコマンドを実行してマスターエージェントとノードエージェントの状態を確認することができます。

kubectl get pod -n whatap-monitoring

Running状態の場合

次のようにSTATUS項目がRunningである場合インストールを完了した状態です。マスター及びノードエージェントのインストールを完了すると、Kubernetes環境のリソースモニタリングを開始します。WhaTapモニタリングサービスに移動し、プロジェクトリストダッシュボード > コンテナマップメニューから性能情報を収集することを確認してください。

Running状態でない場合

次のようにSTATUS項目がRunningでない場合、インストールが正しく行われていない状態です。

  1. マスターNodeで次のコマンドを実行して、Pod の生成に失敗した原因を特定します。

    kubectl describe pod {POD_NAME} -n whatap-monitoring
  2. 実行結果の下部の Events: 項目を確認してください。

Tips

kubectlコマンドを使用する場合、-n {ネームスペース}オプションを使用して、特定のネームスペースを対象にタスクを実行します。WhaTapエージェントは、基本的にwhatap-monitoringというネームスペースにインストールされるため、-n whatap-monitoringというオプションを追加します。

ノート
  • アプリケーションエージェントのインストールを継続するには、画面の右下にあるアプリケーションエージェントのインストールボタンを選択してください。詳細は次の文書を参照してください。
  • エージェントを最新バージョンにアップデートするには次の文書を参照してください。