1. 首先在阿里云上创建一个ECS,我创建的是2C8G的,Centos 7
2. 顺序执行这些命令,做一些准备工作。这些命令在master节点和node节点上都需要做。
1. 初始化操作 #关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭selinux sed -i 's/enforcing/disabled/' /etc/selinux/config #永久 setenforce 0 #临时 # 关闭swap swapoff -a #临时 sed -ri 's/.*swap.*/#&/' /etc/fstab #永久 #根据规划 设置主机 hostnamectl set-hostname# 在master添加hosts, 只有Master需要添加,IP根据自己的实际情况进行更改 cat >> /etc/hosts << EOF 8.130.11.212 master 8.130.8.35 node1 8.130.16.231 node2 EOF # 讲桥接的IPv4流量传递到iptables的链 cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables #时间同步 yum install ntpdate -y ntpdate time.windows.com
3. 接下来安装docker
# 更新yum
yum update
# 配置docker镜像
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum -y install docker-ce
# 此时 docker只启动了客户端,如果需要同时启动docker server端,需要执行下面的命令
systemctl start docker #docker的守护进程
# 设置开机自启动
systemctl enable docker
# 设置docker镜像 此处的镜像应换成阿里云的镜像加速器的地址。
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors":["https://******.mirror.aliyuncs.com"]
}
systemctl restart docker
4. 安装 Kubernetes
# 添加阿里云YUM软件源 cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 EOF yum check-update # 安装Kubeadm, kubelet和kubectl yum -y install kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6 systemctl enable kubelet && systemctl start kubelet
注意:安装kubelet/kubeadm/kubectl的时候请指定版本,因为kubernetes image的版本号和kubeadm的版本号一定要匹配。否则接下来的master节点的安装会失败
5. 配置Master节点
kubeadm init --kubernetes-version=v1.20.6 --pod-network-cidr=172.31.0.0/16 --service-cidr=92.168.31.0/24 --ignore-preflight-errors=Swap --image-repository=registry.aliyuncs.com/google_containers mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
此处可能会出现错误,解决方案可以参照kubeadm init初始化k8s集群时报错,[kubelet-check] Initial timeout of 40s passed.
安装成功后,log里面有一个kubeadm join 开头的命令,需要记录下来,以便将来用来配置计算节点。如果不小心弄没了,可以执行以下命令找回:
kubeadm token create --print-join-command
6 配置计算节点
重复上诉1-4步的操作,第4步操作可以省略kubectl的安装
执行kubeadm join 开头的命令,讲计算节点加入到master节点中。其中master节点使用私有IP。



