Kubernetes API Aggregation API聚合

这篇具有很好参考价值的文章主要介绍了Kubernetes API Aggregation API聚合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kubernetes API Aggregation - Kubernetes - Wiki.Shileizcc.com

API 聚合机制是 Kubernetes 1.7 版本引入的特性,能够将用户扩展的 API 注册到 kube-apiserver 上,仍然通过 API Server 的 HTTP URL 对新的 API 进行访问和操作。为了实现这个机制,Kubernetes 在 kube-apiserver 服务中引入了一个 API 聚合层(API Aggregation Layer),用于将扩展 API 的访问请求转发到用户服务的功能。

设计 API 聚合机制的主要目标如下。

  • 增加 API 的扩展性:使得开发人员可以编写自己的 API Server 来发布他们的 API,而无需对 Kubernetes 核心代码进行任何修改。
  • 无需等待 Kubernetes 核心团队的复杂审查:允许开发人员将其 API 作为单独的 API Server 发布,使集群管理员不用对 Kubernetes 核心代码进行修改就能使用新的 API,也就无需等待社区繁杂的审查了。
  • 支持试验性新特性 API 开发:可以在独立的 API 聚合服务中开发新的 API,不影响系统现有的功能。
  • 确保新的 API 遵循 Kubernetes 的规范:如果没有 API 聚合机制,开发人员就可能会被迫推出自己的设计,可能不遵循 Kubernetes 规范。

总的来说,API 聚合机制的目标是提供集中的 API 发现机制和安全的代理功能,将开发人员的新 API 动态地、无缝地注册到 Kubernetes API Server 中进行测试和使用。

在 Master 的 API Server 中启用 API 聚合功能


为了能够将用户自定义的 API 注册到 Master 的 API Server 中,首先需要配置 kube-apiserver 服务的以下启动参数来启用 API 聚合功能。

  • --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.pem:在请求期间验证 Aggregator 的客户端 CA 证书。

  • --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client-key.pem:在请求期间验证 Aggregator 的客户端私钥。

  • --requestheader-allowed-names=front-proxy-client:允许访问的客户端 common names 列表,通过 header 中 --requestheader-username-headers 参数指定的字段获取。客户端 common names 的名称需要在 client-ca-file 中进行设置,将其设置为空时,表示任意客户端都可以访问。

  • --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.pem:客户端 CA 证书。

  • --requestheader-extra-headers-prefix=X-Remote-Extra-:请求头中需要检查的前缀名。

  • --requestheader-group-headers=X-Remote-Group:请求头中需要检查的组名。

  • --requestheader-username-headers=X-Remote-User:请求头中需要检查的用户名。

如果 kube-apiserver 所在的主机上没有运行 kube-proxy,既无法通过服务的 ClusterIP 进行访问,那么还需要设置一下启动参数:

--enable-aggregator-routing=true

在设置完成重启 kube-apiserver 服务,就启用 API 聚合功能了。文章来源地址https://www.toymoban.com/news/detail-635917.html

到了这里,关于Kubernetes API Aggregation API聚合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch 聚合查询(Aggregation)详解

    Elasticsearch中的聚合查询,类似SQL的SUM/AVG/COUNT/GROUP BY分组查询,主要用于统计分析场景。 实例: 例子聚合统计的效果等价SQL:

    2024年02月04日
    浏览(35)
  • 【MongoDB】--MongoDB聚合Aggregation

    聚合操作组值来自多个文档,可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类: 单一作用聚合、聚合管道、MapReduce 。 单一作用聚合 :提供对常见聚合过程的简单访问,操作都从单个集合聚合文档 聚合管道操作 :将文档在一个管道处理完毕后,把处理的结

    2024年02月14日
    浏览(32)
  • Kubernetes学习笔记-kubernetes应用扩展(1)-自定义API对象20230622

    1、CustomResourceDefinitions介绍 开发者只需要只需向kubernetes api服务器提交CRD对象,即可定义新的资源类型。成功提交CRD之后,就能通过API服务器提交JSON清单或者YAML清单的方式创建自定义资源,以及其他kubernetes资源实例 创建一个CRD对象 website-crd.yaml apiVersion:apiextensions.k8s.io/v1

    2024年02月10日
    浏览(29)
  • Maven 聚合和继承 Inheritance vs Aggregation

    A Project Object Model or POM is the fundamental unit of work in Maven. It is an XML file that contains information about the project and configuration details used by Maven to build the project. It contains default values for most projects. Examples for this is the build directory, which is  target ; the source directory, which is  src/main/java ; the tes

    2024年02月09日
    浏览(37)
  • Kubernetes Gateway API 深入解读和落地指南

    Kubernetes Gateway API 是 Kubernetes 1.18 版本引入的一种新的 API 规范,是 Kubernetes 官方正在开发的新的 API,Ingress 是 Kubernetes 已有的 API。Gateway API 会成为 Ingress 的下一代替代方案。Gateway API 提供更丰富的功能,支持 TCP、UDP、TLS 等,不仅仅是 HTTP。Ingress 主要面向 HTTP 流量。 Gateway API

    2024年02月03日
    浏览(39)
  • 查看 Kubernetes API Server 的 Heap Profile

    要查看Kubernetes API Server的Heap Profile,你可以按以下步骤操作: 首先,你需要确保你的Kubernetes集群正在运行,并且你已经安装和配置了 kubectl 。 在命令行中,运行以下命令来获取API Server的Pod名称(这假设API Server正在kube-system命名空间中运行): 你应该能看到一个或多个Pod的

    2024年02月16日
    浏览(31)
  • Kubernetes遇到error: Metrics API not available

    导致这个问题原因是没有安装Metrics Server,接下来我会介绍Metrics Server在集群中的作用以及官方网站的解释。如果想直接解决报错可以看“解决“error: Metrics API not available”报错”章节。 1.Metrics Server作用理解 Kubernetes官网链接 Kubernetes Metrics Server是一个Kubernetes集群组件,它收集

    2024年02月11日
    浏览(48)
  • kubernetes REST Api详解(导入Swagger至Postman)

    备注:本文统一成kubernetes为k8s。 首先贴上k8s的架构图: 平时我们一般都会使用 CLI (通常使用 kubectl 命令)去操作 k8s ,但是作为开发者,更为倾向的是使用 REST Api 来操作 k8s ,其实 k8s 是支持的,那么如何查看这些 API 呢? 本文主要讲解的是 把k8s的swagger.json文件导出,然后

    2024年02月05日
    浏览(26)
  • 【k8s】Kubernetes 声明式 API、命令式

    1. 命令式对象管理∶直接使用命令去操作kubernetes资源 2. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源 3. 声明式对象配置∶通过apply命令和配置文件去操作kubemetes资源 kubectl命令:kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集

    2024年01月17日
    浏览(31)
  • 【kubernetes】Java操作k8s-API

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 在K8s平台上,我们可以使用kubectl命令对Deployment、pod、Service等资源进行增删改查。本文章将提供一些Java代码操作API方式实现与集群交互,来创建、更新、删

    2024年04月13日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包