【k8s系列1】一主两从结构的环境准备

环境准备

  1. 虚拟机软件准备及安装,这里就不详细展开了,可以看文章:【一、虚拟机vmware安装】

  2. linux环境准备及下载,下载镜像centOS7.9,以前也有写过这个步骤的文章,可以看:【二、安装centOS】

  3. 开始进入正题

    3.1 安装一台centos虚拟机

    3.1.1 接下来第一步看看虚拟机的样子 :至少2核2G内存40G硬盘3.1.2 首先主机IP地址配置,这样就可以用其他软件shell软件来操作更方便

    文件位置 刚开始的样子,注意点需要root用户进入,或者当前用户有权限,否则修改了也保存不了vim /etc/sysconfig/network-scripts/ifcfg-ens33

    修改的地方

    组好重启一下 reboot

    换成其他shell工具登录

3.1.3 master节点,名称为master01,全部节点都需要分别操作
hostnamectl set-hostname master01

3.1.4 主机名与IP地址解析,全部节点

* 这里我们是三台机器,一主两从,主机IP是192.168.86.170,这里全部规划好

* 1.master01 : 192.168.86.170

* 2.worker01 : 192.168.86.171

* 3.work02 : 192.168.86.172

3.1.5 防火墙配置,全部节点都需要关闭

3.1.6 SELINUX配置.全部节点都需要操作, 全部节点

3.1.7 时间同步配置,先 sudo timedatectl set-timezone Asia/Shanghai 更换时区,全部节点

3.1.8 更换yum源为国内源

备份原有源配置文件
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载国内源配置文件
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清理 yum 缓存并生成新缓存
sudo yum clean all
sudo yum makecache fast

验证更改: 检查 YUM 源是否已经更换成功,可以通过列出可用的软件包
sudo yum repolist

3.1.9 升级操作系统内核,全部节点

导入elrepo gpg key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装elrepo YUM源仓库
yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本
yum --enablerepo="elrepo-kernel" -y install kernel-ml.x86_64

设置grub2默认引导为0
grub2-set-default 0

重新生成grub2引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg

更新后,需要重启,使用升级的内核生效。
reboot

重启后,需要验证内核是否为更新对应的版本
uname -r

3.1.10 配置内核转发及网桥过滤

添加网桥过滤及内核转发配置文件
添加网桥过滤及内核转发配置文件
cat /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0

加载br_netfilter模块
modprobe br_netfilter

查看是否加载
lsmod | grep br_netfilter

加载网桥过滤及内核转发配置文件
sysctl -p /etc/sysctl.d/k8s.conf

3.1.11 安装ipset及ipvsadm

安装ipset及ipvsadm
yum -y install ipset ipvsadm

配置ipvsadm模块加载方式,添加需要加载的模块

powershell 复制代码
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
EOF`

授权、运行、检查是否加载
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

3.1.12 永远关闭swap分区,需要重启操作系统
cat /etc/fstab

3.2 安装docker

3.2.1 获取YUM源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

3.2.2 查看可安装版本
yum list docker-ce.x86_64 --showduplicates | sort -r

3.2.3 安装指定版本并设置启动及开机自启动
yum -y install --setopt=obsoletes=0 docker-ce-20.10.9-3.el7

systemctl enable docker ; systemctl start docker

3.2.4 修改cgroup方式,主要是exec-opts,这里的registry-mirrors是镜像源,顺便改了后面的当前可用的源,也可以增加其他好用的源

powershell 复制代码
cat /etc/docker/daemon.json
{
		"registry-mirrors": ["https://docker.1ms.run","https://docker.1panel.live/"],
        "exec-opts": ["native.cgroupdriver=systemd"]
}

3.2.5 重启docker
systemctl restart docker

到这里单台机器的操作基本结束

  1. 克隆主机,生成worker01和worker02两台从机
    4.1 克隆,先关闭主机

4.2 修改worker01和worker02的静态IP

4.3 修改各个机器的hostname

到此为止,k8s三台机器的一主两从的基本配置都完成了

相关推荐
时迁2471 小时前
基于Docker+k8s集群的web应用部署与监控
运维·docker·kubernetes
NLP的小Y3 小时前
Docker用model.config部署及更新多个模型
运维·docker·容器
风舞雪凌月4 小时前
【安全】DVWA靶场渗透
安全·web安全·云原生·eureka
Paraverse平行云5 小时前
如何使用UE Cesium插件实现网页端无算力负担访问?
云原生·webrtc
阿里云云原生5 小时前
微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态
微服务·云原生
Yang三少喜欢撸铁5 小时前
【通过docker部署redis7.0】
运维·数据库·redis·docker·容器
Rocky5 小时前
【失败总结】Win10系统安装docker
运维·docker·容器
David爱编程6 小时前
Kubernetes就绪探针:高可用服务的守门人
云原生·kubernetes
海鸥816 小时前
k8s 调整Node节点 Max_Pods
云原生·容器·kubernetes