走向ASP.NET架构设计—第五章—业务层模式,原则,实践(前篇)
锥槐慌锥1. k8s 架构K8s 属于经典的主从模型Master-Slave 架构由 Master 和 Node 节点构成Master 节点负责集群的管理协调集群中的所有活动。例如应用的运行、修改、更新等。Node 节点为 Kubernetes 集群中的工作节点可以是 VM 虚拟机、物理机。每个 node 上有一个 Kubelet负责每个节点的运行状态以及与 master 节点通信执行 master 节点的指令同时 Node 节点上至少还需要运行 container runtime比如 docker这样才能够运行相关镜像。简单的示意图架构图如下所示image完整的架构图如下所示其中 Node 中的 pod 可以理解为运行应用程序的容器例如运行java的一个微服务jar包至于其他的组件将在后面进行详细介绍。image2. Master 节点Master节点是整个k8s的大脑imageMaster 节点也被称之为控制平面组件也就是上图中红色框中的区域。Master 节点一般来说由如下构成kube-apiserver提供 RESTful API供用户、kubectl、其他组件和外部系统调用。无状态可水平扩展通常部署多个实例实现高可用。etcd分布式键值数据库存储集群的所有配置数据和状态信息如节点、Pod、Service 等对象的状态配置文件。所有组件通过 apiserver 读写 etcd不直接访问。一般来说是部署多个节点使用 Raft 协议保证一致性。kube-scheduler负责 Pod 的调度决定将新创建的 Pod 分配到哪个 Node 上运行。kube-controller-manager图中 c-m运行控制器进程确保集群的实际状态与期望状态一致。这句话听起来似乎有点抽象但是实际上我们可以把它理解为一个管家它不断检查集群的“实际状态”并努力让它与用户定义的“期望状态”保持一致。 例如说我希望我的集群中有 3 个 nginx pod 在运行通过相关配置文件进行定义突然有一个 pod 挂了gg 了那么 c-m 就会重新拉起来一个 pod执行顺序如下c-m 从 apiserver 读取“期望状态”比如 replicas: 3从 apiserver 读取“当前实际状态”比如现在只有 2 个 Pod 在运行如果不一致 → 执行操作比如创建 1 个新 Pod写回 apiserver更新状态休息一会儿然后重复步骤 15cloud-controller-manager图中 c-c-m是 Kubernetes 与底层云平台如 AWS、Azure、阿里云等之间的“翻译官”和“对接员”专门处理那些需要和云厂商 API 交互的功能。3. Node 节点Master 节点我们已经理解了那么什么是 Node 节点呢。Node 节点也称之为 Worker 节点就是真正“运行应用”的 worker。在现实世界Node 节点可以是一台物理服务器一台 VM 虚拟机一个 Node 节点严格对应一台“计算实例”但是注意Node 节点不是容器Node 是运行容器的宿主机。下图中红色框框里面的内容便是 Node 节点。imageNode 节点主要包含如下组件kubelet负责与 Master 通信、接收调度指令、调用容器运行时启动或终止 Pod并向 api-server 持续上报节点和容器的健康状态。执行探针挂载卷设置网络等等。每个 node 必须要有一个 kubelet。Container Runtime容器运行时根据 kubelet 的指令拉取镜像、创建/启动/停止容器管理容器的生命周期。如果简单的理解你就可以把他看成一个 docker可以运行相关的镜像。kube-proxy在 每个 Node 上维护网络规则如 iptables 或 IPVS将访问流量Service 的流量转发到后端 Pod。每个 Node 都需要运行 kube-proxy因为如果一个容器不跟外界通信那么也毫无意义。cAdvisor用于自动发现并收集当前 Node 节点上所有容器包括 Pod 中的容器的资源使用情况和性能数据比如 CPU、内存、磁盘 I/O、网络使用率等。4. 命名空间k8s 集群在搭建好之后需要提供给多个部门或者小组进行使用。而在我们开发和生产过程中大概率不同小组可能会出现相同的资源例如应用服务名同时每个小组需要的计算资源数量也可能不同以及每个小组的权限也不同例如开发团队不能访问生产环境。为了解决这个问题k8s 提出了命名空间namespace的概念默认的命名空间是default命名空间有如下好处资源隔离不同命名空间中的资源名称可以重复例如两个命名空间中都可以有名为 web-app 的 Deployment。避免资源命名冲突。限制资源使用配合 ResourceQuota 和 LimitRange。权限控制RBAC可以为不同命名空间设置不同的访问权限。例如开发团队只能访问 dev? 命名空间运维团队可访问 prod。环境隔离将开发dev、测试test、预发布staging、生产prod环境部署在不同命名空间中便于管理。简化管理可以按命名空间批量操作资源如删除整个命名空间及其所有资源。日志、监控、网络策略等也可以按命名空间维度配置。

