見習鯨魚這麼可愛不養一隻嗎?
Kubernetes 有不同發行版?!
相信各位都有聽過不同 雲端平台,他們都有自己一套 Kubernetes 例如:GKE, EKS, AKS, ...
(如果有$$使用公有雲可以減少很多踩雷時間,但我手上就只有機器沒有$$啊~)
那想 自架 Kubernetes 又有哪些選擇呢? kubeadm, minikube, microk8s, k3s, k0s, kind, ...
我因為初期看官方教學,就直接跳進了 kubeadm ~
我會以指令方式詳列各步驟,畢竟已經迷航重來好幾次了~
註:我的 OS 版本 Ubuntu 20.04.3 LTS
使用指令查看 swap 使用情況
cat /proc/swaps
Filename Type Size Used Priority
/swap.img file 2097148 524 -2
我目前有使用的 swap Filename 為 swap.img
,使用指令 swapoff -a
全部禁用
sudo swapoff -a
再檢查 /etc/fstab
設定,將 swap 相關檔案都註解掉,如最後一行 /swap.img
sudo vim /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation
/dev/disk/by-id/dm-uuid-LVM-XH3TxkEq3UeM0spGhibGchhEqdgSnnx8207HHO9eSyLmXbn15h5YQhuYVh3D2gaO / ext4 defaults 0 1
# /boot was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/c9397354-f4db-4d0d-afc2-6b71be28cc6e /boot ext4 defaults 0 1
# /swap.img none swap sw 0 0
改完之後記得重啟機器!
sudo reboot
檢查 port 有無被佔用
nc -v 127.0.0.1 6443
nc: connect to 127.0.0.1 port 6443 (tcp) failed: Connection refused
Connection refused 代表沒有被佔用是 正常 的哦!恭喜可以跳到下一步驟~
相反的,如果是 succeeded 代表有其他服務正在使用...
Connection to 127.0.0.1 6443 port [tcp/*] succeeded!
可以使用 netstat
查看是誰在用,如果沒有裝 netstat
可改用 lsof
sudo netstat -tulpn | grep :6443
sudo lsof -i -P -n | grep :6443
如果你看到的是 kube-apiser
你應該是重裝齁~可以參考之後的篇章,來看看關於 重新安裝 遇到的各種問題...
如果確認是不需要的東東可以用 sudo kill <PID>
砍掉
Kubernetes 有支援不同 container runtime,不用思考當然要選擇可愛鯨魚 Docker 吧!
先說一下,如果你是用 snap 安裝 Docker 的...先砍了吧~
(如果你想知道我遇到什麼神奇現象可以看看之後的內容)
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
我安裝的版本為 20.10.18
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
啟用!召喚可愛鯨魚~
sudo service docker start
可使用 sudo docker info
檢查目前可愛鯨魚的狀態
因為 Ubuntu 預設不使用 root 登入,將自己加入 Docker group 即可使用 docker
指令
sudo groupadd docker
sudo usermod -aG docker $USER
加入後記得重新登入,group 在下次登入才會生效,可以使用 groups
檢查是否加入
(如果用 sudo groups $USER
有看到,但 groups
看不到可以直接重啟 server 看看... sudo reboot
)
成功後可直接執行 docker info
有沒有覺得更貼近可愛鯨魚了呢~
今天先安裝了 Docker 的部分,明天繼續安裝 Kubernetes 的部分吧~