K3s集群部署

萱蘇的運維日常 2024-03-19 15:44:37
什麽是K3s?

K3s 是一個完全兼容的 Kubernetes 發行版,簡單來說,K3s就是一個輕量版的k8s.

節點配置

節點ipCIRD配置信息

需要保證兩個節點能夠內網互通,由于兩個節點處于不同vpc,故已使用對等連接讓兩個服務器內網互通

部署K3S集群環境准備

1. 配置host(重啓生效)

2. 關閉selinux

3. 安裝工具

yum -y install curl

部署k3s-main

執腳本curl -sfL https://get.k3s.io | sh -國內用戶使用以下命令加速訪問curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

注:K3s 服務將被配置爲在節點重啓後或進程崩潰或被殺死時自動重啓。

將安裝其他實用程序,包括 kubectl、crictl、ctr、k3s-killall.sh 和 k3s-uninstall.sh。

kubeconfig 文件將寫入到 /etc/rancher/k3s/k3s.yaml,由 K3s 安裝的 kubectl 將自動使用該文件。

部署k3s-node

執行腳本curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -國內用戶使用以下命令加速訪問curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -

注:K3S_URL 參數會導致安裝程序將 K3s 配置爲 Agent 而不是 Server。K3s Agent 將注冊到在 URL 上監聽的 K3s Server。

K3S_TOKEN 使用的值存儲在 Server 節點上的 /var/lib/rancher/k3s/server/node-token 中。

出現該頁面表示node節點已接入main

相關配置

1. 設置開機自啓

# 主(從)節點設置開機自啓systemctl enable k3s(k3s-agent)# 查看k3s狀態systemctl status k3s(k3s-agent)

出現該頁面表示服務已配置開機重啓(enabled)

配置kubectl配置文件

# 創建.kube文件夾,並將/etc/rancher/k3s/k3s.yaml複制到~/.kube/config# main節點mkdir ~/.kubecp /etc/rancher/k3s/k3s.yaml ~/.kube/config# node節點mkdir ~/.kubescp root@192.168.0.200:/etc/rancher/k3s/k3s.yaml ~/.kube/configsed -i s'/127.0.0.1/192.168.0.200/' ~/.kube/config

執行kubectl get node 出現如下結果表示k3s集群已搭建成功

Dashboard 部署

已經部署好了k3s集群,已經可以進行應用的交付,但是直接在集群內不是很方便而且監控也不是很方便,可以使用dashboard對集群進行監控和管理。

安裝dashboard

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

kubectl apply -f recommended.yaml

配置外網訪問

執行命令 kubectl -n kubernetes-dashboard edit service kubernetes-dashboard 修改配置文件,將service類型改成nodeport

執行 kubectl get service -n kubernetes-dashboard 查看端口號

准備 dashboard.admin-user.yml 和 dashboard.admin-user-role.yml

執行kubectl create -f dashboard.admin-user.yml -f dashboard.admin-user-role.yml

執行 kubectl -n kubernetes-dashboard create token admin-user獲取臨時訪問令牌

若要獲得永久token可以參考這個:dashboard/docs/user/access-control/creating-sample-user.md at master · kubernetes/dashboard · GitHub

在浏覽器進行訪問,訪問形式https://main_ip:nodeport

谷歌浏覽器會出現這個頁面時,鼠標點擊空白地方,直接盲打 thisunsafe

火狐出現的頁面,直接繼續訪問

之後就出現登錄頁面

輸入剛剛獲取的token即可進入管理頁面,對集群進行管理

Kuboard 部署

個人感覺dashboard不是很好用,故使用kuboard進行集群的訪問及監控

安裝kuboard

sudo docker run -d \  --restart=unless-stopped \  --name=kuboard \  -p 8088: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

# 也可以使用鏡像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成鏡像下載。  # 請不要使用 127.0.0.1 或者 localhost 作爲內網 IP \  # Kuboard 不需要和 K8S 在同一個網段,Kuboard Agent 甚至可以通過代理訪問 Kuboard Server \

訪問kuboard

在浏覽器訪問:http://node_ip:port ,默認用戶名和密碼如下

用戶名: admin

密 碼: Kuboard123

參考文檔:

快速入門指南 | K3s

Kuboard_Kubernetes教程K8S安裝管理界面

部署和訪問 Kubernetes 儀表板(Dashboard) | Kubernetes

dashboard/docs/user/access-control/creating-sample-user.md at master · kubernetes/dashboard · GitHub

歡迎各位夥伴在評論、留言指出不足之處。

聯系方式:mr_xuansu@163.com

更多內容請關注微信公衆號:萱蘇的運維日常

0 阅读:1