【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三台机器的一主两从的基本配置都完成了

相关推荐
阿里云云原生25 分钟前
将内核专家经验封装进 Agent:SysOM 巡检 Skill 开源,赋能你的运维自动化闭环
云原生
自律懒人1 小时前
AI应用从原型到上线的最后一公里——灵光闪应用一键部署深度实测,30+免费API + Serverless零配置发布
人工智能·云原生·开源·serverless
程序喵大人1 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl
风曦Kisaki3 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
张忠琳3 小时前
【NVIDIA】NVIDIA k8s-device-plugin v0.19.3 资源管理器模块深度分析之三
云原生·容器·架构·kubernetes·nvidia
Chengbei115 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
Ai拆代码的曹操6 小时前
K8s 调度器 predicate 阶段揭秘:为什么你的 Pod 总是堆在同一台机器
后端·容器
Ai拆代码的曹操6 小时前
手摸手排查:Pod CrashLoopBackOff 日志丢失问题,3 层兜底方案
后端·容器
瞬间&永恒~7 小时前
【MySQL】练习5-1:配置慢查询日志
linux·运维·云原生
张忠琳7 小时前
【NVIDIA】k8s-device-plugin v0.19.3 — CDI / MIG / vGPU 模块超深度代码分析之五
云原生·容器·架构·kubernetes·nvidia