将镜像包上传至服务器每个节点
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
如果不是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一行注释
配置网桥
让容器间的网络通信也遵循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组件如下所示: