打通k8s、kuboard,實現更便捷的服務管理


前言

最近幾天,我們一直都在和k8s打交道,前天分享了wsl搭建k8s集群的完整過程,昨天我們補充了一些k8s的基礎命令,今天我們繼續來介紹k8s,今天分享的就是我們昨天安利的k8s的管理工具kuboard。前面說,kuboard不能通過代理的方式訪問,所以沒法正常登錄,但是今天我又看了下kuboard的官方文檔,發現可以通過docker的方式運行kuboard,下面我們就看下具體如何操作。

kuboard

安裝kuboard

我們直接打開wsl,啟動docker服務,然后在docker中安裝kuboard,開始前建議你先拉取kuboard的鏡像,具體命令如下:

# 拉取kuboard鏡像
docker pull eipwork/kuboard:v3
# 啟動kuboard
sudo docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://內網ip:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  eipwork/kuboard:v3

大家注意下面啟動命令中的內網ip,根據官方文檔說明,這個ip不建議使用 127.0.0.1 或者 localhost ,所以我用的ip地址是127.0.0.2,你可以和我保持一致

然后運行上面的腳本,建議將上面的腳本存儲成sh腳本,方便后續啟動使用,這是我的sh腳本內容:

測試

啟動成功后,我們可以在wsl控制台通過如下命令測試kuboard啟動是否成功:

curl 127.0.0.2:80

這里的127.0.0.2就是我們前面配置的內網ip,如果啟動正常,應該會返回這樣的內容:

這時候如果你curl 127.0.0.1:80也是可以正常返回的,而且返回內容和上面的是一樣的:

到這里kuboard就啟動成功了,這時候我們就可以在windows的瀏覽器中通過127.0.0.1:80訪問kuboard

默認的登錄信息如下:

  • 用戶名: admin
  • 密 碼: Kuboard123

第一次訪問因為我們還沒有添加k8s集群信息,控制台是沒有任何數據展示的,所以我們要先添加k8s集群

添加k8s配置

點擊添加集群,然后填入集群信息,點擊確認:

然后復制下面的命令,先復制第一行:

k8s集群的集群上執行:

curl -k 'http://127.0.0.2:80/kuboard-api/cluster/wsl-k8s/kind/KubernetesCluster/wsl-k8s/resource/installAgentToKubernetes?token=BpLnfgDsc2WD8F2qNfHK5a84jjJkwzDk' > kuboard-agent.yaml

這里其實就是生成了一個探針文件,然后我們需要把這個探針文件導入到k8s中,在導入之前我們需要先修改下這個yaml文件:

vim kuboard-agent.yaml

在文件中找到KUBOARD_ENDPOINTKUBORAD_AGENT_HOST,把下面的value中的ip改成我們wsldocker的地址,具體如何獲取,后面有說明。

KUBOARD_ENDPOINTKUBORAD_AGENT_HOST有兩處,都要修改,否則在創建探針服務的時候會報錯,創建探針服務的命令如下,也就是頁面上的第二行命令:

kubectl apply -f kuboard-agent.yaml

如果不修改上面的地址,回報下面的錯,也就是獲取TOKEN的時候,地址訪問不到:

為什么要改成docker的地址,因為我們的kuboard部署在dokcer環境下,下面我們看下如何查看wsl環境下dockerip地址。

查看wsl的docker內網ip

因為wsl默認是不支持ifconfig命令的,我們可以使用下面的命令看下linux主機的ip:

ip addr

在顯示結果中,找到docker0網卡,其中的ip地址就是我們需要的ip,如下圖,我的docker ip172.18.0.1

然后把kuboard-agent.yaml修改后,重新執行創建命令:

kubectl apply -f kuboard-agent.yaml

再次訪問kuboard,你會發現我們的集群已經導入成功:

這時候,我們在面板的右側選擇管理角色后,就可以進入我們的k8s集群管理中心了:

到這里我們今天的內容就結束了,關於kuboard的使用,我們下次再說。

總結

今天,我們主要分享了如何通過kuboard來管理我們wsl環境下的k8s集群,過程還算順利,之前無法訪問是因為windows的網絡與k8s集群無法通信,所以我們無法通過瀏覽器直接訪問k8s中的應用,現在我們把kuboard部署在docker中,這個問題自然而然就解決了。至於網絡無法互通的問題,我打算通過nginx來解決,這塊的問題一定要解決,否則我們只能通過代理的方式來訪問,但問題是有些服務還不支持代理訪問,比如kuboard,這兩天有時間先試下,如果搞定了,到時候再來分享。

kuboard作為一款k8s管理工具,單從UI層面來說,已經比官方提供的board優秀了很多,當然主要是kuboard本身就很優秀,截至到目前,這個項目github已經有10K+start,有興趣的小伙伴可以自己先去了解下,我們后面再將kuboard的一些基本用法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM