如何用helm chart将chripstack部署到k8s之上

80次阅读
没有评论

共计 2828 个字符,预计需要花费 8 分钟才能阅读完成。

如何用 helm chart 将 chripstack 部署到 k8s 之上,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

chirpstack-helm-chart

开源 lorawan server 项目 chirpstack 的 helm chart ,  项目源码

如何贡献

如果你想对这个项目进行贡献可以点击 fork 按钮 fork 这个项目并且发起 PR

Fork

贡献的准备工作:Fork 这个项目.

贡献流程

$ git remote add chirpstack-helm-chart git@github.com:liangyuanpeng/chirpstack-helm-chart.git
# sync with the remote master
$ git checkout master
$ git fetch chirpstack-helm-chart
$ git rebase chirpstack-helm-chart/master
$ git push origin master
# create a PR branch
$ git checkout -b your_branch  
# do something
$ git add [your change files]
$ git commit -sm xxx
$ git push origin your_branch

安装 helm chart

$ git clone https://github.com/liangyuanpeng/chirpstack-helm-chart.git  
$ cd chirpstack-helm-chart/  
# install helm chart from this repo
$ helm install chirpstack .

注意:默认使用名叫 longorn 的 storageClass 存储.

$ kubectl get po 
# 执行命令后可以看到以下 pod
NAME                              READY   STATUS    RESTARTS   AGE
chirpstack-as-84b68cb7fd-zgs5j    1/1     Running   0          45s
chirpstack-ns-7d9b9867f-zftn6     1/1     Running   0          45s
mosquitto-0                       1/1     Running   0          45s
pgsql-0                           1/1     Running   0          45s
redis-0                           1/1     Running   0          45s
redis-exporter-64f8bf4f46-2rcgl   1/1     Running   0          45s
$ kubectl get svc
# 执行命令后可以看到以下 svc
NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
chirpstack-as    ClusterIP   10.98.227.61     none        8080/TCP,8001/TCP,8003/TCP   77s
chirpstack-ns    ClusterIP   10.108.182.238   none        8000/TCP                     77s
mosquitto        ClusterIP   10.104.149.103   none        1883/TCP                     77s
pgsql            ClusterIP   10.102.33.231     none        5432/TCP                     77s
redis            ClusterIP   10.109.138.95     none        6379/TCP                     77s
redis-exporter   ClusterIP   10.106.66.131     none        9121/TCP                     77s
$ kubectl get pvc
# 执行命令后可以看到以下 pvc
NAME                               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pgsql-pvc-pgsql-0                  Bound    pvc-c1c6adf4-32ef-4431-bd6a-3825a6ef408c   96Mi       RWO            longhorn       3d
redis-pvc-redis-0                  Bound    pvc-e464d0e8-e04a-4958-858e-5efef1aeba9c   48Mi       RWO            longhorn       3d
$ helm list
# 执行命令后可以看到以下 chart
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
chirpstack      default         1               2021-01-29 16:11:48.984574857 +0800 CST deployed        chirpstack-helm-chart-0.1.0     1.16.0

暴露 application-server 的 svc,访问 application-server

kubectl port-forward svc/chirpstack-as 8080:8080 --address 0.0.0.0

在 application-server 上设置 network-server

你可以设置为  chirpstack-ns.{namespace}:8000  或者  chirpstack-ns.{namespace}.svc.cluster.local:8000

这里的 {namespace} 替换为真实的命名空间

如果你用了 gateway-bridge 这个组件的话,可以用下面的命令把 svc 暴露出来

kubectl expose deploy gateway-bridge --port 1700 --target-port=1700 --protocol=UDP --name udpservice --type=NodePort

到目前为止 ChirpStack 已经在 K8S 上部署起来了, 默认服务都是创建了 SVC 但是没有进一步暴露出来,具体的暴露方式目前是让用户来选择,可以把 AS 的端口暴露出来后就可以访问 AS 了.MQTT 服务和 gateway-bridge 服务也是如此, 数据需要上传到服务端需要将服务暴露出来。

关于如何用 helm chart 将 chripstack 部署到 k8s 之上问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2828字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)