当前位置: 首页 > news >正文

部署k8s1.28.2(正常网络环境即可)

目录

  • 一、k8s环境初始化
    • 1.1 环境准备
    • 1.2 主机域名解析
    • 1.3 时间同步(选装)
      • 检查是否部署ntp服务
      • 若未安装ntp服务,则执行下面安装
      • 检查crontab内容 ,修改常见crontab命令为“crontab -e”
    • 1.4 禁用iptables和firewalld服务
  • 二、docker离线安装部署
  • 三、docker-cri离线安装部署
  • 四 、k8s离线安装部署
  • 五、calico网络插件离线部署
  • 六、k8s-node节点部署
  • 七、测试集群

一、k8s环境初始化

注意:所有主机均需操作

1.1 环境准备

服务器要求

  • 建议最小硬件配置:2核CPU、4G内存、30G硬盘
  • 操作系统要在centos7.5以上
    软件环境:
  • 操作系统:centos7.9
  • Docker:27.2.0
  • K8s:v1.28.2
    服务器规划:
    角色IP地址
    k8s-master192.168.40.119
    k8s-node1192.168.40.120
    k8s-node2192.168.40.121

1.2 主机域名解析

为了方便后面集群节点的直接调用,在这配置以下主机域名解析,企业中推荐使用内部DNS服务器

hostnamectl set-hostname k8s-master
cat >> /etc/hosts <<EOF
192.168.40.119 k8s-master
192.168.40.120 k8s-node1
192.168.40.121 k8s-node2
EOF

1.3 时间同步(选装)

k8s要求集群中节点时间必须精确一致,这里直接使用ntp服务从网络同步时间,企业中建议配置内部的时间服务器,优先使用“yum list”确认nptdate服务是否安装若已经安装,则直接配置crontab任务,若本地有ntpdate时钟同步器,则直接与其同步,若可以连接互联网,那么也可以直接与阿里时钟同步器进行时间同步,本实验与阿里时钟同步器进行同步“ntpdate time1.aliyun.com”

检查是否部署ntp服务

yum list |grep ntpdate

若未安装ntp服务,则执行下面安装


```go
yum -y install ntpdate

### 与阿里在线时间进行同步时间```go
ntpdate time1.aliyun.com

检查crontab内容 ,修改常见crontab命令为“crontab -e”

crontab -l
0 */1 * * * /usr/sbin/ntpdate time1.aliyun.com

1.4 禁用iptables和firewalld服务

kubernetes和docker在运行中会产生大量的iptables规则,为了不让系统规则跟他们混淆,直接关闭系统的规则

systemctl stop firewalld
systemctl disable firewalld
iptables -F

1.5 禁用selinux
selinux是linux系统下一个安全服务,如果不关闭它,在安装k8s集群中会产生各种各样的奇葩问题

# 编辑/etc/selinux/config文件,修改SELINUX的值为disabled
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 注意修改完毕之后需要重启linux服务
setenforce 0

1.6 禁用swap分区
swap分区指的是虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用,启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备,但是如果因为某些原因不能关闭swap分区,就需要在集群安装过程中明确的参数进行配置说明

# 临时关闭swap分区
swapoff -a
# 永久关闭swap分区,注意修改完毕之后需要重启linux服务生效
sed -i '/swap/ s/^/#/' /etc/fstab
1.7 修改linux内核参数
# 添加网桥过滤和地址转发功能
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
cat > /etc/sysctl.conf <<EOF
net.ipv4.ip_forward=1
EOF
# 重新加载配置
sysctl -p
# 加载网桥过滤模块
modprobe br_netfilter
# 查看网桥过滤是否加载成功
lsmod|grep br_netfilter
1.8 配置ipvs功能(选装)
在kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的,两者比较的话,ipvs性能明显高一些,但是如果要使用它,需要手动载入ipvs模块
# 安装ipset和ipvsadm
yum -y install ipset ipvsadm# 添加需要加载的模块写入脚本文件
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 +

http://www.mrgr.cn/news/47424.html

相关文章:

  • web服务器+selinux实验
  • ASP.NET Core 实现微服务 -- Polly 服务降级熔断
  • 浅尝Appium自动化框架
  • 【Vue + Antv X6】可拖拽流程图组件
  • HarmonyOS 鸿蒙Next 预览pdf文件
  • 放弃Let‘s Encrypt,改用ZeroSSL!同时用CDN加速域名!
  • 学习小课堂
  • ICDE 2024最新论文分享|BEEP:容量约束下能够对抗异常干扰的航运动态定价系统
  • Canal 和 MySQL 配置指南
  • 今日总结10.10
  • linux点灯驱动实验实现
  • java项目之基于保密信息学科平台系统源码(springboot+vue+mysql)
  • 动手学LLM(ch3)——编码注意力机制
  • 天玑9400拉满各种顶级天赋,更能让你轻松手机拍大片
  • 没人告诉你的职场人情世故
  • SAP S4H创建销售订单提示:无信用段分配到信用控制范围 8000
  • 动态规划和贪心算法
  • 执行node.js获取本机Ip命令,报:Error: Cannot find module ‘ip‘错误
  • Vue3 富文本:WangEditor
  • 一般在写SQL时需要注意哪些问题,可以提高查询的效率?
  • 手机通过carlink投屏到车机,播放QQ音乐卡顿问题分析
  • 网站服务器监控:Apache指标解读
  • 什么是UEBA?派拉软件的“暗能力”!
  • 流域生态系统服务评价、水文水生态分析、碳收支、气候变化影响、制图等领域中的应用
  • 还在为Python“运算符”中遇到的BUG而发愁吗?,变量相关的问题和解决办法看这篇文章就够了!
  • python+request+unittest+ddt自动化框架