Kubernetes中使用skywalking-java-agent
接入skywalking-java-agent
时,优先参考的官方文档, 但只看这个有点云里雾里,在此分享下最终使用的接入方案。
Dockerfile
# FROM apache/skywalking-java-agent:8.9.0-jdk8
FROM nikyotensai/skywalking-java-agent:8.9.0-springboot2
直接使用skywalking-java-agent
作为基础镜像,这样就不需要再配置initContainers。如果DockerFile是和项目在一起的话,还可以替换agent.config
,做一些针对性的配置。nikyotensai/skywalking-java-agent:8.9.0-springboot2
是我基于实际使用需求做过调整的image,主要删除了swctl
及一些和springboot2不相关的plugin。如果需求一样可以直接使用,如果不一样,建议根据实际需求进行调整。
Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: { your-project-name }
spec:
replicas: 1
template:
spec:
containers:
- name: { your-project-name }
image: { your-image }
env:
- name: SW_AGENT_NAME
value: { group-name }::{ your-project-name }
- name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
value: { oap-server-address }
SW_AGENT_NAME
:注册到skywalking的服务名,group-name+::是起分组的作用,如果不需要做适当调整。SW_AGENT_COLLECTOR_BACKEND_SERVICES
:skywalking服务器的ip+port。
上面的两个配置如果不会变,也可以写在Dockerfile
中。其它配置请参考agent.config
文件。
上面就是在Kubernetes
接入skywalking-java-agent
的方案,欢迎留言。