news 2026/4/21 14:20:25

使用二进制文件方式部署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/4/17 12:30:06

在应用中心的业务组件导入组件,但是在IDE里面看不到导入的组件。

问题描述: 在应用中心的业务组件导入组件,但是在IDE里面看不到导入的组件。 解决方案: 在系统变量-BUSINESS_COMPONENT_CENTER_URL中将内容置空; 置空后会走本地导入的市场组件,在低开中进行市场导入即可看到应用中心导入的业务组件&…

作者头像 李华
网站建设 2026/4/20 0:00:51

基于微信小程序的社区活动报名系统毕业设计源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。 一、研究目的 本研究旨在设计并实现一个基于微信小程序的社区活动报名系统,以满足社区成员对于活动报名的便捷性和高效性需求。具体而言,研究目的可…

作者头像 李华
网站建设 2026/4/17 7:50:48

快速上手!查看、拷贝、编辑、远程连接Linux命令

目录 1. 远程连接Linux 2. ‌文件与目录操作‌ 3. ‌文件内容查看‌ 4. ‌系统信息‌ 5. ‌网络操作‌ 6. ‌用户管理‌ 7. ‌包管理‌ 8. ‌文本处理‌ 9. ‌系统管理‌ 10. 远程电脑复制文件给Linux 11. Linux复制文件给远程电脑 12. 编辑文件 13. iv编辑器操作指…

作者头像 李华
网站建设 2026/4/17 8:24:46

一文搞懂Python匿名函数

什么是python函数?学过python的小伙伴会知道,在python中用【def 函数名参数】的方式定义函数,即:>>> def function_name(parameters): ...这样的函数拥有函数名,调用函数只需要:>>&…

作者头像 李华
网站建设 2026/4/17 10:08:34

3分钟让你的Mac鼠标滚动体验脱胎换骨:Mos深度体验指南

3分钟让你的Mac鼠标滚动体验脱胎换骨:Mos深度体验指南 【免费下载链接】Mos 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A lightweight tool used to smooth scrolling and set scroll direction independently f…

作者头像 李华
网站建设 2026/4/17 7:51:03

PaperXie深度解析:当学术写作遇上智能降重,如何在AI检测时代守护论文的“原创性”与“表达力”?——不止是改写工具,更是你的科研表达优化伙伴

引言:我们正站在一个“被检测”的学术十字路口 2025年的今天,如果你是一名研究生、博士生,或是一位正在准备职称评审、项目申报的学者,你一定对“查重”和“AIGC检测”这两个词不陌生。知网、维普、万方、Turnitin、CrossCheck……

作者头像 李华