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

オンプレミスコントローラで自動インストゥルメンテーションをサポートするには、クラスタエージェントがオンプレミスコントローラとの通信に使用する SSL 証明書を設定するようにクラスタエージェント customSSLSecret プロパティを構成します。オンプレミスのコントローラに SSL を使用するためのクラスタエージェントの構成」を参照してください。クラスタエージェントは、証明書を自動インストゥルメント化されたポッドにコピーします。このポッドでは、アプリケーション サーバ エージェントがオンプレミスコントローラとの接続を確立するために使用します。

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

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

  1. Node.js エージェントが使用する certificateFile プロパティを設定する shim.js という名前のファイルを作成します。詳細については、Node.js設定参考資料を参照してください。

    require("appdynamics").profile({
      certificateFile: "/opt/appdynamics-nodejs/custom-ssl.pem"
    });
    JS
  2. shim.js ファイルの appdynamics 名前空間に ConfigMap を作成します。

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


  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
    YML
  4. 更新されたクラスタエージェント構成を適用します。

    kubectl apply -f cluster-agent.yaml
    BASH

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