k8s之基础概念

image

1. k8s 架构

  K8s 属于经典的主从模型(Master-Slave 架构),由 Master 和 Node 节点构成:

  • Master 节点:负责集群的管理,协调集群中的所有活动。例如应用的运行、修改、更新等。
  • Node 节点:为 Kubernetes 集群中的工作节点,可以是 VM 虚拟机、物理机。每个 node 上有一个 Kubelet(负责每个节点的运行状态,以及与 master 节点通信,执行 master 节点的指令),同时 Node 节点上至少还需要运行 container runtime(比如 docker,这样才能够运行相关镜像)。

  简单的示意图架构图如下所示:

image

  完整的架构图如下所示,其中 Node 中的 pod 可以理解为运行应用程序的容器,例如运行java的一个微服务jar包,至于其他的组件,将在后面进行详细介绍。

image

2. Master 节点

Master节点是整个k8s的大脑

image

  Master 节点也被称之为控制平面组件,也就是上图中红色框中的区域。Master 节点一般来说,由如下构成:

  1. kube-apiserver:提供 RESTful API,供用户、kubectl、其他组件和外部系统调用。无状态,可水平扩展,通常部署多个实例实现高可用。

  2. etcd:分布式键值数据库,存储集群的所有配置数据和状态信息(如节点、Pod、Service 等对象的状态,配置文件)。所有组件通过 apiserver 读写 etcd,不直接访问。一般来说是部署多个节点,使用 Raft 协议保证一致性。

  3. kube-scheduler:负责 Pod 的调度,决定将新创建的 Pod 分配到哪个 Node 上运行。

  4. kube-controller-manager(图中 c-m):运行控制器进程,确保集群的实际状态与期望状态一致。这句话听起来似乎有点抽象,但是实际上我们可以把它理解为一个管家,它不断检查集群的“实际状态”,并努力让它与用户定义的“期望状态”保持一致。 例如说,我希望我的集群中有 3 个 nginx pod 在运行(通过相关配置文件进行定义),突然有一个 pod 挂了,gg 了,那么 c-m 就会重新拉起来一个 pod,执行顺序如下:

    1. c-m 从 apiserver 读取“期望状态”(比如 replicas: 3)
    2. 从 apiserver 读取“当前实际状态”(比如现在只有 2 个 Pod 在运行)
    3. 如果不一致 → 执行操作(比如创建 1 个新 Pod)
    4. 写回 apiserver,更新状态
    5. 休息一会儿,然后重复步骤 1~5
  5. cloud-controller-manager(图中 c-c-m):是 Kubernetes 与底层云平台(如 AWS、Azure、阿里云等)之间的“翻译官”和“对接员”,专门处理那些需要和云厂商 API 交互的功能。

3. Node 节点

  Master 节点我们已经理解了,那么什么是 Node 节点呢。Node 节点(也称之为 Worker 节点),就是真正“运行应用”的 worker。在现实世界,Node 节点可以是一台物理服务器,一台 VM 虚拟机(一个 Node 节点严格对应一台“计算实例”),但是注意,Node 节点不是容器(Node 是运行容器的宿主机)。下图中,红色框框里面的内容便是 Node 节点。

image

  Node 节点主要包含如下组件:

  1. kubelet:负责与 Master 通信、接收调度指令、调用容器运行时启动或终止 Pod,并向 api-server 持续上报节点和容器的健康状态。执行探针,挂载卷,设置网络等等。每个 node 必须要有一个 kubelet。
  2. Container Runtime(容器运行时):根据 kubelet 的指令,拉取镜像、创建/启动/停止容器,管理容器的生命周期。如果简单的理解,你就可以把他看成一个 docker,可以运行相关的镜像。
  3. kube-proxy:在 每个 Node 上维护网络规则(如 iptables 或 IPVS),将访问流量(Service 的流量)转发到后端 Pod。每个 Node 都需要运行 kube-proxy,因为如果一个容器不跟外界通信,那么也毫无意义。
  4. cAdvisor:用于自动发现并收集当前 Node 节点上所有容器(包括 Pod 中的容器)的资源使用情况和性能数据,比如 CPU、内存、磁盘 I/O、网络使用率等。

4. 命名空间

  k8s 集群在搭建好之后,需要提供给多个部门或者小组进行使用。而在我们开发和生产过程中,大概率不同小组可能会出现相同的资源(例如应用,服务)名,同时每个小组需要的计算资源数量也可能不同,以及每个小组的权限也不同(例如开发团队不能访问生产环境)。为了解决这个问题,k8s 提出了命名空间(namespace)的概念(默认的命名空间是default),命名空间有如下好处:

  1. 资源隔离

    • 不同命名空间中的资源名称可以重复(例如两个命名空间中都可以有名为 web-app 的 Deployment)。
    • 避免资源命名冲突。
    • 限制资源使用(配合 ResourceQuota 和 LimitRange)。
  2. 权限控制(RBAC)

    • 可以为不同命名空间设置不同的访问权限。例如:开发团队只能访问 dev​ 命名空间,运维团队可访问 prod
  3. 环境隔离

    • 将开发(dev)、测试(test)、预发布(staging)、生产(prod)环境部署在不同命名空间中,便于管理。
  4. 简化管理

    • 可以按命名空间批量操作资源(如删除整个命名空间及其所有资源)。
    • 日志、监控、网络策略等也可以按命名空间维度配置。

  但是需要注意的是,在 k8s 集群中,不同的命名空间里面应用,其网络是互通的。如果要避免网络互通,则需要进行相关的网络配置。在比较大型的网络开发中,还是推荐将生产和测试集群分开部署,而不是依赖于命名空间进行隔离。

5. 参考

  1. Kubernetes - 维基百科,自由的百科全书
  2. 从零开始的 K8S 学习笔记(一)概念入门 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础 Day26 - 详解

Java基础 Day26 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &quo…

14_mklink创建符号链接

Win11中使用mklink创建符号链接完全指南 引言 在Windows 11系统中,文件和文件夹的管理是我们日常使用电脑的重要组成部分。有时候,我们希望能够在不移动实际文件的情况下,让文件或文件夹在多个位置"同时存在&q…

7_如何构建知识图谱

第一步:确定知识图谱的领域和范围 构建知识图谱的第一步是明确定义其目的、覆盖的领域和边界。这一步至关重要,因为它决定了整个项目的方向和复杂度。 1. 确定应用场景和目标问答系统:为特定领域提供智能问答服务 搜…

点双连通分量例题:矿场搭建

洛谷P3225 矿场搭建 据说点双连通分量的题少,而矿场搭建就是其中的一道好题,老师简单讲了一下我也是套板子AC了 题面具体点链接看,大概就是要求在无向图上修最少的救援点使得任意一个点坍塌了之后,剩下的点都能走走…

MTK oppoR9m Smart Phone flash Tool 提示 ERROR: STATUS_UNSUPPORT_CTRL_CODE (0xC0010004)

前言全局说明在使用 SP flash tool 刷机时,提示 ERROR: STATUS_UNSUPPORT_CTRL_CODE (0xC0010004)错误注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!! 注意:刷机,会丢失用户:照…

我开发的 Chrome 插件 SEO Tools Extension 今天上线了

我开发的 Chrome 插件 SEO Tools Extension 今天上线了 10月3日晚上向 Chrome 应用商店提交的浏览器扩展 SEO Tools Extension 今天下午通过审核并上线了。这个插件就是一些常用的 SEO工具集合,帮助站长做好网站SEO优…

Windows Server部署Vue3+Spring Boot项目 - 实践

Windows Server部署Vue3+Spring Boot项目 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

WPF ContentControl Content Binding

Install-Package Microsoft.Extensions.DependencyInjection; Install-Package CommunityToolkit.mvvm; <Window x:Class="WpfApp25.Views.MainWin"xmlns="http://schemas.microsoft.com/winfx/2006…

