このページでは、 クラスタエージェント の Helm チャートを使用してインフラストラクチャの可視性( InfraViz) を展開する方法について説明します。

Helm は Kubernetes のパッケージマネージャです。Helm チャートは、一連の Kubernetes リソースについて説明するファイルのコレクションです。 クラスタエージェントの Helm チャートは、 AppDynamics オペレータと InfraViz を展開するのに便利な方法です。 

要件

  • マシン エージェント バージョン 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 PodSecurityPolicies が特定のポッド セキュリティ コンテキスト設定をブロックする環境では、 infraviz.yaml ファイルを編集する前に infraviz-pod-security-policy.yaml を展開する必要があります。
    特権ポッドなど、OpenShift SecurityContextConstraints が特定のポッド セキュリティ コンテキスト設定をブロックする環境では、 infraviz.yaml ファイルを編集する前に infraviz-security-context-constraint-openshift.yaml を展開する必要があります。

クラスタへの インフラストラクチャの可視性 のインストール

  1. 次のコマンドを使用して、 A ppDynamics エージェントに関連する、以前にインストールされたすべての CRD を削除します。

    $ kubectl get crds 
    $ kubectl delete crds <crd-names>
    CODE
  2. チャートリポジトリを Helm に追加します。

    $ helm repo add appdynamics-charts https://ciscodevnet.github.io/appdynamics-charts
    CODE
  3. クラスタで appdynamics の名前空間を作成します。

    $ kubectl create namespace appdynamics
    CODE
  4. この values-ca1.yaml の例で、Helm 値のファイルを作成します。 コントローラのログイン情報を使用して controllerInfo プロパティを更新します。 

    Infraviz および netviz プロパティを更新します。 enableMasters enableContainerHostId enableServerViz などの 使用可能なプロパティの詳細については、「 InfraViz 構成設定 」を参照してください。

    values-ca1.yaml

    # To install InfraViz  
    installInfraViz: true 
    
    
    # AppDynamics 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

    使用可能なオプションの詳細については、「 の設定オプション 」を参照してください。また、次のコマンドを使用して、Helm チャートリポジトリから values.yaml のコピーをダウンロードできます。

    helm show values appdynamics-charts/cluster-agent
    CODE
  5. InfraViz appdynamics 名前空間に展開します。

    $ helm install -f ./values-ca1.yaml "< my-cluster-agent-helm-release >" appdynamics-charts/cluster-agent --namespace=appdynamics
    CODE

設定オプション

設定オプション

説明

必須

deploymentMode

クラスタでの InfraViz 展開に使用されます

オプション

installInfraViz

InfraViz のインストールに使用されます。これは true に設定する必要があります。

必須(デフォルトは false)

イメージ設定オプション( values.yaml 内の imageInfo キーの下のオプション)

imageInfo.operatorImage

<registryUrl>/<registryAccount>/cluster-agent-operator 形式のオペレータのイメージアドレス

オプション(デフォルトは Docker Hub イメージ)

imageInfo.operatorTag

オペレータのイメージタグ/バージョン

オプション(デフォルトは 22.1.0

imageInfo.imagePullPolicy

オペレータポッドのイメージプルポリシー

オプション

imageInfo. machineAgentImage

<registryUrl>/<registryAccount>/machine-agent 形式のマシンエージェントのイメージアドレス

オプション(デフォルトは Docker Hub イメージ)

imageInfo. machineAgentTag

マシンエージェントのイメージタグ/バージョン

オプション(デフォルトは latest

imageInfo. machineAgentWinImage

<registryUrl>/<registryAccount>/machine-agent-analytics 形式のマシン エージェント ウィンドウのイメージアドレス オプション(デフォルトは Docker Hub イメージ)

imageInfo.  machineAgentWinTag

マシン エージェント ウィンドウのイメージタグ/バージョン

オプション(デフォルトは win-latest

ImageInfo. netVizImage

<registryUrl>/<registryAccount>/machine-agent-netviz 形式の NetViz エージェントのイメージアドレス

オプション(デフォルトは Docker Hub イメージ)

ImageInfo. netvizTag

NetViz エージェントのイメージタグ/バージョン

オプション(デフォルトは latest)

コントローラ設定オプション( values.yaml controllerInfo キーの下の設定オプション)

controllerInfo.accessKey

AppDynamics コントローラのアクセスキー

必須

controllerInfo. globalAccount

AppDynamics コントローラのグローバルアカウント

必須

controllerInfo.account

AppDynamics コントローラのアカウント

必須

controllerInfo.authenticateProxy

プロキシが認証を必要とする場合は true または false

オプション

controllerInfo.customSSLCert

PEM 形式の SSL 証明書の Base64 エンコーディング

オプション

controllerInfo.password

AppDynamics コントローラのパスワード

自動インストゥルメンテーションが有効になっている場合にのみ必須です。

controllerInfo.proxyPassword

プロキシ認証のパスワード

オプション

controllerInfo.proxyUrl

コントローラが一部のプロキシの背後にある場合のプロキシ URL

オプション

controllerInfo.proxyUser

プロキシ認証のユーザー名

オプション

controllerInfo.url

AppDynamics コントローラの URL

必須

controllerInfo.username

AppDynamics コントローラのユーザー名

自動インストゥルメンテーションが有効になっている場合にのみ必須です。

RBAC 設定

infravizServiceAccount

InfraViz が使用するサービスアカウント

オプション

createServiceAccount

前述された ServiceAccounts が Helm によって作成される場合は true に設定します

オプション

operatorServiceAccount

AppDynamics オペレータが使用するサービスアカウント

オプション

InfraViz のポッド設定

infravizPod.nodeSelector

InfraViz のポッド仕様の Kubernetes ノードセレクタフィールド

オプション

infravizPod.resources

InfraViz のポッド仕様の Kubernetes CPU およびメモリのリソース

オプション

infravizPod. overrideVolumeMounts

InfraViz のポッド仕様のボリュームマウントのリスト

オプション

オペレータのポッド設定

operatorPod.nodeSelector

AppDynamics オペレータのポッド仕様の Kubernetes ノードセレクタフィールド

オプション

operatorPod.tolerations

AppDynamics オペレータのポッド仕様の Kubernetes 許容フィールド

オプション

operatorPod.resources

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

deploymentMode: PRIMARY 
 
 
# 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 
 machineAgentWinImage: docker.io/appdynamics/machine-agent-analytics
 machineAgentWinTag: win-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
 globalAccount: null            # To be provided when using machineAgent Window Image
YML

user-values-sensitive.yaml

controllerInfo:
  password: welcome
  accessKey: abc-def-ghi-1516
YML

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
BASH

クラスタへのクラスタエージェントおよびインフラストラクチャの可視性のインストール

クラスタエージェントと インフラストラクチャの可視性を同時にインストールするには、「 クラスタへのインフラストラクチャの可視性のインストール」に記載されている手順と同じ手順に従い、以下の 更新を行います。

  1. yaml ファイルで以下のように指定します(values.ca1 など):

    installClusterAgent: true 
    installInfraViz: true
    CODE

  2. コントローラのログイン情報を使用して controllerInfo プロパティを更新します。
    clusterAgent プロパティを更新して、モニターする名前空間とポッドを設定します。 nsToMonitor nsToMonitorRegex nsToExcludeRegex などの使用可能なプロパティの詳細については、「 .Configure the Cluster Agent v23.4 」を参照してください。
    InfraViz および N etViz プロパティを更新します。 values.yaml の、 enableMastersenableContainerHostIdenableServerViz などの使用可能なプロパティの詳細については、「 InfraViz 構成設定」を参照してください。