skywalking—docker镜像构建k8s部署

本文介绍了如何将SkyWalking部署容器化,以解决在基于ES存储时遇到的问题,以及在升级过程中的一系列操作。目标是将SkyWalking的Docker镜像运行在Kubernetes集群中。在构建Docker镜像时,关注了动态配置和保持进程运行。通过设置脚本来处理动态配置,使用特定方法确保进程常驻。在Kubernetes部署中,注意了环境变量的使用以正确绑定IP。最终,通过解决网络通讯问题,实现了SkyWalking的顺利部署。
摘要由CSDN通过智能技术生成

skywalking—docker镜像构建k8s部署

 

前言

skywalking是个非常不错的apm产品,但是在使用过程中有个非常蛋疼的问题,在基于es的存储情况下,es的数据一有问题,就会导致整个skywalking web ui服务不可用,然后需要agent端一个服务一个服务的停用,然后服务重新部署后好,全部走一遍。这种问题同样也会存在skywalking的版本升级迭代中。而且apm 这种过程数据是允许丢弃的,默认skywalking中关于trace的数据记录只保存了90分钟。故博主准备将skywalking的部署容器化,一键部署升级。下文是整个skywalking 容器化部署的过程。

目标:将skywalking的docker镜像运行在k8s的集群环境中提供服务

docker镜像构建

FROM registry.cn-xx.xx.com/keking/jdk:1.8
ADD apache-skywalking-apm-incubating/  /opt/apache-skywalking-apm-incubating/
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime \
    && echo 'Asia/Shanghai' >/etc/timezone \
    && chmod +x /opt/apache-skywalking-apm-incubating/config/setApplicationEnv.sh \
    && chmod +x /opt/apache-skywalking-apm-incubating/webapp/setWebAppEnv.sh \
    && chmod +x /opt/apache-skywalking-apm-incubating/bin/startup.sh \
    && echo "tail -fn 100 /opt/apache-skywalking-apm-incubating/logs/webapp.log" >> /opt/apache-skywalking-apm-incubating/bin/startup.sh

EXPOSE 8080 10800 11800 12800
CMD /opt/apache-skywalking-apm-incubating/config/setApplicationEnv.sh \
     && sh /opt/apache-skywalking-apm-incubating/webapp/setWebAppEnv.sh \
     && /opt/apache-skywalking-apm-incubating/bin/startup.sh

在编写Dockerfile时需要考虑几个问题:skywalking中哪些配置需要动态配置(运行时设置)?怎么保证进程一直运行(skywalking 的startup.sh和tomcat中 的startup.

你想了解关于 SkyWalkingDocker 环境中的使用吗?SkyWalking 是一个开源的分布式系统追踪与监控解决方案,它可以帮助你监控和分析分布式系统的性能和健康状况。在 Docker 环境中使用 SkyWalking,你可以进行分布式跟踪和性能监控。 要在 Docker 中使用 SkyWalking,首先你需要下载 SkyWalkingDocker 镜像。你可以通过 Docker Hub 上的官方仓库获取,并且有不同的版本可以选择。 接下来,你需要创建一个包含 SkyWalking 配置文件的容器。配置文件通常是以 `config` 目录为基础的,其中包含了 agent 和 collector 的配置。你可以根据你的需求进行相应的配置。 然后,你可以使用 Docker 命令来启动 SkyWalking 容器。例如,使用类似以下命令启动一个容器: ``` docker run -d --name skywalking -p 8080:8080 -v /path/to/config:/skywalking/config apache/skywalking-oap-server:8.2.0 ``` 这个命令会在后台运行一个名为 `skywalking` 的容器,并且将容器中的 8080 端口映射到主机的 8080 端口。同时,将本地的配置目录 `/path/to/config` 挂载到容器中的 `/skywalking/config` 目录。 这样,你就成功地在 Docker 中启动了 SkyWalking。你可以通过访问 `http://localhost:8080` 来访问 SkyWalking 的 Web 控制台,并开始监控和分析你的分布式系统了。 当然,以上只是一个简单的示例,你可以根据实际情况进行更详细的配置和使用。希望这能帮助到你!如果你有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值