干掉本地部署!manjaro搭建k8s集群環(huán)境……

前言
最近西安疫情有點(diǎn)嚴(yán)重,現(xiàn)在已經(jīng)是全城管控的局面了,這里向所有奮戰(zhàn)在抗疫一線的醫(yī)務(wù)人員和各位大可愛(ài)和小可愛(ài)們,表達(dá)最衷心的感謝,這么冷的天,依然要堅(jiān)守工作崗位,確實(shí)太不容易了,感謝有你!請(qǐng)一定要保護(hù)好自己哦
!
下面,我們開(kāi)始今天的內(nèi)容。居家辦公最尷尬的一點(diǎn)是,在本地調(diào)試代碼的時(shí)候,本地內(nèi)存根本扛不住,一個(gè)操作卡半天,效率根本起不來(lái),所以為了緩解這種比較尷尬的情況,我想在家里的舊電腦上搭建一套k8s集群,方便開(kāi)發(fā)測(cè)試。廢話不多說(shuō),下面我們直接開(kāi)干!
搭建k8s集群
上次我們其實(shí)已經(jīng)分享過(guò)在wsl環(huán)境構(gòu)建k8s集群的內(nèi)容了,有所不同的是,manjaro是純正的linux環(huán)境,配置過(guò)程要簡(jiǎn)單一點(diǎn)。
更新系統(tǒng)
首先將軟件包更新到最新版本
sudo?pacman?-Syu?

安裝docker
k8s的鏡像管理是要基于docker的,所以要先安裝docker,簡(jiǎn)簡(jiǎn)單單一行命令搞定:
?sudo?pacman?-S?docker

docker配置
這里主要是添加daemon.json文件
sudo?vim?/etc/docker/daemon.json
文件內(nèi)容如下,主要是為了提高我們拉取鏡像的速度:
{
??"registry-mirrors":?["https://docker.mirrors.ustc.edu.cn/",?"https://hub-mirror.c.163.com/",?"https://reg-mirror.qiniu.com"],
??"exec-opts":?["native.cgroupdriver=systemd"],
??"log-driver":?"json-file",
??"log-opts":?{
????"max-size":?"100m"
??},
??"storage-driver":?"overlay2"
}
服務(wù)管理
這里是docker服務(wù)的一些常用操作,不想通過(guò)sudo操作的小伙伴可以自行百度處理。
#?啟動(dòng)?docker
sudo?systemctl?start?docker?
#?重啟?docker
sudo?systemctl?restart?docker?
#?停止?dokcer
sudo?systemctl?stop?docker?
#?查看docker服務(wù)的狀態(tài)
sudo?systemctl?status?docker
#?設(shè)置docker開(kāi)機(jī)啟動(dòng)服務(wù)
sudo?systemctl?enable?docker
安裝kubelet、kubeadm、kubectl
kubelet、kubeadm、kubectl都是k8s的核心組件,特別是kubectl,我們創(chuàng)建服務(wù)、管理服務(wù)都要用到它。
sudo?pacman?-S?kubelet?kubeadm?kubectl

下載安裝kind
kind是一款比較流行的k8s集群管理工具,因?yàn)樯洗挝矣玫乃赃@次依然用它。
首先,我們要下載kind,直接按照官網(wǎng)給的教程開(kāi)始:
#?下載kind
curl?-Lo?./kind?https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
#?添加執(zhí)行權(quán)限
chmod?+x?./kind
#?移動(dòng)到
sudo?mv?./kind?/usr/local/kind
然后kind就安裝完成了,詳細(xì)官方文檔地址如下
https://kind.sigs.k8s.io/
配置鏡像
在ubuntu環(huán)境下可以參考我們之前的內(nèi)容,添加阿里云的鏡像地址,這里我就用最原始的方式操作了。
首先我們創(chuàng)建一個(gè)yaml文件,名稱可以隨便起,我這里叫kind.yaml,填入如下內(nèi)容:
kind:?Cluster
apiVersion:?kind.x-k8s.io/v1alpha4
networking:
??apiServerAddress:?"192.168.0.102"
containerdConfigPatches:
-?|-
??[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
????endpoint?=?["https://tiaudqrq.mirror.aliyuncs.com"]
這里解釋下,apiServerAddress配置的是當(dāng)前機(jī)器的ip,其他的配置可以不用改,endpoint是我們鏡像倉(cāng)庫(kù)的鏡像地址。
創(chuàng)建k8s集群
k8s的常用命令,可以看下之前的內(nèi)容,鏈接我放在文末了。到這里,創(chuàng)建集群就很簡(jiǎn)單了,直接執(zhí)行下面的命令即可:
sudo?./kind?create?cluster?--name?syske-k8s?--config?kind.yaml
這里的kind.yaml就是我們前面創(chuàng)建的文件,然后就是漫長(zhǎng)的等待,如果不出意外,最后會(huì)顯示創(chuàng)建成功,如果一直創(chuàng)建不成功,可以考慮換下倉(cāng)庫(kù)鏡像地址:

我們通過(guò)下面的命令看下節(jié)點(diǎn)信息:
kubectl?cluster-info?--context?kind-wslk8s
顯示信息如下:

然后我們?cè)L問(wèn)如下地址看下
https://127.0.0.1:39879/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

雖然顯示結(jié)果有點(diǎn)問(wèn)題,但是也說(shuō)明集群創(chuàng)建成功,關(guān)于安裝kuboard的操作可以直接看下之前的內(nèi)容,鏈接如下:


結(jié)語(yǔ)
最近一周一直是居家辦公,但是特別想吐槽的是,居家辦公比上班累多了,因?yàn)樵诩肄k公除了辦公還是辦公,一天有開(kāi)不完的會(huì),而且周末還要幫其他項(xiàng)目救火,這就很離譜,所以也正因此,最近好多內(nèi)容都沒(méi)顧得上梳理,多線程這塊的一些內(nèi)容也沒(méi)來(lái)得及總結(jié),只能先放一下。
不過(guò),在搭建k8s的過(guò)程中,順手搭建了harbor平臺(tái),后面得空了分享下,這里簡(jiǎn)單解釋下harbor,它是一個(gè)鏡像的私服開(kāi)源項(xiàng)目,通過(guò)在harbor我們可以構(gòu)建自己的內(nèi)網(wǎng)環(huán)境下的鏡像服務(wù)器,比如公司自己的項(xiàng)目都可以放在上面管理,一方面更安全,另一方面拉取鏡像更快,最后我們先放上harbor的靚照:


