一、环境准备
ubuntu 18.04 amd64 (阿里云ECS)
执行 swapoff -a
二、安装依赖
# 安装docker
sudo apt-get remove docker docker-engine docker.io
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository
"deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu
$(lsb_release -cs)
stable"
sudo apt-get update sudo apt-get install docker-ce
# 添加源
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
vim /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
# 保存后继续执行
sudo apt-get update
# 查看版本
sudo apt-cache policy kubeadm
# 安装
sudo apt-get install kubelet=1.20.1-00 kubeadm=1.20.1-00 kubectl=1.20.1-00
三、创建集群
# 查看版本号
kubeadm version
# 集群初始化
kubeadm init --kubernetes-version=v1.20.1 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16
# 安装成功后根据提示操作
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
# 确认节点状态,如果是Ready一切正常
kubectl get node
# 确认系统pod状态,此时还没有CNI插件
kubectl get pods -n kube-system
# 允许master节点部署pod,可不执行
kubectl taint nodes --all node-role.kubernetes.io/master-
四、安装CNI插件
# 这里我用的flannel,需要从github拉一个配置文件,我直接copy了,仅适用v1.7.0+版本的集群
# 配置文件中已经做了rbac
# flannel地址 https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f flannel.yaml
# yaml文件内容