K8S 部署 skywalking
文章目录
- 部署
- 微服务接入
- 调用 oap
- 制作镜像
- 制作微服务的 deployment.yml
- 制作微服务的 Dockerflie
部署
官方文档:https://github.com/apache/skywalking-kubernetes
加入仓库
helm repo add skywalking https://apache.jfrog.io/artifactory/skywalking-helm
开始部署
helm install skywalking skywalking/skywalking -n component --set oap.image.tag=8.8.1 --set oap.storageType=elasticsearch --set ui.image.tag=8.8.1 --set elasticsearch.imageTag=7.5.1
也可以执行 values-es7.yaml
helm install skywalking skywalking/skywalking -n component -f values-my-es7.yaml
自定义 values.yaml
oap:image:tag: "8.8.1"storageType: elasticsearchui:image:tag: "8.8.1"ingress:enabled: truehosts: - skywalking-ui.prodsaas.api.gd-xxx.comannotations:kubernetes.io/ingress.class: nginxelasticsearch:imageTag: "7.5.1"
镜像较大,第一次部署可能等到时间较长,不用慌,等待即可
微服务接入
调用 oap
微服务和sky walking不在同一集群内,为了联通,映射 11800 端口到 31800端口
也可配置 ingress 映射 oap 的 11800 端口
制作镜像
下载官方压缩包,官网地址:https://skywalking.apache.org/downloads/
wget https://dlcdn.apache.org/skywalking/java-agent/8.10.0/apache-skywalking-java-agent-8.10.0.tgz --no-check-certificate
解压
tar -zxvf apache-skywalking-java-agent-8.10.0.tgz
制作 Dockerfile
FROM busybox:latest
LABEL maintainer="fat"
COPY / /usr/skywalking/agent/
目录结构如下
打包镜像并上传到 Harbor
docker build -t skywalking-agent:latest .
docker login <harbor-host> -u admin -p Harbor12345
docker tag skywalking-agent:latest <harbor-host>/<project-name>/skywalking-agent:latest
docker images
docker push <harbor-host>/<project-name>/skywalking-agent:latest
制作微服务的 deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:name: demolabels:app: demo
spec:replicas: 1selector:matchLabels:app: demostrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:labels:app: demospec:initContainers:- image: <harbor-host>/<project-name>/skywalking-agent:latestname: sw-agent-sidecarimagePullPolicy: IfNotPresentcommand: ["sh"]args:["-c","mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent",]volumeMounts:- mountPath: /skywalking/agentname: sw-agentcontainers:- name: demoimage: "<harbor-host>/<project-name>/dev-converter:v5"imagePullPolicy: IfNotPresentports:- name: tcp-8082containerPort: 8082protocol: TCPenv:- name: JAVA_OPTSvalue: -Dspring.profiles.active=dev- name: SW_AGENT_NAMEvalue: converter-service- name: SW_AGENT_COLLECTOR_BACKEND_SERVICESvalue: 192.168.140.xx:31800volumeMounts:- mountPath: /usr/skywalking/agentname: sw-agentvolumes:- name: sw-agentemptyDir: {}
initContainers :初始化容器,配置 skywalking agent
initContainers.image:就是上面构建好推送到 harbor 的那一个
args:在制作 Dockerflie 时把文件复制到了 /usr/skywalking/agent 目录下,这段命令的意思是 新建 /skywalking/agent 目录,把 /usr/skywalking/agent 目录下全部复制到 /skywalking/agent ,这样才能让微服务读取 /usr/skywalking/agent/skywalking-agent.jar
containers:微服务的容器配置
SW_AGENT_COLLECTOR_BACKEND_SERVICES:收集的数据传到某服务端
重点配置
制作微服务的 Dockerflie
FROM openjdk:11.0-jre
MAINTAINER fat
COPY target/app.jar app.jar
EXPOSE 8082
ENV TIME_ZONE Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -javaagent:/usr/skywalking/agent/skywalking-agent.jar -jar /app.jar
注意:这里的 ENTRYPOINT 加了一个属性 :-javaagent:/usr/skywalking/agent/skywalking-agent.jar
路径和 containers.volumeMounts.sw-agent 一致
K8S 部署 skywalking相关推荐
- K8S部署skywalking
文章目录 一.安装K8S集群 kubeadm部署K8s集群V1.19.0 二.部署skywalking `2.1.创建命名空间` `2.2.给节点打标签` `2.3.skywalking-oap.ym ...
- ZipKin原理学习(分布式实时数据追踪系统)+window部署zipkin+k8s部署zipkin
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google D ...
- K8S部署工具:KubeOperator集群导入
K8S部署工具:KubeOperator集群导入 基本信息⚓︎ 输入要导入集群的名称.Api Server.Router.Token 示例 Api Server: https://172.16.10. ...
- K8S部署工具:KubeOperator集群部署
K8S部署工具:KubeOperator集群部署 集群信息⚓︎ 项目: 选择集群所属项目 供应商: 支持裸金属(手动模式)和部署计划(自动模式) 版本: 支持版本管理中最新的两个 Kubernetes ...
- K8S部署工具:KubeOperator集群规划-手动模式
K8S部署工具:KubeOperator集群规划-手动模式 KubeOperator 支持两种 Kubernetes 集群部署方式,一种是手动模式,另外一种是自动模式.手动模式下,用户需要自行准备主机 ...
- K8S部署工具:KubeOperator集群规划-自动模式
K8S部署工具:KubeOperator集群规划-自动模式 KubeOperator 支持两种 Kubernetes 集群部署方式,一种是自动模式,另外一种是手动模式,我们推荐使用自动模式.在自动模式 ...
- K8S部署工具:KubeOperator系统设置
K8S部署工具:KubeOperator系统设置 系统设置⚓︎ 仓库协议: 支持 http 和 https,默认 http 仓库 IP: 默认为部署 KubeOperator 的服务器 IP.将使用该 ...
- K8S部署工具:KubeOperator安装部署
K8S部署工具:KubeOperator安装部署 硬件要求⚓︎ 最小化配置 角色 CPU核数 内存 系统盘 数量 部署机 4 8G 100G 1 Master 4 8G 100G 1 Worker 4 ...
- K8S部署工具:KubeOperator主要概念
K8S部署工具:KubeOperator主要概念 部署模式⚓︎ 手动模式: 用户需要自己准备物理机或虚拟机,存储可选择 NFS 持久化存储,外部 ceph 存储等 自动模式: 用户只需要绑定云平台(比 ...
最新文章
- 4个月原生weex混合开发终结()
- redhat6.4中手动创建oracle11g数据库
- 给C#开发者的代码审查清单
- 14行代码AC——1017 A除以B (20分)(大数运算+讲解)
- C++中string、char[]、char*之间的转换
- 一个基于 osip 库的 UAC 和 UAS 的代码整理(转)
- arduino uno r3引脚图_Arduino入门: 安装和熟悉Arduino IDE
- 仿手环运动app的html,连接手环.html
- [RK3399][Android7.1] DRM中的Component System
- 游戏测试就天天打游戏?老司机给你深度解惑
- 介绍一个可以轻松下载病毒样本的数据库
- python内存泄漏_诊断和修复Python中的内存泄漏
- 关于原生table表单在vue中的遍历和合并行
- [统计模型] 基于R的潜在剖面分析(LPA)
- IO(BIO),NIO,AIO的深度解析和区别
- python真实收入曝光_程序员工资很高吗?资深HR透露真实收入,网友:说的很现实...
- 西北工业大学 计算机学院 姜,姜学锋(计算机学院)老师 - 西北工业大学 - 院校大全...
- java 后台开发中model与entity(实体类)的区别
- Chrome浏览器开发新截图工具,安全浏览器截图方法
- mysql 有数据就修改,无数据则新增