相关新闻

源雀SCRM AI开源版 V2

源雀SCRM AI开源版 V2

源雀SCRM AI开源版 V2.0发布:AI开启私域增长新纪元全新上线:AI智能营销助手 AI智能导航AI智能营销助手:全案策划与策略生成基于 LangChain4j 接入的大模型能力,系统实现了从“目标输入”到“方案落地”的自动化闭环。用户只需输入…

2026/7/4 13:39:25 阅读更多 →
2026年3月GEO优化综合服务商TOP8综合实力权威排行榜揭晓

2026年3月GEO优化综合服务商TOP8综合实力权威排行榜揭晓

导语:随着生成式AI(如DeepSeek、豆包等)成为用户获取信息的核心入口,GEO(生成引擎优化)已成为企业品牌营销的必经之路。本次推荐基于“技术能力、平台覆盖、服务效果”三大核心维度,通过对中国市…

2026/5/17 10:26:10 阅读更多 →
PDC与最后的恐慌者

PDC与最后的恐慌者

恿装纬督一、字符/Character 对用户可见的“一个字符”,通常是我们在屏幕上看到的一个字母、数字、emoji 或组合字符。 比如:a、、??????????? 二、字符编码标准/字符集 字符编码标准定义的是如何将字符映射到唯一编码,常见的字符…

2026/7/3 13:14:52 阅读更多 →

最新新闻

15A无刷电机FOC控制:硬件选型与算法优化实践

15A无刷电机FOC控制:硬件选型与算法优化实践

1. 项目背景与核心挑战在工业自动化、无人机和电动汽车等领域,无刷直流电机(BLDC)因其高效率、长寿命和低维护需求而广受欢迎。然而,实现高性能的BLDC控制并非易事,尤其是当电流需求高达15A时,工程师们面临…

2026/7/4 13:39:25 阅读更多 →
三维机动目标跟踪:IMM+UKF算法实战解析

三维机动目标跟踪:IMM+UKF算法实战解析

1. 三维机动目标跟踪的挑战与IMMUKF方案 在目标跟踪领域,三维机动目标的跟踪一直是个棘手问题。我做了八年多的目标跟踪算法开发,最深的体会就是:目标一动不如一静,特别是当目标突然改变运动状态时,传统单模型滤波器的…

2026/7/4 13:37:25 阅读更多 →
基于计算机视觉的视线检测:从MediaPipe实现到自动化触发

基于计算机视觉的视线检测:从MediaPipe实现到自动化触发

1. 先搞清楚“当你突然看我的时候”到底在解决什么问题“当你突然看我的时候”这个标题,乍一看不像一个技术项目,更像一句文艺的句子。但如果你在技术社区、开源平台或者开发者论坛里看到它,它大概率指向一个特定的、需要技术手段来解决的场景…

2026/7/4 13:37:24 阅读更多 →
基于YOLO与SpringBoot的葡萄叶片病害智能检测系统开发

基于YOLO与SpringBoot的葡萄叶片病害智能检测系统开发

1. 项目概述:葡萄叶片病害智能检测系统 去年夏天,我在宁夏某葡萄种植基地亲眼目睹了黑腐病爆发带来的惨重损失——短短两周内,30亩优质葡萄园减产近半。这让我深刻意识到,传统依赖人工经验的病害识别方式已经无法满足现代农业的需…

2026/7/4 13:33:18 阅读更多 →
Gemini CLI高危漏洞剖析:AI自动化流程中的RCE风险与加固指南

Gemini CLI高危漏洞剖析:AI自动化流程中的RCE风险与加固指南

1. 项目概述:当AI助手成为攻击跳板最近在安全圈和开发者社区里,一个关于谷歌Gemini CLI工具的高危漏洞讨论得沸沸扬扬。简单来说,这个漏洞能让攻击者通过一个看似无害的自动化流程,在你的CI/CD服务器上执行任意代码。这可不是什么…

2026/7/4 13:31:18 阅读更多 →
基于LBP算法的面部表情识别系统实现与优化

基于LBP算法的面部表情识别系统实现与优化

1. 项目概述 在计算机视觉领域,面部表情识别一直是个既有趣又实用的研究方向。作为一名长期从事图像处理工作的工程师,我发现LBP(局部二值模式)算法因其计算简单、效果稳定,特别适合作为表情识别的特征提取方法。本文将…

2026/7/4 13:31:18 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