使用 chart 部署 skywalking

本文主要讲述的是如何使用 Helm Charts 将 SkyWalking 部署到 Kubernetes 集群中,相关文档可以参考skywalking-kubernetesbackend-k8s 文档

目前推荐的四种方式:

  • 使用 helm 2 提供的 helm serve 启动本地 helm repo
  • 使用本地 chart 文件部署
  • 使用 harbor 提供的 repo 功能
  • 直接从官方 repo 进行部署

注意:目前 skywalking 的 chart 还没有提交到官方仓库,请先参照前两种方式进行部署

Helm 2 提供的 helm serve

打包对应版本的 skywalking chart

1.配置 helm 环境,参考 Helm 环境配置 ,如果你要部署helm2 相关chart 可以直接配置 helm2 的相关环境

2.克隆/下载ZIP skywalking-kubernetes 这个仓库,仓库关于chart的目录结构如下

helm-chart

  • helm2

    • 6.0.0-GA
    • 6.1.0
  • helm3
    • 6.3.0
    • 6.4.0

克隆/下载ZIP 完成后进入指定目录打包对应版本的chart

cd skywalking-kubernetes/helm-chart/<helm-version>/<skywalking-version>

注意:helm-version 为对应的helm版本目录,skywalking-version 为对应的 skywalking 版本目录,下面以helm3 和 skywalking 6.3.0 为例

cd skywalking-kubernetes/helm-chart/helm3/6.3.0

3.由于skywalking 依赖 elasticsearch 作为存储库,执行以下命令更新依赖,默认会从官方repo进行拉取

helm dep up skywalking

Hang tight while we grab the latest from your chart repositories...

...Successfully got an update from the "stable" chart repository

Update Complete. ⎈Happy Helming!⎈

Saving 1 charts

Downloading elasticsearch from repo https://kubernetes-charts.storage.googleapis.com/

Deleting outdated charts

如果官方 repo 不存在,请先添加官方仓库

helm repo add stable https://kubernetes-charts.storage.googleapis.com

"stable" has been added to your repositories

4.打包 skywalking , 执行以下命令

helm package skywalking/

Successfully packaged chart and saved it to: C:\code\innerpeacez_github\skywalking-kubernetes\helm-chart\helm3\6.3.0\skywalking-0.1.0.tgz

打包完成后会在当前目录的同级目录生成 .tgz 文件

 ls

skywalking/ skywalking-0.1.0.tgz

启动 helm serve

由于上文配置的 helm 为 helm3 ,但是helm 3中移除了 helm serve 的相关命令,所以需要另外一个环境配置helm2 的相关环境,下载 helm 2.14.3 的二进制文件,配置基本上没有大的差别,不在赘述

初始化 helm

helm init

将上文生成的 skywalking-0.1.0.tgz 文件复制到 helm 相关目录 /root/.helm/repository/local,启动 serve

helm serve --address <ip>:8879 --repo-path /root/.helm/repository/local

注意: ip 为要能够被上文配置 helm 3 环境的机器访问到

可以访问一下看看服务 serve 是否启动成功

curl ip:8879
部署 skywalking

1.在helm3 环境中添加启动的本地 repo

helm repo add local http://<ip>:8879

2.查看 skywalking chart 是否存在于本地仓库中

helm search skywalking

NAME CHART VERSION APP VERSION DESCRIPTION

local/skywalking 0.1.5 6.3.0 Apache SkyWalking APM System

3.部署

helm -n test install skywalking local/skywalking

这样 skywalking 就部署到了 k8s 集群中的 test 命名空间了,至此本地安装skywalking 就完成了。

本地文件部署

如果你不想存储到 chart 到仓库中也可以直接使用本地文件部署 skywalking,按照上面的步骤将skywalking chart 打包完成之后,直接使用以下命令进行部署

helm -n test install skywalking skywalking-0.1.0.tgz

harbor 作为 repo 存储 charts

harbor 目前已经提供了,charts repo 的能力,这样就可以将 docker 镜像和 chart 存储在一个仓库中了,方便维护,具体harbor 的部署方法参考 Harbor 作为存储仓库存储 chart

官方 repo 部署

目前没有发布到官方 repo 中,后续发布完成后,只需要执行下面命令即可

helm install -n test stable/skywalking

总结

四种方式都可以进行部署,如果你想要自定义chart ,需要使用上述两种本地方法及harbor 存储的方式来进行部署.

