使用 chart 部署 skywalking 本文主要講述的是如何使用 Helm Charts 將 SkyWalking 部署到 Kubernetes 集群中,相關文檔可以參考 "skywalking kubernetes " 和 "backend k8s 文檔" 。 目前推薦的四種方式: 使用 h ...
使用 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.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
總結
- 點擊查看我的Github
- 點擊查看我的個人Blog
- 日拱一卒,不期速成
四種方式都可以進行部署,如果你想要自定義chart ,需要使用上述兩種本地方法及harbor 存儲的方式來進行部署.