準備工作:
(1)關閉swap
sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo update-rc.d dphys-swapfile remove
這個步驟是爲了後面的 kubeadm init 成功執行!具體的緣由可以參考我之前的文章:https://www.41sh.cn/?id=8
爲了檢測是否成功關閉,可以執行下面的命令,如果成功執行了,那麼下面的命令將不會有任何的輸出。
$ sudo swapon --summary
(2)編輯 /boot/cmdline.txt
打開 /boot/cmdline.txt,並在末尾添加如下指令。
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
該步驟執行完成後,一定要重啓!否則後面會有錯誤。
1.創建kubernetes的source文件
(1)方法1:下載谷歌提供的Ubuntu/Debian安裝源的gpg公鑰, 網址如下, 需要翻(科學上網)牆
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg
(2)方法2:使用國內安裝源(例如:阿里雲等),此處採用本方法安裝不需要翻牆
sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg
(3)運行apt-key命令安裝剛纔下載的gpg文件
cat apt-key.gpg | sudo apt-key add -
OK
(4)添加Ubuntu source.list
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 備註: 國外的源是"deb http://apt.kubernetes.io/ kubernetes-xenial main"必須翻牆, 不方便
(5)下載kubernetes源:
sudo apt-get update
2. 安裝kubeadm、kubelet、kubectl
(1)查看可用軟件版本:
root@raspberrypi:/home/pi# apt-cache madison kubeadm
kubeadm | 1.15.0-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
kubeadm | 1.14.3-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
kubeadm | 1.14.2-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
kubeadm | 1.14.1-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
kubeadm | 1.14.0-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
kubeadm | 1.13.7-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
kubeadm | 1.13.6-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main armhf Packages
(2)安裝指定版本:
sudo apt-get install -y kubelet=1.12.0-00 kubeadm=1.12.0-00 kubectl=1.12.0-00
apt-mark hold爲設置相應資源不自動更新,此處不執行
#sudo apt-mark hold kubelet=1.12.0-00 kubeadm=1.12.0-00 kubectl=1.12.0-00
(3)如果不加版本號,默認安裝最新版本
sudo apt-get install -y kubelet kubeadm kubectl
apt-mark hold爲設置相應資源不自動更新,此處不執行
sudo apt-mark hold kubelet kubeadm kubectl
(4)設置開機自啓動並運行kubelet:
sudo systemctl enable kubelet && sudo systemctl start kubelet
備註:
此時kubelet的服務運行狀態是異常的(因爲缺少主配置文件kubelet.conf等,可以暫不處理,因爲在完成Master節點的初始化後纔會生成這個配置文件)
本章節參考: https://kubernetes.io/docs/setup/independent/install-kubeadm/
---------------------
參考:
https://blog.csdn.net/liukuan73/article/details/83150473