做网站什么程序好东莞互联网公司排名

ArcGIS Pro SDK &#xff08;九&#xff09;几何 3 点 文章目录 ArcGIS Pro SDK &#xff08;九&#xff09;几何 3 点1 构造地图点2 地图点生成器属性3 地图点的相等性4 缩放至指定点 环境&#xff1a;Visual Studio 2022 .NET6 ArcGIS Pro SDK 3.0 1 构造地图点 // 使用生…

南京专业做网站公司地址查公司信息在哪里查

分布式架构中实现全局唯一ID的需求非常常见,业界上也有很多的工具可直接使用。以下总结一下在面试过程中被问到如何使用Redis 实现分布式全局唯一ID的问题 自定义全局唯一ID生成器 @Component public class RedisIdWorker {/*** 开始时间戳*/private static final long BEGIN…

男女生做恶心的网站网站后期维护管理

本帖最后由 神经病的春天 于 2014-9-18 15:36 编辑近来升级了一下主机&#xff0c;这样一来&#xff0c;终于能够拥有USB3.0和SATA3.0接口了&#xff0c;不过本人目前还木有SSD&#xff0c;所以尚无法完全发挥出这些接口的速度优势。 为了测试&#xff0c;上周的时候&#xff0…

学校网站建设责任书衡阳seo网站推广

1. DBoW3库介绍 DBoW3是DBoW2的增强版&#xff0c;这是一个开源的C库&#xff0c;用于给图像特征排序&#xff0c;并将图像转化成视觉词袋表示。它采用层级树状结构将相近的图像特征在物理存储上聚集在一起&#xff0c;创建一个视觉词典。DBoW3还生成一个图像数据库&#xff0c…

To PXS -- Words to be remembered 2025.10.5

To PXS Despite the great distance between us, our hearts still unite as one. The powerful bond of friendship between us will never fade but endure. Looking back at the days and nights we shared togethe…

网站截图怎么做做网站要收订金吗

为了精准、稳定地提取滚动轴承故障特征&#xff0c;提出了基于变分模态分解和奇异值分解的特征提取方法&#xff0c;采用标准模糊C均值聚类(fuzzy C means clustering, FCM)进行故障识 别。对同一负荷下的已知故障信号进行变分模态分解&#xff0c;利用 奇异值分解技术进一步提…

⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能 - 实践

⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能 - 实践2025-10-05 21:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x:…

dede网站打开慢做采集网站赚钱

旧项目用的 vue3-seamless-scroll 怎么写都不生效&#xff0c;一看源码两年没更新了&#xff0c;不想调试&#xff0c;还是自己写吧&#xff0c;再不济问问GPT都会更快一点 scroll.vue <template><div class"scroll-container" ref"scrollContainerR…

网站做视频的软件营销型网站哪家好

课程背景 2023年&#xff0c;以ChatGPT为代表的接近人类水平的对话机器人&#xff0c;AIGC不断刷爆网络&#xff0c;其强大的内容生成能力给人们带来了巨大的震撼。学术界和产业界也都形成共识&#xff1a;AIGC绝非昙花一现&#xff0c;其底层技术和产业生态已经形成了新的格局…

做损坏文档的网站seo搜索引擎推广

更新Milvus各个组件的配置参数。 调试 您可以在OpenAPI Explorer中直接运行该接口&#xff0c;免去您计算签名的困扰。运行成功后&#xff0c;OpenAPI Explorer可以自动生成SDK代码示例。 ​编辑调试 授权信息 下表是API对应的授权信息&#xff0c;可以在RAM权限策略语句的…

做网站怎么选服务器军队采购网

java中各map中是否可以存储null值情况

linux做网站服务器吗中企动力官网网站

‍ 侯建业 本文由是石科技CIO侯建业撰写并投递参与“数据猿年度金猿策划活动——2023大数据产业年度优秀CIO榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 是石科技&#xff08;江苏&#xff09;有限公司成立于2021年&#xff0c;由国家超级计算无锡中心与…