一、最终要达成的目标

笔者这里准备用K8S搭建一个小型集群,其中包括一个master节点和两个node节点。

 

二、解决方案

1、先前的准备工作可见笔者之前的博客《架构整理-Centos 7中离线搭建Kubernetes集群-K8S环境准备

2、分别在master、node1、node2上安装Docker及其依赖

命令:

cd /usr/local/k8s-install/kubernetes-1.14/
tar -zxvf docker-ce-18.09.tar.gz
cd docker
yum localinstall *.rpm

3、安装完成后可查看Docker版本

命令:

docker version

4、分别在master、node1、node2中启动Docker并将Docker设置为开机启动

命令:

systemctl start docker && systemctl enable docker

5、分别在master、node1、node2上查看docker的cgroup驱动,并确保docker的cgroup驱动为cgroupfs

命令:

docker info | grep cgroup

如果Cgroup Driver不为cgroupfs,则执行下面的命令:

cat << EOF > /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=cgroupfs"]
}
EOF
systemctl daemon-reload && systemctl restart docker

6、分别在master、node1、node2上安装kubeadm、kubectl、kubelet及其相关依赖

命令:

cd /usr/local/k8s-install/kubernetes-1.14
tar -zxvf kube114-rpm.tar.gz
cd kube114-rpm
yum localinstall *.rpm
systemctl enable kubelet

7、分别在master、node1、node2上关闭CentOS 7的交换区

命令:

swapoff -a

并且用vim编辑/etc/fstab文件,注释掉/dev/mapper/centos-swap swap swap defaults 0 0这一行

8、分别在master、node1、node2上启用k8s的网桥

命令:

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

在这里笔者遇到一个坑,注意K8S节点的主机中网络必须选择DHCP

9、分别在master、node1、node2中的docker上导入k8s和dashboard镜像

命令:

docker load -i k8s-114-images.tar.gz
docker load -i flannel-dashboard.tar.gz

10、查看各节点的docker中是否有9个镜像

命令:

docker images

 

Logo

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

更多推荐