オンプレミスコントローラでの自動インストゥルメンテーションの使用

.NET Core および Node.js アプリケーションでは、認証局(CA)によって署名された証明書のみがサポートされます。自己署名証明書はサポートされていません。コントローラが自己署名証明書を使用している場合は、Java アプリケーションの自動インストゥルメンテーションのみがサポートされます。

オンプレミスコントローラで自動インストゥルメンテーションをサポートするには、クラスターエージェントのカスタム SSL シークレットを設定し、クラスターエージェントがオンプレミスコントローラに SSL を使用するように設定します。クラスターエージェントは、証明書を自動インストゥルメント化されたポッドにコピーします。このポッドでは、アプリケーション サーバー エージェントがオンプレミスコントローラとの接続を確立するためにこれらの証明書を使用します。

Node.js とオンプレミスコントローラの構成

クラスターエージェントの custom SSL Secret プロパティの構成に加えて、オンプレミスコントローラを使用する自動インストゥルメント化された Node.js アプリケーションに、次の手順を実行する必要があります。

  1. shim.js certificateFile Node.js Settings Reference という名前のファイルを作成します。

    require("appdynamics").profile({
    certificateFile: "/opt/appdynamics-nodejs/custom-ssl.pem"
    });
  2. ConfigMap appdynamics shim.js を作成します。

    kubectl create cm nodejs-cert-configmap --from-file ./shim.js -n appdynamics

  3. cluster-agent.yaml customAgentConfigSource/configMapName ConfigMap nodejs-cert-configmap を編集します。

    apiVersion: cluster.appdynamics.com/v1alpha1
    kind: Clusteragent
    metadata:
    name: k8s-cluster-agent
    namespace: appdynamics
    spec:
    # content removed for brevity
    # ...
    instrumentationRules:
    - namespaceRegex: dev
    appName: MyNodeJSApp
    language: nodejs
    customAgentConfigSource:
    - configMapName: nodejs-cert-configmap
    imageInfo:
    image: "docker.io/appdynamics/nodejs-agent:20.12.0-10.0.0-alpine"
    agentMountPath: /opt/appdynamics
  4. 更新されたクラスタエージェント構成を適用します。

    kubectl apply -f cluster-agent.yaml

    クラスタエージェントは、ポッドを再作成し、証明書ファイルをポッドにコピーする Node.js ワークロード仕様を更新します。証明書ファイルは、 NODE_OPTIONS shim.js を介して Node.js エージェントによって参照されます。