本文介绍如何在centos 8.0上部署k8s集群,大致可以分为如下几个步骤:
- 机器准备
- 系统初始配置
- 添加国内镜像源
- 软件安装、配置
- 使用kubeadm部署kubernetes
- 安装flannel网络
一、机器准备
本次试验准备的机器如下,需要注意的是k8s 要求 CPU 最低为 2 核,否则部署过程过程中会报错,虽然可以使用"–ignore-preflight-errors=…"参数忽视,但是这里不建议使用低于2CPU的配置部署k8s
二、系统初始配置
1、关闭swap:
kubernetes的想法是将实例紧密包装到尽可能接近100%。 所有的部署应该与CPU /内存限制固定在一起。 所以如果调度程序发送一个pod到一台机器,它不应该使用交换。 设计者不想交换,因为它会减慢速度,所以关闭swap主要是为了性能考虑,当然为了一些节省资源的场景,比如运行容器数量较多,可添加kubelet参数 --fail-swap-on=false来解决。
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
2、关闭所有防火墙
systemctl stop firewalld
systemctl disable firewalld
3、禁用SELINUX
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
4、将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
5、kube-proxy开启ipvs的前置配置
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
三、添加国内镜像源
1、备份默认源文件
cd /etc/yum.repos.d/
mkdir save
mv * save
2、添加centos8镜像源
curl http://mirrors.aliyun.com/repo/Centos-8.repo