带你读《云原生应用开发: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。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1天前
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
1天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第10天】 随着企业加速其数字化转型的步伐,云原生架构已成为实现敏捷性、可扩展性和创新的关键驱动力。本文探讨了云原生技术的兴起背景、核心技术组件以及如何通过这些技术推动企业IT基础设施的现代化。文章重点分析了容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化对于构建灵活且高效的云环境的重要性,并提供了实施云原生策略的实用建议。通过深入分析,本文旨在为决策者提供一个清晰的指南,以利用云原生架构优化其业务操作并保持竞争优势。
6 0
|
1天前
|
Cloud Native 安全 持续交付
云原生架构的未来展望
【5月更文挑战第9天】本文将探讨云原生架构的发展趋势,包括其优势、挑战以及未来的发展方向。云原生架构以其灵活性、可扩展性和高效性在企业中得到了广泛的应用。然而,随着技术的发展和业务需求的变化,云原生架构也面临着一些挑战。本文将深入分析这些挑战,并提出相应的解决策略。
|
2天前
|
Cloud Native API 开发者
构建未来:云原生架构在企业数字化转型中的关键角色
【5月更文挑战第9天】 随着企业加速迈向数字化时代,传统的IT架构已不足以支撑快速变化的市场需求。本文深入探讨了云原生架构如何成为推动企业敏捷性、可扩展性和创新能力的关键因素。通过分析微服务、容器化、持续集成与持续部署(CI/CD)等核心技术的实践应用,揭示了云原生技术如何助力企业实现真正的业务和技术一体化,以及在竞争激烈的市场中保持领先地位。
|
2天前
|
负载均衡 NoSQL 关系型数据库
深入浅出Redis(六):Redis的主从架构与主从复制原理
深入浅出Redis(六):Redis的主从架构与主从复制原理
|
2天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第9天】 随着数字化转型的浪潮席卷全球,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析了这些技术如何帮助企业加速产品上市时间,提高运营效率,并最终实现业务目标。同时,文章也识别了企业在采纳云原生实践中可能面临的挑战,如安全性考量、团队技能提升和复杂的网络管理,并提出了相应的解决方案和最佳实践。
|
4天前
|
Cloud Native 持续交付 开发者
探索云原生架构的未来之路
【5月更文挑战第7天】 在数字化转型的浪潮中,云原生技术以其独特的敏捷性、可扩展性和弹性成为企业IT战略的关键组成部分。本文将深入剖析云原生的核心概念,探讨其在现代软件开发和运维中的应用,并预测云原生发展的潜在趋势。通过分析容器化、微服务、持续集成/持续部署(CI/CD)等关键技术的实践案例,揭示云原生如何推动企业快速响应市场变化、优化资源利用和提升服务质量。
|
4天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第7天】 随着企业加速其数字化转型的步伐,云原生架构已成为推动创新及实现敏捷性的重要驱动力。本文将探讨云原生技术的基本原理,分析其在现代企业中的应用,并讨论如何借助云原生方法提升业务的弹性、可扩展性和效率。通过案例研究和最佳实践的分享,我们揭示了云原生解决方案如何助力企业在竞争激烈的市场中保持领先。
|
4天前
|
弹性计算 Cloud Native 安全
云原生架构的未来展望:如何引领企业转型与创新
【5月更文挑战第7天】随着云计算技术的不断发展,云原生架构已经成为企业数字化转型的关键驱动力。本文将深入探讨云原生架构的优势、挑战以及未来发展趋势,为企业提供一种全新的技术视角,以实现更高效、灵活和可扩展的业务运营。
|
4天前
|
Kubernetes Cloud Native 持续交付
构建未来:云原生架构在企业数字化转型中的关键角色
【5月更文挑战第7天】 随着企业加速数字化转型,云原生架构已成为推动创新和敏捷性的重要驱动力。本文将深入探讨云原生技术的基本原理,以及如何利用这些技术实现业务灵活性和响应速度的显著提升。通过分析微服务、容器化、持续集成/持续部署(CI/CD)等关键组件,我们将揭示云原生架构如何帮助企业应对快速变化的市场需求,同时确保系统的稳定性和可扩展性。

热门文章

最新文章