将镜像包上传至服务器每个节点

mkdir /usr/local/k8s-install
cd /usr/local/k8s-install
XFTP上传安装文件

每个CentOS上安装Docker

使用docker镜像安装方式

tar -zxvf docker-ce-18.09.tar.gz
cd docker 
yum localinstall -y *.rpm
systemctl start docker
systemctl enable docker

确保从cgroups均在同一个从groupfs

  • cgroups是control groups的简称,它为Linux内核提供了一种任务聚集和划分的机制,通过一组参数集合将一些任务组织成一个或多个子系统。
  • cgroups是实现IaaS虚拟化(kvm、lxc等),PaaS容器沙箱(Docker等)的资源管理控制部分的底层基础。
  • 子系统是根据cgroup对任务的划分功能将任务按照一种指定的属性划分成的一个组,主要用来实现资源的控制。
  • 在cgroup中,划分成的任务组以层次结构的形式组织,多个子系统形成一个数据结构中类似多根树的结构。cgroup包含了多个孤立的子系统,每一个子系统代表单一的资源
docker info | grep cgroup 

K8S集群搭建:安装kubeadm集群部署工具_k8s
如果不是groupfs,执行下列语句

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

安装kubeadm

kubeadm是集群部署工具。这次是镜像安装的方式安装kubeadm

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

关闭交换区

Linux的交换区类似于win的虚拟内存,使用磁盘来模拟内存。

swapoff -a
vi /etc/fstab 
#swap一行注释

K8S集群搭建:安装kubeadm集群部署工具_k8s_02

配置网桥

让容器间的网络通信也遵循iptables协议

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

cd /usr/local/k8s-install/kubernetes-1.14
docker load -i k8s-114-images.tar.gz #k8s核心组件
docker load -i flannel-dashboard.tar.gz #可视化仪表盘

K8S集群搭建:安装kubeadm集群部署工具_k8s_03
完整的k8s组件如下所示:
K8S集群搭建:安装kubeadm集群部署工具_k8s_04