使用 chart 部署 skywalking的更多相关文章

  1. 使用docker部署skywalking

    使用docker部署skywalking Intro 之前在本地搭建过一次 skywalking + elasticsearch ,但是想要迁移到别的机器上使用就很麻烦了,于是 docker 就成了很 ...

  2. Kubernetes 与 Helm:使用同一个 Chart 部署多个应用

    k8s 集群搭建好了,准备将 docker swarm 上的应用都迁移到 k8s 上,但需要一个一个应用写 yaml 配置文件,不仅要编写 deployment.yaml 还要编写 service.y ...

  3. 使用 Helm Chart 部署及卸载 istio

    部署 istio 1.添加 istio 官方的 helm 仓库 helm repo add istio https://storage.googleapis.com/istio-release/rel ...

  4. 基于docker部署skywalking实现全链路监控

    一.概述 简介 skywalking是一个开放源码的,用于收集.分析,聚合,可视化来自于不同服务和本地基础服务的数据的可观察的平台,skywalking提供了一个简单的方法来让你对你的分布式系统甚至是 ...

  5. Linux 环境部署Skywalking支持Elasticsearch

    一.环境准备 1.Java JKD 1.8(建议) 2.Elasticsearch 3.Skywalking 二. 环境搭建 安装Skywalking分为两个步骤: a.安装Backend后端服务 b ...

  6. docker部署skywalking

    https://www.cnblogs.com/xiao987334176/p/13530575.html

  7. 部署Chart应用并使用.net core读取Kubernetes中的configMap

    上一篇文章讲了 k8s使用helm打包chart并上传到腾讯云TencentHub,今天就讲一下使用Helm部署应用并使用configMap代替asp.net core 中的appsettings.j ...

  8. skywalking8.1.0(一) 安装与部署

    skywalking部署 背景介绍 目前公司后端服务全部为微服务并运行在kubernetes集群上,而大量的微服务的背后拥有很复杂的调用关系,纵使你是公司的资深开发也很难理清每一个后端服务之间的依赖关 ...

  9. 链路追踪_SkyWalking的部署及使用

    关于链路追踪,目前比较主流是Cat,Zipkin,SkyWalking等这些工具.这篇文章主要介绍关于SkyWalking工具的. 为什么用SkyWalking,因为它基本没有代码侵入,只这一点就足够 ...

随机推荐

  1. 小米 OJ 编程比赛 02 月常规赛 3 Logic Gatekeeper CDQ分治

    link:https://code.mi.com/problem/list/view?id=139 题意: 有一个1e6 * 1e6 大的格子,现在有两种操作:1,给一个子矩阵中的每个格子加上k.2, ...

  2. CF - 1111D Destroy the Colony DP

    题目传送门 题意: 这个题目真的是最近遇到的最难读. 有一个长度n的字符串,每一位字符都代表的是该种种类的敌人. 现在如果一个序列合法的话,就是同一种种类的敌人都在字符串的左半边或者右半边. 现在有q ...

  3. react页面内嵌微信二维码 和 自定义样式 以及 微信网页共用unionId问题

    在react页面内嵌“微信二维码”,实现PC端通过微信扫码进行登录.首先去微信开放平台注册一个账号,创建一个网站应用,提交网站备案审核,获取appid和appsecret:其他开发流程根据微信文档来进 ...

  4. 微信小程序一步一步获取UnionID,实现自动登录

    思路: 1.小程序端获取用户ID,发送至后台 2.后台查询用户ID,如果找到了该用户,返回Token,没找到该用户,保存到数据库,并返回Token 小程序端如何获取用户ID: 小程序端 wx.getU ...

  5. 关于JQuery.form.js异步上传文件点滴

    好久没动代码了,前几天朋友委托我帮忙给做几个页面,其中有个注册带图片上传的页面.已之前的经验应该很快就能搞定,没想到的是搞了前后近一天时间.下面就说说异步上传的重要几个点,希望自己下次遇到此类问题的时 ...

  6. Python作业本——第5章 字典和结构化数据

    习题 1. {} 2. {'fow': 42} 3.字典是无序的 4.报错    (KeyError) 5.第一种是既搜索键又搜索值,第二种值搜索键    没有区别,in操作符检查一个值是不是字典的一 ...

  7. java中存储机制堆栈。

    一.java的六种存储地址及解释 1) 寄存器(register):这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配.你不 ...

  8. [系列] go-gin-api 路由中间件 - Jaeger 链路追踪(五)

    概述 首先同步下项目概况: 上篇文章分享了,路由中间件 - 捕获异常,这篇文章咱们分享:路由中间件 - Jaeger 链路追踪. 啥是链路追踪? 我理解链路追踪其实是为微服务架构提供服务的,当一个请求 ...

  9. ThreadLocal的认知与见解

    ThreadLocal:提高一个线程的局部变量,访问某个线程拥有自己局部变量(很难理解.看看下面这句话,顺便再讲个例子). 当使用ThreadLocal维护变量时,ThreadLocal为每一个使用该 ...

  10. HABSE表结构理解

    也分为行列,行是索引,锁定数据,查找数据只能通过行 列:建表时必须知道列族,真实列(列簇)在插入数据时候可以指定        查找指定列,必须带列族,列族1:name