news 2026/3/3 11:05:47

使用二进制文件方式部署kubernetes(1)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用二进制文件方式部署kubernetes(1)

使用二进制文件方式部署kubernetes(1)

OS:OpenEuler-24.03

ip规划

规划好master以及worker节点数量,推荐master节点数为奇数

安装必备工具

所有节点执行

dnf -yinstallwgetpsmiscvimnet-tools nfs-utils telnet device-mapper-persistent-data lvm2gittarcurlbash-completion

部分工具功能:

psmisc:进程管理工具,包括pstree、killall、fuser,可以以树状图查看进程,可以杀死进程,可以查看哪些进程在使用指定文件

net-tools:ifconfig netstat route那些网络工具

device-mapper-persistent-data:通常和lvm2一起安装,提供持久化数据存储库,是Docker的存储驱动

lvm2:管理逻辑卷,可以创建、调整大小、删除逻辑卷

bash-completion:就是bash的tab补全功能

关闭防火墙和SElinux

所有节点执行

systemctl disable --now firewalld setenforce0sed-i's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config

一般来说k8s部署在内部网络,如果选择不关闭防火墙和SElinux则需要配置防火墙开放针对性的端口
例如api-server端口6443

firewall-cmd --permanent --add-port=6443/tcp

但是内部网络的话一般都能被边界防火墙保护,若是云环境也可以设置相关安全组和ACL,那么为方便操作则关闭防火墙和SElinux,但众所周知 方便 和 安全 难以兼得

关闭交换分区

所有节点执行

sed-ri's/.*swap.*/#&/'/etc/fstab swapoff -a&&sysctl -w vm.swappiness=0cat/etc/fstab

因为k8s要精确的知道各个节点有多少可用内存来调度Pod,这里的内存不能算上Swap,(Swap就是把磁盘空间一部分当作虚拟内存来用),因为Swap速度慢,可能造成“磁盘抖动”,导致pod性能突然下降

最后输出要出现如下所示才修改成功

网络配置

所有节点执行

创建calico.conf

vim/etc/NetworkManager/conf.d/calico.conf

写入

[keyfile]unmanaged-devices=interface-name:cali*;interface-name:tunl*

这是为后面使用calico作为CNI插件做准备,让NetworkManager不要管calico创建的接口,calico会自己管,否则可能会导致Pod生命周期错误,ip地址冲突、路由表混乱

时间同步

OpenEuler默认已经安装并开启chrony时间同步服务,如果没有安装则根据自己系统来选择安装命令

各个节点都要安装

# RedHat/CentOS 7/8/9sudoyuminstall-y chrony# Ubuntu/Debiansudoaptupdatesudoaptinstall-y chrony# Fedorasudodnfinstall-y chrony# openSUSEsudozypperinstall-y chrony# 验证安装chronyc --version# 开启服务并设置开机自启systemctl start chronyd# 注意末尾多个dsystemctlenablechronyd# 查看服务状态systemctl status chronyd

配置时间同步服务器,选择master1作为时间同步服务器

在master1上执行

vim/etc/chrony.conf

修改行数为23、26、32、41这四处地方,其中23行要改成自己的网段

重启chrony使修改生效

systemctl restart chronyd

配置客户机,也就是除master1以外所有节点

vim/etc/chrony.conf

修改行数3、32、41行内容,其中3行要修改我时间同步服务器ip,这里是master1ip

重启chrony

systemctl restart chronyd

验证配置

chronyc sources

配置ulimit

所有节点执行

ulimit-SHn65535# 临时设置
vim/etc/security/limits.conf

在末尾添加

# 一般用户:(*表示除root外所有用户)* soft nofile1024# 一般用户可打开的文件数* hard nofile65536* soft nproc1024# 一般用户可运行的进程数* hard nproc4096* soft memlock65536# 允许一般用户进程锁定内存在物理ram中的大小* hard memlock65536# root用户:root soft nofile1048576# 1M,运行K8s足够root hard nofile1048576root soft nproc unlimited# 无限制root hard nproc unlimited root soft memlock unlimited root hard memlock unlimited

因为k8s各组件由root用户运行,所以要限制普通用户的资源使用,以免影响k8s资源使用

配置ssh免密登录

在master1执行

ssh-keygen -f /root/.ssh/id_rsa -P''#以下ip需要替换成自己节点的ipexportIP="192.168.153.161 192.168.153.162 192.168.153.163 192.168.153.181 192.168.153.182"exportSSHPASS=your_password#root账户密码,且各节点root账户密码要相同#安装sshpassdnfinstallsshpass -yforHOSTin$IP;dosshpass -e ssh-copy-id -oStrictHostKeyChecking=no$HOST;done

配置master1可以免密ssh连接各节点,方便后续的文件传输

配置IPVS

IPVS(IP Virtual Server)是Linux内核内置的高性能负载均衡器,它替代Kubernetes默认的iptables模式来处理Service的流量分发。相比iptables,IPVS能显著提升大规模集群中Service的访问性能,并提供更丰富的监控指标和更好的连接管理能力

所有节点执行

vim/etc/modules-load.d/ipvs.conf

写入以下内容

ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack ip_tables ip_set xt_set ipt_set ipt_rpfilter ipt_REJECT ipip

重启服务

systemctl restart systemd-modules-load.service

查看内核模块来验证配置生效

lsmod|grep-e ip_vs -e nf_conntrack

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/1 8:32:46

React 360实战指南:从零构建沉浸式VR应用的完整流程

React 360实战指南:从零构建沉浸式VR应用的完整流程 【免费下载链接】react-360 项目地址: https://gitcode.com/gh_mirrors/reac/react-360 还在为传统网页无法提供身临其境的体验而烦恼吗?想知道如何快速搭建能让用户沉浸其中的虚拟现实应用吗…

作者头像 李华
网站建设 2026/3/2 1:11:55

神经网络调优新维度:3大智能策略重塑模型性能

神经网络调优新维度:3大智能策略重塑模型性能 【免费下载链接】playground Play with neural networks! 项目地址: https://gitcode.com/gh_mirrors/pl/playground gh_mirrors/pl/playground项目是一个基于TypeScript和d3.js开发的神经网络交互式可视化工具&…

作者头像 李华
网站建设 2026/2/28 2:11:10

基于微信小程序的社区二手交易平台毕业设计源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在深入探讨基于微信小程序的社区二手交易平台的发展现状、技术架构、用户行为及市场前景。具体研究目的如下: 首先,分析社区二手…

作者头像 李华
网站建设 2026/2/27 4:43:33

Java深度学习框架Omega-AI:企业级AI开发终极解决方案

Java深度学习框架Omega-AI:企业级AI开发终极解决方案 【免费下载链接】omega-ai Omega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算&…

作者头像 李华
网站建设 2026/2/20 15:53:49

DeepSeek-V3模型性能调优终极指南:从基础配置到高效部署

DeepSeek-V3模型性能调优终极指南:从基础配置到高效部署 【免费下载链接】DeepSeek-V3 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-V3 DeepSeek-V3作为当前最强大的开源大语言模型,以其671B总参数和37B激活参数的混合专家架构&…

作者头像 李华
网站建设 2026/2/19 19:45:52

从“开题焦虑”到“智能启航”:PaperXie领衔九大AI开题报告工具全景图谱——一场以科研逻辑为锚点的工具理性探索

paperxie-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 https://www.paperxie.cn/ai/openingReporthttps://www.paperxie.cn/ai/openingReport 引言:开题不是“写文档”,而是一场“科研预演” 在当代研究生教育体系中,开题报…

作者头像 李华