准备工作:
1.创建kubernetes的source文件
说明:
cURl:是一个利用URL语法在命令行下工作的文件传输工具,它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl
apt-key:apt秘钥管理,添加秘钥(apt-key add - )
tee:将输入的数据写入到文件
(1)添加k8s的apt秘钥
方法1:下载谷歌提供的Ubuntu/Debian安装源的gpg公钥, 网址如下, 需要翻(科学上网)墙
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg
方法2:使用国内安装源(例如:阿里云等),此处采用本方法安装不需要翻墙
sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
方法3:直接https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg网址下载到本地
然后运行apt-key命令安装刚才下载的gpg文件
cat apt-key.gpg | sudo apt-key add -
打印OK,说明秘钥更新成功
(2)添加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"必须翻墙, 不方便
(3)下载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