全网最新 Skywalking 6.1.0部署进k8s 包含springcloud测试用例
skywalking-kubernetes
该项目可以迅速将skywalking 6.1.0部署进kubernetes(k8s)
包含ui oap es模块和完整的springcloud测试用例
此外将agent整合到sidecar中,也就是说每个pod中有两个应用 app+agent sidecar,更加适合于生产环境
描述
我弄这个主要是为了学习整合skywalking作为kubernetes线下环境的APM
但是skywalking官方apache/skywalking-kubernetes的一些配置在apache孵化后过期 没有最新的6.1.0版本 而6.1.0的性能提升比较大,此外也支持6.3.2 非常值得学习。 此外一些配置面向云环境,不适合本地开发测试
安装使用
git地址 evanxuhe/skywalking-kubernetes cd 6.1.0
kubectl apply -f namespace.yml
kubectl apply -f elasticsearch
kubectl apply -f oap
kubectl apply -f ui
kubectl apply -f apm-springcloud-demo
复制代码
注意修改elasticsearch/01-pv.yml中的路径为本地路径;节点名为本机hostname
浏览器打开http://127.0.0.1:31234/查看服务详情
如果部署了测试用例 访问http://127.0.0.1:30082/item 会发现UI拓扑图多了两个服务 如下
成果展示
NAME READY STATUS RESTARTS AGE
apm-eureka-799b8d5449-72npx 1/1 Running 0 99m
apm-item-bdf545d9c-kjqxd 1/1 Running 0 94m
elasticsearch-0 1/1 Running 0 119m
oap-6b56f8bbf5-7fjvb 1/1 Running 0 118m
oap-6b56f8bbf5-7tldw 1/1 Running 0 118m
oap-6b56f8bbf5-qzdx2 1/1 Running 0 118m
ui-deployment-f4799496c-m5xw6 1/1 Running 0 117m
复制代码
模块概述
模块概述
component | descripiton |
---|---|
namespace | 创建skywalking命名空间 |
elasticsearch | 映射本地磁盘卷的es集群 |
oap | collector 收集agent上传的数据并整合 |
ui | RocketUI展示前端数据 |
apm-springcloud-demo | springcloud应用demo,eureka+item service 产生数据供展示(可选) |
busybox.yml | 装了很多调试工具,比如net-tools等,方便定位k8s内问题 |
版本描述
component | version |
---|---|
kubernetes | 1.14.2 |
docker | 18.06 |
skywalking | 6.1.0 |
elasticsearch | 6.4.0 |
镜像
image | version | descripiton |
---|---|---|
evanxuhe/skywalking-oap-server | 6.1.0 | 修正时区为东八区 |
evanxuhe/skywalking-agent-sidecar | 6.1.0 | sidecar 里面装载了agent文件夹 |
apache/skywalking-ui | 6.1.0 | 官方ui镜像 |
elasticsearch-oss | 6.3.2 | 官方es镜像 |
使用说明
应用全部挂在在skywalking namepace下,所以大家使用时不要忘记切换namespace 比如加-n skywalking
此外之前遇到过很奇怪的问题 oap可以正常收集数据,ui没显示,并且请求oap报错IDs can't be null其实就是pod时间不对,导致查询范围不匹配 查看kubectl get pods -n skywalking
配置修改
es使用statefulset方式部署,oap,ui使用deployment部署 因而想要修改副本数,内存,磁盘等请修改对应目录下的03-statefulset.yml或者03-deployment.yml
服务起停
由于k8s deployment会在pod停止后一直重启 因而修改停止的正确做法是
kubectl edit statefulset elasticsearch -n skywalking
kubectl edit deployment oap -n skywalking
kubectl edit deployment ui-deployment -n skywalking
复制代码
修改对应的replicates为0,拓展应用将replicates修改为对应副本数即可,想刷新配置也可以用这种办法
修改内容
基于skywalking官方apache/skywalking-kubernetes 修改为:
- oap,ui镜像更新为最新 apache/skywalking-oap-server,apache/skywalking-ui镜像,解决原有镜像过期问题,修改时区为东八区
- elasticsearch存储卷配置gce修改为local,增加01-pv.yaml 大家需要制定自己的本地路径
- ui负载均衡从云环境loadbalace改为适用于本地的nodeport
故障排除
显示pod不存在 kubectl config set-context $(kubectl config current-context) --namespace=skywalking 或者在所有命令后指定namespace 如 kubectl get pods -n skywalking 服务出现Error 查看event是否有错误信息
kubectl describe pod [pod名]
复制代码
如果没有,说明进程已经挂掉,查看日志是否有错误信息
kubectl log [pod名]
复制代码
dns域名解析错误 遇到一个问题,es一直正常运行,但是oap报错找不到es,这是由于域名解析问题 k8s登录elasticsearch,查看hostname ip地址 登录另一个可用pod,如ui 看是否能ping 通ip(网络问题),能否ping通elasticsearch主机名(dns问题) 最后发现是coredns服务没能正常启动,导致所有dns不用这个错误很常见。。。
kubectl get pods -n kube-system
复制代码
解决方案详见coredns服务一直处于 CrashLoopBackOff状态
联系方式
欢迎大家查看我的博客评论交流
由于本人是k8s新人,难免存在很多问题,欢迎大家反馈 我的邮箱 xuhe@chehejia.com
转载于:https://juejin.im/post/5ce699bee51d45777621baec
全网最新 Skywalking 6.1.0部署进k8s 包含springcloud测试用例相关推荐
- iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享...
?? 微信小程序课程,面向所有具备前端基础知识的同学 ?? iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程 ...
- Zabbix 3.0 部署监控 [三]
Zabbix 3.0 部署监控 [三] zabbix 时间:2016年9月22日 笔者QQ:381493251 Abcdocker交流群:454666672 如果遇到什么问题可以进群询问,我们 ...
- Debian 和Ubuntu Mono 3.0 部署包
Mono 3.0 刚发布,Debian 的Mono打包工作也开始了, 这篇博客<Mono 3.0 Preview Packages for Debian and Ubuntu >讲述了De ...
- KubeEdge 1.3.0 部署
本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上从源码开始部署 KubeEdge 1.3.0 集群的过程,云端 Kubernetes 版本为 1.17.3,Gola ...
- KubeEdge 1.2.0 部署
本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上从源码开始部署 KubeEdge 1.2.0 集群的过程,云端 Kubernetes 版本为 1.17.3,Gola ...
- 全网最新Nginx禁止国内IP地址访问网站
全网最新Nginx禁止国内IP地址访问网站 文章目录 全网最新Nginx禁止国内IP地址访问网站 1.服务器安装依赖 2.创建文件地址并下载所需服务 3.安装libmaxminddb 4.解压并且修改 ...
- Fabric2.0部署学习进阶教程系列博文
Fabric2.0部署学习系列文章目录 1.<在本机上安装VMWare详细图文过程> https://blog.csdn.net/weixin_44750512/article/detai ...
- Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法
Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法 参考文章: (1)Win2008上.NET4.0部署出错HTTP 错误 5 ...
- 【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d-2.0-x-2.0.2使用资源加载策略
前段时间cocos2dx更新了最新版本cocos2d2.0x2.0.2,也从这个版本开始对于资源加载与管理都改变了策略. 在之前的加载方式都是通过沿用与cocos2d-iphone一样的加载资源 ...
最新文章
- SCCM部署(四)---ADSI修改
- GoldenGate技术架构(二)
- 【Java 并发编程】线程池机制 ( 线程池状态分析 | 线程池状态转换 | RUNNING | SHUTDOWN | STOP | TIDYING | TERMINATED )
- (剑指Offer)面试题18:树的子结构
- asm.js的陷阱1
- 《现代操作系统》第1章读书笔记-- 引论(未完成)
- 海通证券签约神策数据 数据赋能构建数字化运营闭环
- java collections读书笔记(4) stack
- IBASE Read buffer invalidate when locked
- 1117. H2O 生成
- mitmproxy抓包 | Python双篡改假请求实战(六)
- android 控件宽度自适应_Android中让图片自适应控件的大小的方法
- 如何在没有tomcat情况下直接连接JMX监控JVM
- 图说:Windows 8如何关机、重启
- swun 1766 我的悲剧不可能那么好数
- 信息系统分析与设计课程心得
- 【微信登录】APP/网站应用的微信扫码登录
- 惊帆健康监测模块,心率检测模块
- 软件工程人才的社会需求现状与发展趋势分析
- c语言 称重系统设计,智能称重系统设计-文献综述.doc