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

部署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.kler.cn/news/353953.html

相关文章:

  • 云服务器磁盘满了,清理docker无用缓存、容器等清理
  • mybatis-plus 前端优雅传参进行排序
  • 2024年了,视频生成模型离通用世界模拟器还有多大差距?SOTA模型全面评估
  • SpringBoot + minio + kkfile 实现文件预览
  • 【时时三省】(C语言基础)函数介绍strcmp
  • pytorch求hessian
  • 4G模组PSM+超低功耗详解,该选择那种功耗模式?
  • k8s容器启动失败的常见原因及解决办法
  • C++类与对象-继承和多态(超全整理)
  • 【Vue】Vue扫盲(六)关于 Vue 项目运行以及文件关系和关联的详细介绍
  • 安卓流式布局实现记录
  • Redux与Redux-thunk详解
  • Unix Standardization and Implementations
  • 开源节流-2024年10月17日-思维学习笔记
  • 【Kafka】Kafka源码解析之producer过程解读
  • Brave编译指南2024 Linux篇-准备工作(三)
  • “DataOps+大模型”——数造科技在大模型时代的数据开发创新探索
  • 力扣周赛:第419场周赛
  • Redis高阶
  • Vue 的 v-show 和 v-if 区别?