Adding APM Insight .NET agent in Kubernetes via InitContainers
The below steps will guide you through the process of integrating the APM Insight .NET agent into your Kubernetes deployment using init containers.
- Create a secret for the Site24x7 license key in your application namespace. Note
kubectl create secret generic s247licensekey --fromliteral=S247_LICENSE_KEY=YOUR_LICENSE_KEY_HERE
NoteReplace YOUR_LICENSE_KEY_HERE with the appropriate license key value from the Site24x7 client.
- Create an empty volume mount that will be used to copy the agent files during the InitContainers process.
Example:
volumeMounts:
- name: s247dotnetcoreagent
- Include the following InitContainers command and mount the volume in both initContainer and your application container in your helm chart/deployment YAML file:
kind: Deployment
spec:
containers:
- name: dotnet-app
image: microsoft/dotnet-samples:aspnetapp
volumeMounts:
- mountPath: /home/APMDotNetAgent
name: s247dotnetcoreagent
initContainers:
- name: init-site24x7-agent
image: site24x7/apminsight-dotnetagent:latest
command: ['cp', '-r', '/opt/site24x7/APMDotNetAgent', '/home'
volumeMounts:
- name: s247dotnetcoreagent
mountPath: /home/APMDotNetAgent
- Add the following environment variables to application containers.
spec:
containers:
- name: dotnet-app
env:
- name: S247_LICENSE_KEY
valueFrom:
secretKeyRef:
name: s247licensekey
key: S247_LICENSE_KEY
- name: CORECLR_ENABLE_PROFILING
value: "1"
- name: CORECLR_PROFILER
value: "{9D363A5F-ED5F-4AAC-B456-75AFFA6AA0C8}"
- name: CORECLR_SITE24X7_HOME
value: "/home/APMDotNetAgent"
- name: CORECLR_PROFILER_PATH_64
value: "/home/APMDotNetAgent/x64/libClrProfilerAgent.so"
- name: CORECLR_PROFILER_PATH_32
value: "/home/APMDotNetAgent/x86/libClrProfilerAgent.so"
- name: DOTNET_STARTUP_HOOKS
value:
"/home/APMDotNetAgent/netstandard2.0/DotNetAgent.Loader.dll"
- name: MANAGEENGINE_COMMUNICATION_MODE
value: "direct"
- name: SITE24X7_APP_NAME
value: "YOUR_APM_APPLICATION_NAME"
...
NoteReplace your application name with YOUR_APM_APPLICATION_NAME value.