Helm 차트를 사용하여 kubernetes에 chripstack 배포

chirpstack-helm-chart

오픈 소스 lorawan 서버 프로젝트 chirpstack helm 차트, 프로젝트 소스 코드

기여하는 방법

이 프로젝트에 기여하려면, 당신은 클릭 할 수 있습니다 fork버튼 fork이 프로젝트를하고 시작PR

포크

공헌 준비 : Fork이 프로젝트.

기부 과정

$ git remote add chirpstack-helm-chart [email protected]: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 차트 설치

$ 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

응용 프로그램 서버의 서비스를 노출하고 응용 프로그램 서버에 액세스합니다.

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

응용 프로그램 서버에서 네트워크 서버 설정

설정 chirpstack-ns.{namespace}:8000하거나chirpstack-ns.{namespace}.svc.cluster.local:8000

여기서 {namespace}는 실제 네임 스페이스로 대체됩니다.

로그인

게이트웨이 브리지 구성 요소를 사용하는 경우 다음 명령을 사용하여 svc를 노출 할 수 있습니다.

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

요약하자면

지금까지 ChirpStack은 K8S에 배포되었습니다. 기본 서비스는 SVC를 생성하는 것이지만 더 이상 노출되지는 않습니다. 특정 노출 방법은 현재 사용자가 선택할 수 있습니다. AS 포트가 노출 된 후 AS에 액세스 할 수 있습니다. 동일합니다. MQTT 서비스 및 게이트웨이 브리지 서비스의 경우 데이터를 서버에 업로드하고 서비스를 노출해야합니다.

추천

출처blog.csdn.net/lypgcs/article/details/113475093