AppDynamics では、Minikube を実稼働環境に使用することを推奨していません。

次のように、Minikube を使用して Windows 環境で Web モニタリング PSA を設定します。

  1. Azure Windows 仮想マシンの作成
  2. Azure Windows 仮想マシンでの Minikube の設定
  3. Minikube クラスタへの Heimdall の展開

Azure Windows 仮想マシンの作成

次の操作を行ってください。

  1. Azure ポータルにログインします。
  2. [Virtual Machines] に移動します。 
  3. [Create] > [Virtual Machine] をクリックしてから、[ Instance details,] の下で以下の詳細を指定します。

    フィールド説明
    仮想マシン名仮想マシンの名前を指定します。
    イメージWindows Server 2019 Datacenter - Gen2
    サイズStandard_D8s_v3 - 8 vcpus, 32 GiB memory (US$ 483.26/month)

    上記のシナリオでは、8 個の vCPU と 32Gb のメモリを備えた基本的なマシンが選択されています。負荷がより高い場合は、より大きなマシンを選択する必要がある場合があります。

  4. [Administrator account] の下で、ユーザー名とパスワードを指定します。
  5. [Review + create] をクリックします。

    仮想マシンの展開が完了するまでに数分かかる場合があります。展開が完了すると、新しい仮想マシンが [Virtual Machines] の下に表示されます。

  6. 仮想マシンを開き、[Connect] > [RDP] をクリックします。
  7. 次のページで、[Download RDP File] をクリックしてファイルをダウンロードします。
  8. 前の手順でダウンロードした RDP ファイルを開きます。
    ユーザー名とパスワードを指定するよう求められます。手順 4 で作成したユーザー名とパスワードを使用します。

    ファイルを開くには、リモート デスクトップ アプリケーションがマシンにインストールされている必要があります。

Azure Windows 仮想マシンでの Minikube の設定

次の操作を行ってください。

  1. 作成した仮想マシンにログインします。
  2. Chocolatey パッケージマネージャをインストールします。
  3. 仮想マシンを再起動し、管理者として新しい Powershell を開きます。
  4. Minikube をインストールします。

    choco install minikube
    CODE
  5. Docker Desktop アプリケーションをインストールします。

    choco install docker-desktop
    CODE
  6. 仮想マシンを再起動します。
  7. Docker Desktop アプリケーションを起動し、[Settings]> [Resources] に移動します。

    デフォルトでは、限られた CPU とメモリのみが Docker に割り当てられます。エージェントの設定が Docker 内で実行されるため、リソースの割り当てを増やします。

    リソースの割り当ての例:

    関連資料
    CPU8
    メモリ25 GB
    Swap1 GB
    ディスクイメージのサイズ64 GB
  8. Minikube クラスタを開始します。

    minikube start --driver=docker
    CODE

    このコマンドにより、kubectl も設定されます。

Minikube クラスタへの Heimdall の展開

  1. Kubernetes クラスタを作成します
  2. Docker イメージをビルドしてカスタマイズします。
  3. Minikube の Docker デーモンにイメージを保存します。
  4. Private Synthetic Agent を展開します。

Kubernetes クラスタの作成

Minikube をマシンにインストールすると、Docker 環境が付属しています。マシン上に Docker イメージをビルドし、それらのイメージを Kubernetes 展開に使用すると、Docker レジストリまたはハブからイメージがプルされ、ポッドの起動中にエラーが発生します。これは、マシンの Docker デーモンと Minikube の Docker デーモンが異なるために発生します。そのため、Docker イメージのビルドには Minikube Docker デーモンを使用する必要があります。

Minikube Docker デーモンを使用するには、次のコマンドを実行します。

minikube -p minikube docker-env | Invoke-Expression
CODE

Simple Synth PSA のインストール用の zip ファイル(SimpleSynthPrivateAgent.zip)を、AppDynamics ダウンロードポータルまたはベータアップロードツールからダウンロードして、ファイルを仮想マシンにコピーします。

Kubernetes クラスタを開始するには、次のコマンドを実行します。

minikube start --kubernetes-version=v1.x.x
CODE

イメージのビルドとカスタマイズ

仮想マシンで SimpleSynthPrivateAgent.zip ファイルを抽出し、次の手順を実行します。

