由于关于Kubernetes的书本教程都是基于Centos7的,有部分安装步骤可能会不一样。
注意:由于Docker、Kubernetes之间的版本要求比较严格,如果版本不一致会导致安装失败,或者无效所以版本依赖之间要求比较严格,本文章使用的Docker版本为19.03,Kubernetes的版本为1.19.0
根据官方推荐,开启响应端口号
关闭Swap
sudo swapoff -a
更改crou驱动,Kubernetes的默认驱动设置为systemd,而Docker为crounfs,需要把Docker的驱动改为systemd
vim /etc/docker/damemon.json
往damemon.json添加配置:"exec-opts": [ "native.cgroupdriver=systemd" ]
如果docker之前没有添加过阿里云的镜像地址需要添加,详细的damemon.json内容如下:
{
"registry-mirrors" : [
"https://mirror.ccs.tencentyun.com",
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://xjuddlv8.mirror.aliyuncs.com"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"exec-opts": [ "native.cgroupdriver=systemd" ],
"debug" : true,
"experimental" : true
}
安装kubeadm工具
sudo apt update && sudo apt install -y apt-transport-https
添加阿里云公钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
由于Kubernates的镜像很多都需要墙的,所以这里使用阿里云镜像,否则不墙的话一定超时报错。
添加阿里云的镜像地址
vim /etc/apt/sources.list.d/kubernetes.list
往kubernetes.list的文件里面写入以下内容(注意并不是执行命令):
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
更新package库,然后下载Kubernetes相关包
sudo apt update
apt-get install -y kubelet=1.19.0-00 kubeadm=1.19.0-00 kubectl=1.19.0-00
注意这里,“=”后面的是版本号(可选),不选默认最新版本,如果和Docker容器版本不一致的话,会安装失败,由于本文章使用的是Docker-19.03版本,对应Kubernetes的1.19.0版本。
查看Kubernetes版本
kubelet --version
初始化Master节点,并且Clico CNI网络插件
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --image-repository registry.aliyuncs.com/google_containers
当出现“Your Kubernetes control-plane has initialized successfully!”的提示,就说明Master节点(控制平面)已经安装成功了,然后记得保存下方的:kubeadm join …等命令,该命令是添加工作节点需要用到的命令。
根据安装成功的提示,赋予普通用户权限
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装Pod Network插件
kubectl apply -f https://docs.projectcalico.org/v3.10/manifests/calico.yaml
查看插件的安装情况
kubectl get pods --all-namespaces
当所有的STATUS为Running的时候,则表示安装成功。
至此,Kubernetes的Master节点部署完成。