本文主要講述的是如何使用 Helm Charts 將 SkyWalking 部署到 Kubernetes 集羣中,相關文檔能夠參考skywalking-kubernetes 和 backend-k8s 文檔 。git
目前推薦的四種方式:github
注意:目前 skywalking 的 chart 尚未提交到官方倉庫,請先參照前兩種方式進行部署docker
1.配置 helm 環境,參考 Helm 環境配置 ,若是你要部署helm2 相關chart 能夠直接配置 helm2 的相關環境apache
2.克隆/下載ZIP skywalking-kubernetes 這個倉庫,倉庫關於chart的目錄結構以下api
helm-chartapp
- helm2curl
- 6.0.0-GAelasticsearch
- 6.1.0google
- helm3url
- 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:codeinnerpeacez_githubskywalking-kuberneteshelm-charthelm36.3.0skywalking-0.1.0.tgz
打包完成後會在當前目錄的同級目錄生成 .tgz 文件
ls複製代碼
skywalking/ skywalking-0.1.0.tgz
因爲上文配置的 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複製代碼
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 目前已經提供了,charts repo 的能力,這樣就能夠將 docker 鏡像和 chart 存儲在一個倉庫中了,方便維護,具體harbor 的部署方法參考 Harbor 做爲存儲倉庫存儲 chart
目前沒有發佈到官方 repo 中,後續發佈完成後,只須要執行下面命令便可
helm install -n test stable/skywalking複製代碼
- 日拱一卒,不期速成
四種方式均可以進行部署,若是你想要自定義chart ,須要使用上述兩種本地方法及harbor 存儲的方式來進行部署.