sum-chrome-agent の場合:

  1. zip ファイルを解凍して、sum-chrome-agent ディレクトリにアクセスします。
  2. ディレクトリに移動して、次のコマンドを実行します。

    docker build -f Dockerfile-PSA -t sum-chrome-agent:<agent-tag> .
    CODE

sum-heimdall の場合:

  1. zip ファイルを解凍して、sum-heimdall ディレクトリにアクセスします。 
  2. ディレクトリに移動して、次のコマンドを実行します。

    docker build -f Dockerfile-PSA -t sum-heimdall:<heimdall-tag> .
    CODE

<heimdall-tag> および <agent-tag> には、任意の値を使用できます。ただし、以降の手順で同じ値を使用します。

イメージがビルドされていることを確認します。

docker images
CODE

カスタム Python ライブラリの追加

この手順は任意です。使用可能な標準ライブラリセットに加えて、スクリプト測定で使用するカスタム Python ライブラリをエージェントに追加できます。ベースイメージとしてロードしたイメージに基づいて新しいイメージをビルドします。

  1. Dockerfile を作成し、Python pip を実行する RUN ディレクティブを作成します。たとえば、algorithms ライブラリをインストールするには、次のように Dockerfile を作成します。

    # Use the sum-chrome-agent image we just loaded as the base image
    FROM sum-chrome-agent:<agent-tag>
       
    # Install algorithm for python3 on top of that
    RUN python3 -m pip install algorithms==0.1.4
       
       
    # We can add more RUN directives for installing more libraries
    # RUN python3 -m pip install ...
    CODE

    任意の数の RUN ディレクティブを作成して、必要なライブラリをインストールできます。

  2. 新しいイメージをビルドするには、次のように入力します。

    docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile
    CODE

    新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。 

Minikube の Docker デーモンへのイメージの保存

クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。Minikube の Docker にイメージを保存するには、次のコマンドを実行します。

docker save sum-heimdall:<heimdall-tag> | (eval $(minikube docker-env) && docker load)
docker save sum-chrome-agent:<agent-tag> | (eval $(minikube docker-env) && docker load)
CODE

Web モニタリング PSA の展開

イメージがレジストリに登録されると、アプリケーションはクラスタに展開されます。Helm チャートを使用して、必要な順序ですべての Kubernetes リソースを展開および作成します。 

  1. Chocolatey パッケージマネージャを使用して Helm をインストールします。

    choco install kubernetes-helm
    CODE
  2. Heimdall、Postgres データベース、および測定ポッドを実行する新しい測定名前空間を作成します。

  3. 新しい測定名前空間を作成するには、次のように入力します。

    kubectl create namespace measurement
    CODE

    1 つのコマンドを使用して、展開の詳細を含む Helm チャートを展開できます。エージェントを展開するには、以前にダウンロードした zip ファイルの Helm チャート sum-psa-heimdall.tgz を使用します。Private Synthetic Agent を展開する前に、いくつかの設定オプションを設定する必要があります。設定オプションを表示するには、すでにダウンロードした sum-psa-heimdall.tgz ファイルに移動し、次のように入力します。

    helm show values sum-psa-heimdall.tgz &gt; values.yaml
    CODE

    以下は、values.yaml ファイルで編集する必要がある設定キーと値のペアです。

    設定キー

    heimdall > repositorysum-heimdall
    heimdall > tag<heimdall-tag>
    heimdall > pullPolicyNever
    agent > repositorysum-chrome-agent
    agent > tag<agent-tag>
    shepherd > urlShepherd URL
    shepherd > credentialscredentials
    shepherd > locationagent location

    残りの値はデフォルトのままにすることも、要件に基づいて設定することもできます。 

  4. 上記の設定を使用して Helm チャートを展開するには、すでにダウンロードした sum-psa-heimdall.tgz ファイルに移動し、次のように入力します。

    helm install heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement
    CODE

    すべての Kubernetes リソースがクラスタに作成され、Heimdall を使用できます。数秒後、Heimdall が初期化され、コントローラに表示されます。

  5. ポッドが実行されているかどうかを確認するには、次のように入力します。

    kubectl get pods --namespace measurement
    CODE

    初期導入後に values.yaml に変更を加えるには、すでにダウンロードした sum-psa-heimdall.tgz ファイルに移動して、次のように入力します。

    helm upgrade heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement
    CODE

    展開を削除するには、次のコマンドを実行します。

    helm uninstall heimdall-onprem --namespace measurement
    CODE

    これは、必要でない限り推奨されません。