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 <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。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