欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 部署k8s1.28.2(正常网络环境即可)

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

2024/10/26 9:22:52 来源:https://blog.csdn.net/weixin_45706856/article/details/142830004  浏览:    关键词:部署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 +

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com