溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在樹莓派上通過K3S部署EMQ X edge集群

發(fā)布時間:2021-11-20 10:02:11 來源:億速云 閱讀:139 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家分享的是有關(guān)如何在樹莓派上通過K3S部署EMQ X edge集群的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

環(huán)境

k3s需要raspberrypi可以正常訪問google,如果沒有條件的話推薦在AWS上嘗試部署。

HostnameIP角色硬件
raspberrypi192.168.1.99server樹莓派3
emqx1192.168.1.100agent樹莓派3
emqx2192.168.1.101agent樹莓派3

準(zhǔn)備

在樹莓派上部署k3s集群

1.下載k3s,k3s支持x86_64,armhf和arm64,樹莓派上應(yīng)該安裝armhf

$ wget https://github.com/rancher/k3s/releases/download/v0.2.0/k3s-armhf
$ mv k3s-armhf /usr/local/bin/k3s
$ chmod +x /usr/local/bin/k3s

2.啟動Server

$ sudo k3s server

3.加入集群

a.在Server節(jié)點(diǎn)上查看 /var/lib/rancher/k3s/server/node-token 獲取node token

$ NODE_TOKEN=$(sudo cat /var/lib/rancher/k3s/server/node-token)

b.在agent節(jié)點(diǎn)上執(zhí)行 sudo k3s agent --server https://192.168.1.99:6443 --token ${NODE_TOKEN} 加入k3s集群。

4.(可選)外部設(shè)備使用 kubectl 管理 k3s集群

a.選取任意能與集群通信并安裝了kubectl 的外部設(shè)備

b.拷貝/etc/rancher/k3s/k3s.yaml文件到外部設(shè)備的 ~/.kube/config

c.修改 ~/.kube/config, 將 https://localhost:6443 替換為https://192.168.1.99:6443

d.使用 kubectl 管理集群

$ kubectl get nodes
NAME         STATUS  ROLES  AGE  VERSION
emqx2        Ready   <none>  29m  v1.13.4-k3s.1
emqx1         Ready   <none>  29m  v1.13.4-k3s.1
raspberrypi Ready   <none>  31m   v1.13.4-k3s.1

安裝HELM

安裝helm客戶端
  • 通過訪問:https://github.com/kubernetes/helm/releases。下載 Helm 的合適的版本。

    1.此文下載 helm-v2.8.0-linux-amd64.tgz 版本;

    2.解壓縮文件:tar -zxvf helm-v2.8.0-linux-amd64.tgz

    3.將解壓縮后的 helm 移至/usr/local/bin 目錄下:mv linux-amd64/helm /usr/local/bin/helm

    注意

    最好在安裝kubectl命令行工具的機(jī)器上安裝Helm客戶端;或者將安裝kubectl 命令行工具生成的配置文件($HOME/.kube/config)復(fù)制到 Helm 客戶端所安裝的機(jī)器上( $HOME/.kube/config )。

安裝 Tiller 服務(wù)器

創(chuàng)建一個名為 tiller 的 Service Account

$ kubectl create serviceaccount tiller --namespace kube-system

授予名為 tiller 的 Service Account 集群管理員角色 cluster-admin:

  • 將 tiller 綁定至集群管理員角色的的 yaml 文件如下所示:

$ cat <<EOF >rbac-config.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
EOF
  • 通過執(zhí)行 kubectl create -f將授予 tiller 集群管理員角色:

$ kubectl create -f rbac-config.yaml

安裝 Tiller 服務(wù)器

$ helm init --service-account tiller
驗(yàn)證安裝

在安裝完成后,可以通過執(zhí)行如下命令來檢查是安裝成功:

$ helm version

如果正確顯示 Helm 客戶端和 Tiller 服務(wù)器的版本,這表示安裝成功。

或者通過執(zhí)行 kubectl 的如下命令來查看是否已正常按照 Tiller 服務(wù)器:

$ kubectl get pods -n kube-system

部署EMQX集群

1.通過Helm部署EMQX

$ git clone https://github.com/emqx/emqx-chart $ cd emqx-chart $ helm install --name myemqx --set deployment.image="emqx/emqx-edge:latest" .

關(guān)于此倉庫更多的設(shè)置,請查看README

2.查看EMQX的集群狀態(tài)

a.查看pods列表

$ kubectl get pods |grep myemqx myemqx-emqx-chart-54974fc5f5-v8chq           1/1     Running   0          2m9s myemqx-emqx-chart-54974fc5f5-zz9gc           1/1     Running   0          2m9s

b.使用emqx_ctl cluster status查看集群狀態(tài)

$ kubectl exec myemqx-emqx-chart-54974fc5f5-v8chq /opt/emqx/bin/emqx_ctl cluster status Cluster status: [{running_nodes,['emqx@10.42.2.11','emqx@10.42.1.15']}]

感謝各位的閱讀!關(guān)于“如何在樹莓派上通過K3S部署EMQ X edge集群”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI