Bootstrap

部署k8s集群(亲测,超详细)

环境说明

主机名 IP地址 角色 系统

master 192.168.9.129 k8s-master Centos7.9

node1 192.168.9.130 k8s-node Centos7.9

node2 192.168.9.131 k8s-node Centos7.9

 注意:官方建议每台机器至少2G内存、2个CPU,同时需确保MAC和product_uuid唯一(参考下面的命令查看)

#ip link #cat /sys/class/dmi/id/product_uuid

一、环境配置

以下步骤在三台主机上均需进行操作

1、配置静态IP,防止下次重启机器dhcp分配其他ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33,添加:

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.9.130

NETMASK=255.255.255.0

GATEWAY=192.168.9.2

HWADDR=00:0c:29:cb:8b:51 #MAC码,可用IP addr 命令查看

重启网卡,systemctl restart network

2、配置hosts

cat >> /etc/hosts

192.168.9.129 master

192.168.9.130 node1

192.168.9.130 node2

设置主机名,三台分别执行:

hostnamectl set-hostname master

hostnamectl set-hostname node1

hostnamectl set-hostname node2

重启同步系统时间(保证多台服务的时间一致)

systemctl restart chronyd

3、设置阿里云yum源(可选)

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

rm -rf /var/cache/yum && yum makecache && yum -y update && yum -y autoremove

# 注意: 网络条件不好,可以不用 update

4、安装必要的软件

yum install -y net-tools.x86_64 vim wget

安装依赖包

yum install -y epel-release conntrack ipvsadm ipset jq sysstat curl iptables libseccomp

5、关闭防火墙

systemctl disable firewalld

systemctl stop firewalld

iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT

6、禁用SELinux,让容器可以顺利地读取主机文件系统

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

7、关闭swap分区,如果启用了swap,那么kubelet就无法启动

swapoff -a

sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

查看内存是否关闭

free -m

PS:默认情况下,kubelet不允许所在的主机存在交换分区,后期规划的时候,可以考虑在系统安装的时候不创建交换分区,针对已经存在交换分区的可以设置忽略禁止使用swap的限制,不然无法启动kubelet。一般直接禁用swap就可以了,不需要执行此步骤。

vim /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

8、加载内核模块

cat > /etc/sysconfig/modules/ipvs.modules

#!/bin/bash

modprobe -- ip_vs

modprobe -- ip_vs_rr

modprobe -- ip_vs_wrr

modprobe -- ip_vs_sh

modprobe -- nf_conntrack_ipv4

modprobe -- br_netfilter

EOF

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconf

;