目錄
1.前提條件
2.安裝Kind
3.使用Kind創(chuàng)建一個(gè)K8s集群
3.1.創(chuàng)建一個(gè)雙節(jié)點(diǎn)集群(一個(gè)Master節(jié)點(diǎn),一個(gè)Worker節(jié)點(diǎn))
3.2.驗(yàn)證一下新創(chuàng)建的集群信息
?3.3.刪除剛剛新建的集群
?4.安裝集群客戶(hù)端
?4.1.安裝kubectl
4.1.1.驗(yàn)證kubectl
4.2.安裝Lens
4.2.1.下載最新Lens安裝包
4.2.2.打開(kāi)Lens
4.參考文章
1.前提條件
本地環(huán)境需要的系統(tǒng)和軟件,win10系統(tǒng)推薦這種方式
- win10 + WSL2 + Ubuntu(截止202308最新版本是20.04.xx) +Docker(Docker Desktop是兼容WSL2的)
其中,部分公司或者個(gè)人處于各種原因不會(huì)安裝Docker Desktop,那么直接建議使用安裝Distrod用以替換。


????????若是一直使用Linux統(tǒng)開(kāi)發(fā),則直接安裝Docker即可以使用了
- Linux + Docker
2.安裝Kind
# 在本地路徑下創(chuàng)建文件夾kind
mkdir -p kind
# 將Kind的二進(jìn)制文件下載到本地
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.12.0/kind-linux-amd64
# 授權(quán)給當(dāng)前用戶(hù)執(zhí)行權(quán)限
chmod +x ./kind
# 將可執(zhí)行文件移動(dòng)到路徑/usr/bin/下(該路徑下的二進(jìn)制文件是全局可執(zhí)行的)
mv ./kind /usr/bin/kind
?????????安裝好之后,可以立刻驗(yàn)證一下版本

????????整個(gè)安裝過(guò)程比較簡(jiǎn)單,也有很多可以參考的博客文章,可能需要注意的是操作用戶(hù)的權(quán)限問(wèn)題,注意使用命令:
# 使用root用戶(hù)執(zhí)行命令
sudo ${command}
# 切換用戶(hù)
su - ${username}
# 對(duì)某個(gè)二進(jìn)制文件授權(quán)
chmod u+x+r+r ${executable_binary_file}
# 修改某個(gè)文件的歸屬權(quán)限
chown -R ${file}
3.使用Kind創(chuàng)建一個(gè)K8s集群
3.1.創(chuàng)建一個(gè)雙節(jié)點(diǎn)集群(一個(gè)Master節(jié)點(diǎn),一個(gè)Worker節(jié)點(diǎn))
????????為何是雙節(jié)點(diǎn)?因?yàn)檎5募憾际嵌喙?jié)點(diǎn)的,但是本地開(kāi)發(fā)環(huán)境的資源可能比較有限,節(jié)點(diǎn)多了,本地電腦就會(huì)變卡,2個(gè)節(jié)點(diǎn)是比較實(shí)際的,可以體驗(yàn)多節(jié)點(diǎn)的特性,又可以最大程度節(jié)約資源
# 創(chuàng)建集群配置文件,1個(gè)master node,1個(gè)worker node。
cat << EOF > kind-clusters-mutil-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
EOF
# start to create cluster
kind create cluster --name k8s-local-dev --config ./kind-clusters-mutil-config.yaml
3.2.驗(yàn)證一下新創(chuàng)建的集群信息

????????其中,在Docker Desktop中,也可以看到兩個(gè)集群節(jié)點(diǎn)的容器。?

?????????從這里也能看到,為什么我推薦使用Kind,因?yàn)閗ind創(chuàng)建的集群也是鏡像式的,如果使用其他的,例如Docker Desktop自帶的Dev environment或者K3s或者minkube,都是很多image下載下來(lái),然后啟動(dòng)一堆容器,刪除集群的時(shí)候就很麻煩,當(dāng)然,這是我的一家之言,對(duì)于這一點(diǎn),其實(shí)也有人專(zhuān)門(mén)寫(xiě)文章分析這幾個(gè)的利弊。
?3.3.刪除剛剛新建的集群
# 查詢(xún)剛剛新建的集群名
kind get clusters
# 根據(jù)集群名稱(chēng)刪除集群
kind delete cluster --name k8s-local-dev

?4.安裝集群客戶(hù)端
?4.1.安裝kubectl
# 下載最新版本的kubectl命令二進(jìn)制文件
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# 授權(quán)二進(jìn)制文件已執(zhí)行權(quán)限(如果是root用戶(hù)操作,可以不用sudo)
sudo chmod 777 ./kubectl
# 將kubectl命令移動(dòng)到/usr/local/bin目錄下(這樣就可以全局執(zhí)行了)
mv ./kubectl /usr/local/bin/
官方文檔中,非常全面,但是我這里簡(jiǎn)化一下,只針對(duì)我本地Unbuntu系統(tǒng)設(shè)置
4.1.1.驗(yàn)證kubectl

?查看新集群的信息
# 查看kubectl版本信息
kubectl version
# 查看當(dāng)前版本
kubectl cluster-info
# 查看集群信息
kubectl config get-clusters
# 查看當(dāng)前context
kubectl config get-contexts
# 查看當(dāng)前context
kubectl config current-context

????????這里涉及的內(nèi)容需要理解k8s的訪(fǎng)問(wèn)權(quán)限設(shè)置,分為user(credentials)、cluster、context如何配置,起到什么作用,我之前也寫(xiě)過(guò)一篇如何配置kubectl訪(fǎng)問(wèn)集群的文章(點(diǎn)擊傳送)
? ? ? ? 其中,這個(gè)配置可以通過(guò)以下命令查看
# 查看kubectl訪(fǎng)問(wèn)k8s集群的配置
kubectl config view
????????這是一個(gè)配置文件,可以直接打開(kāi)文件進(jìn)行修改
cat ~/.kube/config
4.2.安裝Lens
????????Lens是其中比較推薦的可視化k8s客戶(hù)端工具之一,開(kāi)始是完全免費(fèi)的,之后分了收費(fèi)版本,變得有點(diǎn)無(wú)語(yǔ),不過(guò)仍舊是比較推薦的工具,畢竟可視化界面操作非常方便,只要選擇personal版本就可以了
4.2.1.下載最新Lens安裝包
也可以自行選擇版本,看自己需要

?選擇Personal版本的,必然會(huì)跳到付費(fèi)界面,一直卡住,自行研究一下即可,不贅述。
4.2.2.打開(kāi)Lens

?????????第一次安裝的話(huà),會(huì)直接從path:~/.kube/config中復(fù)制放到用戶(hù)目錄下,所謂的用戶(hù)目錄可以在上圖的settings中找到。

?????????這個(gè)配置和kubectl的配置一樣的,如果cluster信息變更后,Lens的配置可能沒(méi)有更新,可以直接從kubectl的kubeconfig中copy到對(duì)應(yīng)的目錄下。否則會(huì)出現(xiàn)如下情況:

4.參考文章
kind
Kind創(chuàng)建單、多集群 – Jason Tan's blog
https://www.cnblogs.com/yakniu/p/16435276.html
Lens download portal | The Kubernetes IDE
在 Linux 系統(tǒng)中安裝并設(shè)置 kubectl | Kubernetes文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-677707.html
Minikube vs. kind vs. k3s vs k3d vs MicroK8s_ghostwritten的博客-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-677707.html
到了這里,關(guān)于使用Kind搭建本地k8s集群環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!