イメージ再ビルドなしでinit Containerを利用する方法
▶️ [exem-dotnet-agent] インストール準備
1. パッケージ準備
EXEM-DOTNET-AGENT-inst_x.x.x.x.tgzという名前のパッケージを準備します。- ファイル構成
- initイメージtar:
exem-dotnet-agent-inst_x.x.x.x.tar - configmap.yml : dotnet agentが使用する設定ファイル (exem-dotnet-agent-config) を指定します。
- exem-dotnet-agent-configファイル例
- initイメージtar:
apiVersion: v1
kind: ConfigMap
metadata:
name: exem-dotnet-agent-config
namespace: {{namespace 지정}}
data:
net.conf: |
# 環境変数でも指定可能
EXEM_RECEIVER_ADDR={{수집서버 주소 지정}}
# default exem-dotnet-agent
# 環境変数でも指定可能
EXEM_DOTNET_AGENT_NAME=
# default default
# 環境変数でも指定可能
EXEM_GROUP_ID=
net.home: |
calltree.advice: |
#
# like this.
# classFullName:method signiture name
#
...(이하 생략)
2. exem-dotnet-agentイメージファイル
- exem-dotnet-agentのイメージ名は次のような規則で生成されます。
exem-dotnet-agent-inst:x.x.x.x
- イメージ構成
- exem-dotnet-agentパッケージがインストールされた状態でイメージが提供されます。
- /exem : exem-dotnet-agent起動に必要なバイナリ及び設定、ログディレクトリなどが含まれています。
▶️ [exem-dotnet-agent] インストール
注記
- ◈ deploy yamlにexem-dotnet-agentをインストールするための設定値の追加が必要です。
1. yamlファイル例
- 既存顧客のyamlファイルにハイライトされた部分を追加します。
| spec: template: spec: volumes: ... (생략) # exem dotnet agent 設置対象ボリューム - name: exem-volume emptyDir: {} # dotnet agent設定ファイルボリューム。dotnet agentは動的適用不可オプション及びadvice設定のためConfigMapをボリュームとしてマウントする必要があります。 - name: config-volume-dotnet-agent configMap: # マウントするConfigMapの名前を入力します。 name: exem-dotnet-agent-config initContainers: - name: install-exem-dotnet-agent image: exem-dotnet-agent-inst:x.x.x imagePullPolicy: IfNotPresent command: ["/exem-inst-script/install-daemon.sh"] volumeMounts: - name: exem-volume mountPath: /exem - name: config-volume-dotnet-agent mountPath: /exem-config readOnly: true containers: - name: # application name ... (생략) volumeMounts: - name: exem-volume mountPath: /exem env: ... (생략) - name: EXEM_GROUP_ID value: "{{group id 지정}}" - name: EXEM_DOTNET_AGENT_NAME value: "{{agent name 지정}}" - name: EXEM_RUN_ON_CONTAINER value: "true" - name: EXEMWID valueFrom: fieldRef: fieldPath: metadata.uid - name: EXEM_DOTNET_HOME value: /exem/dotnet - name: CORECLR_ENABLE_PROFILING value: "1" - name: CORECLR_PROFILER value: "{cf0d821e-test-test-test-b283c45820dd}" - name: CORECLR_PROFILER_PATH value: "$(EXEM_DOTNET_HOME)/binary/Exem.DotNet.Profiler.so" - name: DOTNET_STARTUP_HOOKS value: "$(EXEM_DOTNET_HOME)/binary/startup/Exem.DotNet.Startup.Hook.dll" - name: EXEM_DOTNET_PROFILE_TARGET_PROCESS value: "{{모니터링 대상.dll 지정}}" ... (생략) |
|---|