带你读《云原生应用开发:Operator原理与实践》——2.3.5 Kube-APIServer 架构

简介: 带你读《云原生应用开发:Operator原理与实践》——2.3.5 Kube-APIServer 架构

2.3.5 Kube-APIServer 架构


通常,Kubernetes API 中的每种资源都需要处理 REST 请求和管理对象的存储。核心的 Kubernetes API 服务处理内建的资源,如 Pod 或 Service。如果想为集群添加自定义资源对象,有以下两种方法可以实现。


(1) CRD 是最简单的方式,创建自定义资源对象的时候不需要编程。通常情况下,会将这个自定义资源与一个自定义资源的 Controller 结合使用,这就对外提供了一个真正的声明式 API。Controller 会同步自定义资源的当前状态和期望状态。

(2) Aggregation 可以让用户通过开发和部署单独的 APIServer 来实现自定义资源对象,核心的 Kube-APIServer 会将请求转发到 APIServer 处理,所有客户端都可以连接。

Kube-APIServer 提供了 3 种服务,分别是 APIExtensionsServer、KubeAPIServer和 AggregatorServer,它们为上述的应用场景提供不同的资源。

(1) APIExtensionsServer:用 户 可 以 通 过 CRD 的 方 式 扩 展 Kubernetes 的 服 务,APIExtensions Server 处理 CRD 和 CR 的 REST 请求,如果创建未经定义的 CR,则会返回404 的状态码。

(2) KubeAPIServer:这个服务是 Kubernetes 的核心服务,负责处理内置资源,如 Pod、Deployment 和 Service 等。

(3) AggregatorServer:用 户 可 以 通 过 Aggregation 方 式 扩 展 Kubernetes 的 服 务,Aggregator Server 负责将用户的请求转发给单独部署的各个 APIServer。

2.4  本章小结


本章介绍了 Operator 的原理:CRD 和 Controller。CRD 为我们提供了一种在 Kubernetes中扩展自定义资源的方式。Controller 用于监控自定义资源,当资源更新后,Controller会收到消息,执行具体的逻辑,将资源的实际状态调整到资源更新之后的期望状态。


本 章 还 介 绍了 Client-go:Client-go 库中包含了实现 Controller 的所有机制;KubeAPIServer:所有资源的操作请求都要通过 APIServer,要经过认证、鉴权和准入控制步骤进行处理。

如何快速实现自己的 Controller ?用户可以使用 Kubebuilder 构建 API、Controllers 和 Admission WebHooks,实现对 Kubernetes 的扩展。第 3 章将介绍 Kubebuilder。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
285 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
3月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
425 16
|
3月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
|
1月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
328 2
|
3月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
神经架构搜索(NAS)正被广泛应用于大模型及语言/视觉模型设计,如LangVision-LoRA-NAS、Jet-Nemotron等。本文回顾NAS核心技术,解析其自动化设计原理,探讨强化学习、进化算法与梯度方法的应用与差异,揭示NAS在大模型时代的潜力与挑战。
817 6
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
|
1月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
465 0
|
1月前
|
机器学习/深度学习 自然语言处理 监控
23_Transformer架构详解:从原理到PyTorch实现
Transformer架构自2017年Google发表的论文《Attention Is All You Need》中提出以来,彻底改变了深度学习特别是自然语言处理领域的格局。在短短几年内,Transformer已成为几乎所有现代大型语言模型(LLM)的基础架构,包括BERT、GPT系列、T5等革命性模型。与传统的RNN和LSTM相比,Transformer通过自注意力机制实现了并行化训练,极大提高了模型的训练效率和性能。
|
4月前
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
103 1
下一篇
oss云网关配置