60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
# Apache SkyWalking Agent Containerized Scenarios
|
|
|
|
**Docker images are not official ASF releases but provided for convenience. Recommended usage is always to build the
|
|
source**
|
|
|
|
This image only hosts the pre-built SkyWalking Java agent jars, and provides some convenient configurations for
|
|
containerized scenarios.
|
|
|
|
# How to use this image
|
|
|
|
## Docker
|
|
|
|
```dockerfile
|
|
FROM apache/skywalking-java-agent:8.5.0-jdk8
|
|
|
|
# ... build your java application
|
|
```
|
|
|
|
You can start your Java application with `CMD` or `ENTRYPOINT`, but you don't need to care about the Java options to
|
|
enable SkyWalking agent, it should be adopted automatically.
|
|
|
|
## Kubernetes
|
|
|
|
Currently, SkyWalking provides two ways to install the java agent on your services on Kubernetes.
|
|
|
|
1. To use the java agent more natively, you can try the [java agent injector](https://github.com/apache/skywalking-swck/blob/master/docs/java-agent-injector.md) to inject the java agent image as a sidecar.
|
|
|
|
2. If you think it's hard to install the injector, you can also use this java agent image as a sidecar as below.
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: Pod
|
|
metadata:
|
|
name: agent-as-sidecar
|
|
spec:
|
|
restartPolicy: Never
|
|
|
|
volumes:
|
|
- name: skywalking-agent
|
|
emptyDir: { }
|
|
|
|
initContainers:
|
|
- name: agent-container
|
|
image: apache/skywalking-java-agent:8.7.0-alpine
|
|
volumeMounts:
|
|
- name: skywalking-agent
|
|
mountPath: /agent
|
|
command: [ "/bin/sh" ]
|
|
args: [ "-c", "cp -R /skywalking/agent /agent/" ]
|
|
|
|
containers:
|
|
- name: app-container
|
|
image: springio/gs-spring-boot-docker
|
|
volumeMounts:
|
|
- name: skywalking-agent
|
|
mountPath: /skywalking
|
|
env:
|
|
- name: JAVA_TOOL_OPTIONS
|
|
value: "-javaagent:/skywalking/agent/skywalking-agent.jar"
|
|
``` |