Kubernetes相关的名词解释kubeadm(19)
kubeadm是什么?
kubeadm 是 Kubernetes 官方提供的一个用于快速部署和管理 Kubernetes 集群的命令行工具。它简化了集群的初始化、节点加入和升级过程,特别适合在生产环境或学习环境中快速搭建符合最佳实践的 Kubernetes 集群。

kubeadm 的定位
-
不是完整的部署解决方案:kubeadm 只负责集群的“骨架”搭建,不直接提供网络插件(CNI)、负载均衡器、存储插件等,需要用户自行安装)。
-
轻量且灵活:适合需要自定义配置的场景(如选择不同的网络插件或容器运行时)。
-
官方推荐工具:尤其适合需要生产级集群但希望避免复杂手动配置的用户。
kubeadm 的核心功能
-
初始化集群
-
通过
kubeadm init命令一键初始化控制平面(Control Plane),包括 API Server、Controller Manager、Scheduler 等核心组件。 -
自动生成集群所需的证书、配置文件和服务账户。
-
-
加入节点
-
通过
kubeadm join命令将工作节点(Worker Node)加入集群,自动配置 kubelet 和容器运行时(如 Containerd、Docker)。
-
-
集群升级
-
支持通过
kubeadm upgrade安全升级 Kubernetes 版本。
-
-
符合最佳实践
-
默认配置遵循 Kubernetes 官方安全标准(如启用 TLS 加密、RBAC 等)。
-
是否有同类工具?
| 工具 | 特点 |
|---|---|
| kubeadm | 官方维护,轻量灵活,适合自定义生产集群。 |
| kops | 更适合在 AWS 等云平台自动化部署生产集群。 |
| Minikube | 单节点本地开发工具,不适合生产。 |
| Kind | 基于 Docker 的轻量测试集群,适合 CI/CD 测试。 |
还有就与二进制文件的本地化安装。
kubeadm和其他组件的关系
在部署 Kubernetes 集群之前,需要先安装 kubeadm 工具。
kubeadm 是 Kubernetes 官方提供的集群部署工具,但它本身只是工具链的一部分,还需要安装其他依赖组件(如 kubelet、kubectl 和容器运行时)。
Kubernetes 集群部署的基本步骤
-
安装依赖:
kubeadm、kubelet、kubectl。 -
配置容器运行时:
containerd或Docker。 -
禁用 Swap。
-
初始化集群:
kubeadm init。 -
安装 CNI 插件:如 Calico、Flannel。
-
加入 Worker 节点:
kubeadm join。
这样,你就成功使用 kubeadm 部署了一个 Kubernetes 集群!
kubeadm 和容器运行时谁先安装?
从 1.24 开始,Kubernetes 移除了内置的 dockershim,因此必须显式安装兼容的容器运行时(如 containerd)。那么涉及 Kubernetes 依赖的容器运行时(Container Runtime)的安装顺序。
-
kubeadm 本身不依赖容器运行时,你可以在安装
kubeadm之前或之后安装容器运行时(如containerd或Docker)。 -
但 Kubernetes 集群运行需要容器运行时。在初始化集群(
kubeadm init)时,kubelet会检查节点是否已安装兼容的容器运行时,如果未安装,集群初始化会失败。
所以可以先安装 kubeadm,但必须在执行 kubeadm init 或 kubeadm join 前确保容器运行时已正确安装并配置。
推荐的安装顺序:
1、安装容器运行时(必须提前完成):
# Ubuntu/Debian
sudo apt install -y containerd
sudo systemctl enable --now containerd# 生成并修改配置(启用 systemd cgroup 驱动)
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sudo systemctl restart containerd
2、安装 kubeadm:
sudo apt install -y kubeadm kubelet kubectl
sudo apt-mark hold kubeadm kubelet kubectl # 防止自动升级
3、初始化集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
相关文章:
Kubernetes相关的名词解释kubeadm(19)
kubeadm是什么? kubeadm 是 Kubernetes 官方提供的一个用于快速部署和管理 Kubernetes 集群的命令行工具。它简化了集群的初始化、节点加入和升级过程,特别适合在生产环境或学习环境中快速搭建符合最佳实践的 Kubernetes 集群。 kubeadm 的定位 不是完整…...
什么是负载均衡?NGINX是如何实现负载均衡的?
大家好,我是锋哥。今天分享关于【什么是负载均衡?NGINX是如何实现负载均衡的?】面试题。希望对大家有帮助; 什么是负载均衡?NGINX是如何实现负载均衡的? 1000道 互联网大厂Java工程师 精选面试题-Java资源…...
docker容器,mysql的日志文件怎么清理
访问问题 你的问题是因为在当前路径 /home/ictrek/data/ragflow-mysql 下没有名为 data 的子目录。以下是详细分析和解决方法: 错误原因 路径不存在 当前目录 /home/ictrek/data/ragflow-mysql 下没有名为 data 的子目录,执行 cd data/ 时会报错 No suc…...
基于Python(Django)+SQLite实现(Web)校园助手
校园助手 本校园助手采用 B/S 架构。并已将其部署到服务器上。在网址上输入 db.uplei.com 即可访问。 使用说明 可使用如下账号体验: 学生界面: 账号1:123 密码1:123 账户2:201805301348 密码2:1 # --------------…...
Python 列表与元组深度解析:从基础概念到函数实现全攻略
在 Python 编程的广袤天地中,列表(List)和元组(Tuple)是两种不可或缺的数据结构。它们如同程序员手中的瑞士军刀,能高效地处理各类数据。从简单的数值存储到复杂的数据组织,列表和元组都发挥着关…...
从零开始搭建Django博客②--Django的服务器内容搭建
本文主要在Ubuntu环境上搭建,为便于研究理解,采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建,当涉及一些文件操作部分便于通过桌面化进行理解,通过Nginx代理绑定域名,对外发布。 此为从零开始搭建Django博客…...
【读论文】HM-RAG:分层多智能体多模态检索增强生成
如何在多模态信息检索和生成中,通过协作式多智能体系统来处理复杂的多模态查询。传统的单代理RAG系统在处理需要跨异构数据生态系统进行协调推理的复杂查询时存在根本性限制:处理多种查询类型、数据格式异质性和检索任务目标的多样性;在视觉内容和文本内…...
mysql日常巡检
1.查看mysql服务是否异常 systemctl status mysql_3306 查看MySQL进程是否存在 ps -ef | grep mysql 2.连接异常检查 (1)查看是否异常连接 show processlist; #或 show full processlist; (2)查看当前失败连接数 show global status like aborted_connects; (3)查看试…...
【Git】branch合并分支
在 Git 中,将分支合并到 main 分支是一个常见的操作。以下是详细的步骤和说明,帮助你完成这个过程。 1. 确保你在正确的分支上 首先,你需要确保当前所在的分支是 main 分支(或者你要合并到的目标分支)。 检查当前分支…...
文件操作和IO(上)
绝对路径和相对路径 文件按照层级结构进行组织(类似于数据结构中的树型结构),将专门用来存放管理信息的特殊文件称为文件夹或目录。对于文件系统中文件的定位有两种方式,一种是绝对路径,另一种是相对路径。 绝对路径…...
7.6 GitHub Sentinel后端API实战:FastAPI高效集成与性能优化全解析
GitHub Sentinel Agent 用户界面设计与实现:后端 API 集成 关键词:前后端分离架构、RESTful API 设计、数据序列化、命令行工具开发、集成测试 后端 API 集成关键技术实现 本阶段需要完成前端界面与后端服务的无缝对接,实现以下核心功能: #mermaid-svg-FFnzT13beWV52dtx …...
JavaFX深度实践:从零构建高级打地鼠游戏(含多物品与反馈机制)
大家好!经典的“打地鼠”游戏是许多人童年的回忆,也是学习 GUI 编程一个非常好的切入点。但仅仅是“地鼠出来就打”未免有些单调。今天,我们来点不一样的——用 JavaFX 打造一个高级版的打地鼠游戏!在这个版本中,洞里钻…...
Python 简介与入门
目录 一、Python 初识 1、Python 的优势 2、Python 的特性 3、Python 的应用领域 二、Linux 环境中安装 Python 1、下载 Python3.11.6 2、安装依赖包 3、解压 Python 压缩包 4、安装 Python 5、编译及安装 6、建立软链接 7、测试 Python3 运行 8、设置国内 pip 更…...
理解RAG第六部分:有效的检索优化
在RAG系统中,识别相关上下文的检索器组件的性能与语言模型在生成有效响应方面的性能同样重要,甚至更为重要。因此,一些改进RAG系统的努力将重点放在优化检索过程上。 从检索方面提高RAG系统性能的一些常见方法。通过实施高级检索技术&#x…...
实训Day-2 流量分析与安全杂项
目录 实训Day-2-1流量分析实战 实训目的 实训任务1 SYN半链接攻击流量分析 实训任务2 SQL注入攻击流量分析一 实训任务3 SQL注入攻击流量分析二 实训任务4 Web入侵溯源一 实训任务5 Web入侵溯源二 编辑 实训Day-2-1安全杂项实战 实训目的 实训任务1 流量分析 FTP…...
几种电气绝缘类型
1. 基本绝缘 1.1 绝缘等级 1.2 I类设备 2. 附加绝缘 3. 双重绝缘 4. 加强绝缘 5. 功能性绝缘 1. 基本绝缘 用于防止触及带电部件的初级保护,该防护是由绝缘材料完成的 基本绝缘的目的在于为防电击提供一个基本的保护,以避免触电的危险,不过此类绝缘只能保证正常状态下…...
char32_t、char16_t、wchar_t 用于 c++ 语言里存储 unicode 编码的字符,给出它们的具体定义
(1) #include <iostream> #include <string>int main() { std::u16string s u"C11 引入 char16_t"; // 定义 UTF-16 字符串for (char16_t c : s) // 遍历输出每个 char16_t 的值std::cout << std::hex << (…...
Java Set/List 知识点 Java面试 基础面试题
Java Set/List 知识点 Set与List区别 List 有序、值可重复,内部数据结构 Obejct[ ] 数组Set 无序、值不重复,内部数据结构 HashMap keyobject value固定new Object() ArrayList 有序存储元素允许元素重复,允许存储 null 值支持动态扩容非线程安全 HashSet、LinkedHa…...
Oracle Database Resident Connection Pooling (DRCP) 白皮书阅读笔记
本文为“Extreme Oracle Database Connection Scalability with Database Resident Connection Pooling (DRCP)”的中文翻译加阅读笔记。觉得是重点的就用粗体表示了。 白皮书版本为March 2025, Version 3.3,副标题为:Optimizing Oracle Database resou…...
FastAPI WebSocket 聊天应用详细教程
项目简介 这是一个基于 FastAPI 和 WebSocket 实现的实时聊天应用,支持一对一聊天、离线消息存储等功能。 技术栈 后端:FastAPI (Python)前端:HTML、JavaScript、CSS通信:WebSocket认证:简单的 token 认证 项目结构…...
(区间 dp)洛谷 P6879 JOI2020 Collecting Stamps 3 题解
题意 给定一个周长为 L L L 的圆,从一个点出发,有 N N N 个黑白熊雕像,编号为 1 1 1 到 N N N,第 i i i 个雕像在顺时针 X i X_i Xi 米处,如果你没有在 T i T_i Ti 秒内收集到这个黑白熊雕像,那…...
vue3+canvas裁剪框样式【前端】
目录 canvas绘制裁剪框:拖拽改变框的大小:圆圈样式:方块样式: canvas绘制裁剪框: // 绘制裁剪框 const drawCropRect (ctx: CanvasRenderingContext2D): void > {if (cropRect.value.width > 0 && crop…...
【Vue3 / TypeScript】 项目兼容低版本浏览器的全面指南
在当今前端开发领域,Vue3 和 TypeScript 已成为主流技术栈。然而,随着 JavaScript 语言的快速演进,许多现代特性在低版本浏览器中无法运行。本文将详细介绍如何使 Vue3 TypeScript 项目完美兼容 IE11 等低版本浏览器。 一、理解兼容性挑战 …...
软件功能测试和非功能测试有什么区别和联系?
软件测试是保障软件质量的核心环节,而软件功能测试和非功能测试作为测试领域的两大重要组成部分,承担着不同但又相互关联的职责。 软件功能测试指的是通过验证软件系统的各项功能是否按照需求规格说明书来正确实现,确保软件的功能和业务流程…...
10_C++入门案例习题: 结构体案例
案例描述 学校正在做毕设项目,每名老师带领5个学生,总共有3名老师,需求如下 设计学生和老师的结构体,其中在老师的结构体中,有老师姓名和一个存放5名学生的数组作为成员 学生的成员有姓名、考试分数, 创建…...
快速定位达梦缓存的执行计划并清理
开发告诉你一个sql慢,你想看看缓存中执行计划时,怎么精准快速定位? 可能一般人通过文本内容模糊搜索 select cache_item, substr(sqlstr,1,60)stmt from v$cachepln where sqlstr like %YOUR SQL STRING%; 搜出来的内容比较多,研…...
Spring中配置 Bean 的两种方式:XML 配置 和 Java 配置类
在 Spring 框架中,配置 Bean 的方式主要有两种:XML 配置 和 Java 配置类。这两种方式都可以实现将对象注册到 Spring 容器中,并通过依赖注入进行管理。本文将详细介绍这两种配置方式的步骤,并提供相应的代码示例。 1. 使用 XML 配置的方式 步骤 创建 Spring 配置文件 创建…...
AI算子开发是什么
AI算子开发是指为人工智能(尤其是深度学习)模型中的基础计算单元(如卷积、矩阵乘法、激活函数等)设计并优化其底层实现的过程。这些计算单元被称为“算子”(Operator),它们是构建神经网络的核心…...
低光环境下双目云台摄像头监控性能解析
双目云台摄像头在低光环境下的监控效果主要取决于其硬件配置和软件优化能力。以下是对双目云台摄像头在低光环境下监控效果的详细分析: 一、硬件配置对低光监控效果的影响 镜头与焦距 : 双目云台摄像头通常配备超大广角固定镜头和360视角的移动镜头&a…...
若依、vben-admin、三维可视化
对三维可视化,包括cesium、模型加载、GIS有关的项目和技术都可以私信,包括基础数据后台管理系统的搭建和配置...
