k8s
访问skywalking官网,下载所需的压缩文件。选择自己需要的文件,分为linux和windows的压缩包(注:这里只部署客户端,服务端另行查找资料)
解压文件,将agent文件夹单独拷贝出来
配置agent.config文件主要配置#用户ui显示的应用名称agent.service_name=${SW_AGENT_NAME:myapp}#服务器端收集器地址collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:skywalking-skywalking-oap:11800}
在与agent同级目录编写Dockerfile文件,用于打包镜像FROM busybox:latest# Add a volume pointing to /tmpVOLUME /tmpADD /agent //agent
打包镜像docker build -t harbor.k8s-dev.com/library/skywalking-agent:6.4.0 .
上传镜像到私有仓库
项目里的Dockerfile如下这一行是集成skywalking的关键ENTRYPOINT ['java','-Djava.security.egd=file:/dev/./urandom','-javaagent:/tmp/agent/skywalking-agent.jar','-jar','app.jar']
部署至k8s的yml文件(注:内容只做参考,请勿直接复制使用)apiVersion: apps/v1 kind: Deployment metadata: name: myapplabels: app: myappspec: replicas: 1 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: initContainers: - name: skagent image: harbor.k8s-dev.com/library/skywalking-agent:6.4.0 command: ['cp','-rf','/agent','tmp'] volumeMounts: - mountPath: /tmp name: sky-agent-volume containers: - name: myapp env: - name: APOLLO_META value: http://172.18.3.129:8080 - name: APP_ID value: myapp - name: ENV value: dev - name: server_port value: '80' image: {appImage} imagePullPolicy: Always ports: - containerPort: 80 volumeMounts: - mountPath: /tmp name: sky-agent-volume imagePullSecrets: - name: jenkins-harbor-registry volumes: - name: sky-agent-volume emptyDir: {}
在k8s中部署应用kubectl create -f deployment.yml部署之后使用下面命令查看pod状态kubectl -n infra describe po myapp-bddddfd5c-lrf9v
本文只介绍部署客户端,服务端另行查找资料