Ubuntu22.04 安裝單機版kubernetes

2023-05-27 09:00:38

前言

上期講到要實現.net 6框架下的EF Core運算元據庫基本增刪改查,沒有及時兌現。沒有兌現的原因就是因為安裝kubernetes。安裝kubernetes的過程是災難性的,也是十分順利的。災難性是因為在安裝kubernetes過程中誤操作,在/etc下執行了一個重置的命令導致我的工作站系統崩塌了。索性直接將原來的Ubuntu-Desktop22.04版的系統(對硬體有一定的要求,所以有點卡),換成了Ubuntu-server22.04系統。這個過程中用到了一個製作u啟動的工具---ventoy。關於ventoy的介紹請看我的另一篇文章製作啟動U盤工具---ventoy。十分順利就是一次成功。閒言少敘,請看正文。

基礎環境

系統(版本)
Ubuntu-server 22.04

安裝kubectl,用來操作k8s

官網提供三種在 Linux 系統中安裝 kubectl 的方法:
1、用 curl 在 Linux 系統中安裝 kubectl
2、用原生包管理工具安裝
3、用其他包管理工具安裝
官網地址:https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/
我們選用第一種方法:
先檢視電腦系統型號是arm64還是x86的uname -m

# 下載最新發行版
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# 驗證該可執行檔案(可選步驟)
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check
# 驗證通過時,輸出為:
kubectl: OK
# 驗證失敗時,sha256 將以非零值退出,並列印如下輸出:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
# 安裝 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

安裝docker,用作k8s啟動驅動

# 安裝docker
sudo apt-get install -y docker.io
# 啟動docker(預設啟動)
systemctl start docker
# 設定為開機自啟動(預設)
systemctl enable docker

docker執行需要用非root使用者,否則會報錯。
1、新增docker使用者組:sudo groupadd docker
執行以上命令會提示已存在,原因是在安裝docker時已自動建立。
2、將指定使用者新增到使用者組(username為你的使用者名稱):sudo gpasswd -a username docker
3、新增完成以後需要關閉當前視窗,重新啟動docker
3、重啟docker:sudo systemctl restart docker
5、更新使用者組:newgrp docker

安裝k8s,單機版的就是minikube

下載安裝

官網地址:https://minikube.sigs.k8s.io/docs/start/

我的系統是Ubuntu,屬於Debian系的。安裝的時候根據自己的系統選擇。

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb

指定啟動驅動

minikube config set driver docker

啟動

minikube start


這個過程有點慢,因為需要下載東西。到圖片的最後,說明啟動成功,但是現在只能通過127.0.0.1在伺服器的預設瀏覽器檢視。我的是server版的,沒有瀏覽器,需要從外網檢視的。還需要再設定一步。

# 192.168.11.82 為你伺服器本機地址。port根據自己的系統設定,只要不衝突就好。
kubectl proxy --port=8001 --address='192.168.11.82' --accept-hosts='^.*' &

通過 url: http://192.168.11.82:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/ 存取 dashboard。

最終效果圖。
我的安裝比較順利,一次性搞定。這裡不提供任何錯誤的參考資訊,如果遇到解決不了的錯誤,可以發在評論區,我來幫大家解答。