乐趣区

使用-chart-部署-skywalking

使用 chart 部署 skywalking

本文主要讲述的是如何使用 Helm Charts 将 SkyWalking 部署到 Kubernetes 集群中,相关文档可以参考 skywalking-kubernetes 和 backend-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.sto…
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:codeinnerpeacez_githubskywalking-kuberneteshelm-charthelm36.3.0skywalking-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

总结

  • 点击查看我的 Github
  • 点击查看我的个人 Blog
  • 日拱一卒,不期速成

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

退出移动版