查看centos版本 (本地部署 )
cat /etc/centos-release
准备三台电脑:
k8s-master 主机 k8s-node1 node节点 k8s-node1 node节点
1.1 设置系统主机名及Host 文件
sudo cat << EOF >> /etc/hosts
192.168.255.141 k8s-node1
192.168.255.142 k8s-node2
192.168.255.140 k8s-master
EOF
(如果有执行错误 可 vi /etc/hosts )
根据对应的节点执行一下命令 (hostname可查看节点名称)
sudo hostnamectl set-hostname k8s-master
sudo hostnamectl set-hostname k8s-node2
sudo hostnamectl set-hostname k8s-node1
1.2 更新yum
(更改了主机名或 IP 地址,那么系统缓存中的映射信息就会变得无效,为确保系统能够正确地解析主机名和 IP 地址的映射关系,你需要更新系统缓存。)
# 需要更新很久
sudo yum update -y
#设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#这里添加的是 Docker 针对 CentOS 的软件源地址,添加后就可以从这个源中安装 Docker 相关的软件包,比如 docker-ce
如若无法设置存储库,可更换为(sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo)
1.3 相关设置
禁用iptables和firewalld服务
systemctl stop firewalld
systemctl disable firewalld
systemctl stop iptables
systemctl disable iptables
#避免防火墙对某些网络相关操作产生不必要的阻碍,尤其是在一些特定的部署场景中
禁用selinux
(SELinux是一种强制访问控制(MAC)安全机制,用于保护 Linux 操作系统和应用程序免受恶意攻击以及未经授权的访问)
# 永久关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config
# 临时关闭
setenforce 0
禁用swap分区
立即关闭系统中所有的交换空间
vim /etc/fstab
将行 注释
/dev/mapper/xxx swap xxx
调整 K8S内核参数
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
重新加载内核参数
sysctl -p
modprobe br_netfilter
lsmod | grep br_netfilter
配置 ipvs 功能
# 安装ipset和ipvsadm
yum install ipset ipvsadmin -y
# 添加需要加载的模块写入脚本文件
cat <<EOF > /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
EOF
# 添加权限
chmod +x /etc/sysconfig/modules/ipvs.modules
# 执行脚本文件
/bin/bash /etc/sysconfig/modules/ipvs.modules
# 查看是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
重启虚拟机 reboot
2 安装docker和cri-dockerd(三台电脑一起执行)
2.1安装docker