Download PDF
Download page Helm チャートを使用したインフラストラクチャの可視性のインストール.
Helm チャートを使用したインフラストラクチャの可視性のインストール
このページでは、 クラスタエージェント の Helm チャートを使用してインフラストラクチャの可視性( InfraViz) を展開する方法について説明します。
Helm は Kubernetes のパッケージマネージャです。Helm チャートは、一連の Kubernetes リソースについて説明するファイルのコレクションです。 クラスタエージェント の Helm チャートは、Splunk AppDynamics オペレータと InfraViz を展開するのに便利な方法です。
この展開では、Windows コンテナはサポートされていません。
要件
-
マシン エージェント バージョン 21.9.0 以降
-
NetViz バージョン 21.3.0 以降
-
コントローラバージョン 20.6.0 以降
-
クラスタエージェントの Helm チャートが Helm 3.0 と互換性を持っている
- クラスタエージェントの Helm チャートを使用して InfraViz をインストールするには、クラスタエージェントの Helm チャートのバージョンが 1.1.0 以降である必要があります。クラスタエージェントの Helm チャートのより古いバージョン(v0.1.19 以前)は機能しません。
- Kubernetes が 1.25 以降の環境では、PodSecurityPolicy は K8s 1.25 以降から削除されます(https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/#pod-security-changes )。ポッドのセキュリティ制限は、ポッドセキュリティ標準レベルを使用して名前空間レベル(https://kubernetes.io/docs/concepts/security/pod-security-admission/ )で適用されるようになりました。そのため、インフラストラクチャの可視性ポッドが実行されている名前空間については、レベルを [Privileged] として設定する必要があります。
-
Kubernetes のバージョンが 1.25 よりも前で、
PodSecurityPolicies
が特権ポッドなど、特定のポッド セキュリティ コンテキスト設定をブロックする環境では、infraviz.yaml
ファイルを編集する前にinfraviz-pod-security-policy.yaml
を展開する必要があります。PodSecurityPolicy をappdynamics-infraviz
serviceaccount に明示的にアタッチする必要があります。 -
OpenShift
SecurityContextConstraints
が特権ポッドなど、特定のポッド セキュリティ コンテキスト設定をブロックする環境では、infraviz.yaml
ファイルを編集する前にinfraviz-security-context-constraint-openshift.yaml
を展開する必要があります。
クラスタへの インフラストラクチャの可視性 のインストール
-
次のコマンドを使用して、 A ppDynamics エージェントに関連する、以前にインストールされたすべての CRD を削除します。
$ kubectl get crds $ kubectl delete crds <crd-names>
CODE -
チャートリポジトリを Helm に追加します。
$ helm repo add appdynamics-cloud-helmcharts https://appdynamics.jfrog.io/artifactory/appdynamics-cloud-helmcharts/
CODE -
クラスタで appdynamics の名前空間を作成します。
$ kubectl create namespace appdynamics
CODE -
この values-ca1.yaml の例で、Helm 値のファイルを作成します。 コントローラのログイン情報を使用して
controllerInfo
プロパティを更新します。Infraviz
およびnetviz
プロパティを更新します。enableMasters
、enableContainerHostId
、enableServerViz
などの 使用可能なプロパティの詳細については、「InfraViz 構成設定 」を参照してください。values-ca1.yaml
# To install InfraViz installInfraViz: true # Controller info controllerInfo: url: https://<controller-url>:443 account: <appdynamics-controller-account> username: <appdynamics-controller-username> password: <appdynamics-controller-password> accessKey: <appdynamics-controller-access-key> globalAccount: <appdynamics-controller-global-account> # InfraViz config infraViz: nodeOS: "linux" enableMasters: false stdoutLogging: false enableContainerHostId: true enableServerViz: true enableDockerViz: false runAsUser: <UID of runAsUser> runAsGroup: 1001 # Netviz config netViz: enabled: true netVizPort: 3892
YML使用可能なオプションの詳細については、「values.yaml の設定オプション」を参照してください。また、次のコマンドを使用して、Helm チャートリポジトリから
values.yaml
のコピーをダウンロードできます。helm show values appdynamics-charts/cluster-agent
CODE -
InfraViz を appdynamics 名前空間に展開します。
$ helm install -f ./values-ca1.yaml "< my-cluster-agent-helm-release >" appdynamics-charts/cluster-agent --namespace=appdynamics
CODE
設定オプション
設定オプション |
説明 |
必須 |
---|---|---|
|
InfraViz のインストールに使用されます。これは true に設定する必要があります。 |
必須(デフォルトは false) |
イメージ設定オプション( values.yaml 内の imageInfo キーの下のオプション) |
||
|
<registryUrl>/<registryAccount>/cluster-agent-operator 形式のオペレータのイメージアドレス |
オプション(デフォルトは Docker Hub イメージ) |
|
オペレータのイメージタグ/バージョン |
オプション(デフォルトは 22.1.0 ) |
|
オペレータポッドのイメージプルポリシー |
オプション |
|
<registryUrl>/<registryAccount>/machine-agent 形式のマシンエージェントのイメージアドレス |
オプション(デフォルトは Docker Hub イメージ) |
|
マシンエージェントのイメージタグ/バージョン |
オプション(デフォルトは latest ) |
|
<registryUrl>/<registryAccount>/machine-agent-netviz 形式の NetViz エージェントのイメージアドレス |
オプション(デフォルトは Docker Hub イメージ) |
|
NetViz エージェントのイメージタグ/バージョン |
オプション(デフォルトは latest) |
コントローラ設定オプション(values.yaml の controllerInfo キーの下の設定オプション) |
||
|
コントローラのアクセスキー |
必須 |
|
コントローラのグローバルアカウント |
必須 |
|
コントローラアカウント |
必須 |
|
プロキシが認証を必要とする場合は true または false |
オプション |
|
PEM 形式の SSL 証明書の Base64 エンコーディング |
オプション |
|
コントローラのパスワード |
自動インストゥルメンテーションが有効になっている場合にのみ必須です。 |
|
プロキシ認証のパスワード |
オプション |
|
コントローラが一部のプロキシの背後にある場合のプロキシ URL |
オプション |
|
プロキシ認証のユーザー名 |
オプション |
|
コントローラ URL |
必須 |
|
コントローラのユーザー名 |
自動インストゥルメンテーションが有効になっている場合にのみ必須です。 |
|
プロキシサーバーの URL( |
オプション |
|
プロキシユーザーのログイン情報( |
オプション |
RBAC 設定 |
||
|
InfraViz が使用するサービスアカウント |
オプション |
|
前述された ServiceAccounts が Helm によって作成される場合は true に設定します |
オプション |
|
Splunk AppDynamics オペレータが使用するサービスアカウント |
オプション |
NetViz 設定 | ||
netViz.resourcesNetViz |
ネットワークの可視性(NetViz)コンテナのリソースを設定 |
オプション |
netViz.netVizPort |
0 より大きい場合、ネットワークエージェントはマシンエージェントとともにサイドカーに展開されます。デフォルトでは、ネットワークの可視性エージェントはポート 3892 で動作します。 |
任意 |
InfraViz 設定 |
||
infraViz.appName
|
クラスタ名としてコントローラ UI に表示されるクラスタの名前。これは、このクラスタ名でクラスタのノードをグループ化するためのフラグです。 |
任意 |
infraViz.enableContainerHostId
|
コンテナ名の導出方法を決定するフラグ。true または false を指定します。 | 必須 |
infraViz.enableMasters
|
デフォルトでは、ワーカーノードのみがモニタされます。true に設定すると、マスターノードに対してサーバーの可視性が提供されます。管理対象の Kubernetes プロバイダーの場合、マスタープレーンにアクセスできないため、フラグは無効です。 | オプション |
infraViz.enableServerViz
|
サーバの可視性の有効化 | 必須 |
infraViz.enableDockerViz
|
Docker の可視性の有効化 | 必須 |
infraViz.eventServiceUrl
|
イベント サービス エンドポイント。 | 任意 |
infraViz.runAsUser
|
コンテナプロセスのエントリポイントを実行する UID(ユーザー ID)。UID を指定しない場合、これはデフォルトで、イメージで指定されたユーザー ID になります。 他の UID で実行する必要がある場合は、グループ ID を変更せずに、runAsUser の UID を変更します。 |
オプション |
|
ロギングの冗長性のレベル。有効なオプションは、 |
オプション |
|
マシンエージェントがコントローラに送信するメトリックの最大数。 |
オプション |
|
その他のマシン エージェント パラメータを含む文字列 |
オプション |
infraViz.runAsGroup
|
コンテナプロセスのエントリポイントを実行する GID(グループ ID)。ID を指定しない場合、これはイメージで指定された UID を使用します。 | オプション |
infraViz.stdoutLogging
|
ログをファイルに保存するか、コンソールにリダイレクトするかを決定します。 | オプション |
|
Splunk AppDynamics の一意のホスト ID。有効なオプションは、 |
オプション |
InfraViz のポッド設定 |
||
|
InfraViz のポッド仕様の Kubernetes ノードセレクタフィールド。 |
オプション |
|
InfraViz のポッド仕様の Kubernetes CPU およびメモリのリソース。 |
オプション |
|
InfraViz ポッドのイメージプルポリシー。 |
オプション |
infravizPod.imagePullSecret
|
プライベート Docker レジストリまたはリポジトリからイメージを取得する場合の認証に使用されるクレデンシャルファイル。 | オプション |
infravizPod.priorityClassName
|
ポッドの仕様で優先順位を設定するために使用される、ポッド優先順位クラスの名前。 | オプション |
infravizPod.env
|
環境変数のリスト。 | オプション |
infravizPod.overrideVolumeMounts
|
volumeMounts のリスト。 | オプション |
infravizPod.tolerations
|
ノードに関連付けられている taint に基づく許容値のリスト。 | オプション |
オペレータのポッド設定 |
||
|
Splunk AppDynamics オペレータのポッド仕様の Kubernetes ノードセレクタフィールド |
オプション |
|
Splunk AppDynamics オペレータのポッド仕様の Kubernetes 許容フィールド |
オプション |
|
Splunk AppDynamics オペレータポッド仕様の Kubernetes CPU およびメモリのリソース |
オプション |
機密データのベストプラクティス
複数の values.yaml ファイルを使用して、機密データを個別の values.yaml ファイルに分けることを推奨します。これらの値の例を次に示します。
-
controllerInfo.password
-
controllerInfo.accessKey
-
controllerInfo.customSSLCert
-
controllerInfo.proxyPassword
各 values
のファイルはデフォルトの構造(values.yaml
)に従い、機密性の低い設定プロパティのファイルを簡単に共有し、機密性の高い値を安全に保ちます。
Default user-values.yaml
File Example
user-values.yaml
# To install InfraViz
installInfraViz: true
imageInfo:
operatorImage: docker.io/appdynamics/cluster-agent-operator
operatorTag: 22.1.0
imagePullPolicy: Always # Will be used for operator pod
machineAgentImage: docker.io/appdynamics/machine-agent
machineAgentTag: latest
netVizImage: docker.io/appdynamics/machine-agent-netviz
netvizTag: latest
controllerInfo:
url: https://<controller-url>:443
account: <appdynamics-controller-account>
username: <appdynamics-controller-username>
password: <appdynamics-controller-password>
accessKey: <appdynamics-controller-access-key>
infravizServiceAccount: appdynamics-infraviz-ssl # Can be any valid name
operatorServiceAccount: appdynamics-operator-ssl # Can be any valid name
user-values-sensitive.yaml
controllerInfo:
password: welcome
accessKey: abc-def-ghi-1516
Helm チャートをインストールする場合は、複数の -f
パラメータを使用してファイルを参照します。
helm install -f ./user-values.yaml -f ./user-values-sensitive.yaml "<my-cluster-agent-helm-release>" appdynamics-charts/cluster-agent --namespace ca-appdynamics
クラスタへのクラスタエージェントおよびインフラストラクチャの可視性のインストール
クラスタエージェントとインフラストラクチャの可視性を同時にインストールするには、「クラスタへのインフラストラクチャの可視性のインストール」に記載されている手順と同じ手順に従い、以下の更新を行います。
-
yaml ファイルで以下のように指定します(values.ca1 など):
installClusterAgent: true installInfraViz: true
CODE - コントローラのログイン情報を使用して
controllerInfo
プロパティを更新します。clusterAgent
プロパティを更新して、モニターする名前空間とポッドを設定します。nsToMonitor
、nsToMonitorRegex
、nsToExcludeRegex
などの使用可能なプロパティの詳細については、「クラスタエージェントの設定」を参照してください。InfraViz
および NetViz
プロパティを更新します。values.yaml
の、enableMasters
、enableContainerHostId
、enableServerViz
などの使用可能なプロパティの詳細については、「InfraViz 構成設定」を参照してください。