Kubernetes CLI を使用したクラスタエージェントのインストール

このページでは、 OpenShift OperatorHub バンドルを使用してクラスタエージェントをインストールする方法について説明します。これは、「Kubernetes CLI を使用したクラスタエージェントのインストール」の代替手段です。

要件

開始する前に、次のことを確認します。

設置手順

  1. 最新のインストール手順については、https://github.com/kubernetes-sigs/metrics-server を参照してください。
    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
  2. ダウンロードポータルから Kubernetes または OpenShift クラスタ エージェント バンドルをダウンロードし、バンドルの内容を現在のディレクトリに解凍します。
    unzip appdynamics-cluster-agent-alpine-linux-<version>.zip
  3. クラスタで名前空間 appdynamics を作成します。カスタム名前空間を使用する必要がある場合は、この手順を無視して、インストール中に同じ名前空間を使用するようにできます。ここでは、名前空間を appdynamics として使用しています。
    kubectl create namespace appdynamics
  4. (オプション)Kubernetes API サーバーを使用する必要がある場合は、USE_CUSTOM_KUBECONFIG 環境変数を true に設定し、cluster-agent-operator.yaml ファイルでサーバー API の詳細を指定してください。詳細については、「Kubernetes API サーバーを使用するようにイメージを設定する」を参照してください。
  5. 適切な Kubernetes および OpenShift バージョンを使用してクラスタ エージェント オペレータをインストールします(該当する場合)。
    Kubernetes 1.16 以上
    kubectl create -f cluster-agent-operator.yaml
    OpenShift と Kubernetes 1.16 以上
    kubectl create -f cluster-agent-operator-openshift.yaml
    OpenShift と Kubernetes 1.15 以下
    kubectl create -f cluster-agent-operator-openshift-1.15-or-less.yaml
    注: OpenShift クラスタの OpenShift OperatorHub からクラスタ エージェント オペレータをインストールすることもできます。
  6. コントローラのアカウントアクセスキーに基づいて、クラスタエージェントがレポートするコントローラアクセスキーのシークレットを作成します。
    kubectl -n appdynamics create secret generic cluster-agent-secret --from-literal=controller-key=<access-key>
  7. この例では、RedHat Registry で事前作成済みのクラスタ エージェント イメージを使用することを前提としています。クラスタ エージェント コンテナ イメージ クラスタエージェントの設定 クラスタ エージェント コンテナ イメージの作成
    apiVersion: cluster.appdynamics.com/v1alpha1
    kind: Clusteragent
    metadata:
      name: k8s-cluster-agent
      namespace: appdynamics
    spec:
      appName: "dev-cluster"
      controllerUrl: "http://mycontroller.com:8080"
      account: "my-account"
      # docker image info where, <version> is the image tag version that you are installing
      image: "docker.io/appdynamics/cluster-agent:<version>"
      serviceAccountName: appdynamics-cluster-agent
      nsToMonitorRegex: namespace1|namespace2
      stdoutLogging: "true"
  8. (オプション)複数のクラスタエージェントで単一のクラスタをモニターする必要がある場合は、ターゲットアロケータを設定します。cluster-agent.yaml ファイルで、クラスタエージェントのレプリカの数を使用してターゲットアロケータを有効にし、オペレータがクラスタエージェントのレプリカを作成できるようにします。「ターゲットアロケータ」を参照してください。
    注: ターゲットアロケータが有効になっている場合、自動インストルメンテーションと containerAppCorrelationMethod(Kubernetes 1.25 以降)はサポートされません。spec.instrumentationMethod を「」または「None」に、spec.containerAppCorrelationMethod を「」または「none」に設定します。

    cluster-agent.yaml

    …
    spec:
      …
    appName: "my-cluster"
    nsToMonitorRegex: ".*"
    instrumentationMethod: "None"
    containerAppCorrelationMethod: "none" 
    targetAllocator:
        enabled: true         # false if autoScaling is enabled
        clusterAgentReplicas: 3
        autoScaling:
          enabled: false #false by default
          replicaProfile: Default 
          maxClusterAgentReplicas: 12
          scaleDown:
            stabilizationWindowSeconds: 86400 #In Seconds
        podConfig:
          imagePullPolicy: Always
          imagePullSecret: ecr-secret
          priorityClassName: high-priority
          serviceAccountName: appdynamics-target-allocator
          nodeSelector:{}
          tolerations:[]
          resources:
            limits:
              cpu: 500m
              memory: 500Mi
            requests:
              cpu: 200m
              memory: 200Mi
          labels:{}
          securityContext:{}
  9. クラスタエージェントをインストールします。
    kubectl create -f cluster-agent.yaml
自動インストルメンテーションの検証とトラブルシューティングについては、「」を参照してください。 クラスタエージェントのインストールの検証インストールが検証されたら、クラスタ内のアプリケーションにアプリケーション サーバー エージェントをインストールするためのオプションについて「コンテナのインストールオプション」を参照してください。