Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kubebuilder介绍:使用CRD构建Kubernetes API的SDK

Kubebuilder介绍:使用CRD构建Kubernetes API的SDK

作者头像
CNCF
发布于 2019-12-04 09:05:08
发布于 2019-12-04 09:05:08
1.4K0
举报
文章被收录于专栏:CNCFCNCF

Kubebuilder介绍:使用CRD构建Kubernetes APISDK

作者:Phillip Wittrock(谷歌),Sunil Arora(谷歌)

我们如何才能让MySQLSparkCassandra这样的应用程序来管理自己,就像Kubernetes Deployments和Pods一样?我们如何配置这些应用程序为自己的第一类API,而不是StatefulSets、Services和ConfigMaps的集合?

我们一直致力于这个问题的解决方案,并很高兴推出kubebuilder。这是一个全面的开发工具包,使用CRD快速构建和发布Kubernetes API和控制器。Kubebuilder支持项目和API定义,基于controller-runtime库构建。

为什么使用Kubebuilder和Kubernetes API?

应用程序和群集资源通常需要一些操作,无论是使用新副本替换失败的副本,还是在重新分析数据时缩放副本数量。运行MySQL应用程序可能需要安排备份,在扩展后重新配置副本,设置故障检测和修复等。

使用Kubernetes API模型,管理逻辑直接嵌入到特定于应用程序的Kubernetes API中,例如,“MySQL”API。然后,用户使用kubectl等工具通过YAML配置声明性地管理应用程序,就像它们对Kubernetes对象一样。此方法称为应用程序控制器,也称为操作器(Operator)。控制器是支持核心Kubernetes API的强大技术,可用于构建除应用程序之外的多种解决方案,例如Autoscalers、Workload API、Configuration API、CI/CD系统等。

然而,虽然开发者可以在原始API机器之上构建新的控制器,这样做是一种“从零开始”的DIY经验,要求开发者学习有关如何实现Kubernetes库的低层细节,手写样板代码并且建自己的解决方案用于集成测试、RBAC配置、文档等。Kubebuilder通过应用从构建核心Kubernetes API中学到的经验,使这种体验变得简单容易。

构建应用程序控制器和Kubernetes API入门

通过提供创建控制器和Kubernetes API的结构化解决方案,开发者可以使用从开发核心Kubernetes API中学到的经验教训和最佳实践,获得“开箱即用”的体验。使用kubebuilder创建新的“Hello World”控制器非常简单:

- 创建项目:kubebuilder init

- 定义新的API:kubebuilder create api

- 构建并运行提供的main函数:make install & make run

这将生成API和Controller供用户修改,以及集成测试、RBAC规则、DockerfilesMakefile等。在实现代码写好添加到项目之后,用户创建工件通过以下方式发布他们的API:

- 从提供的Dockerfile构建并推送容器映像:make docker-build & make docker-push

- 部署API:make deploy

无论您已经是控制器的爱好者,还是只想了解是什么,请查看kubebuilder代码或查看kubebuilder书中的示例,以了解构建控制器可以是简单易用。

Kubebuilder是SIG API Machinery旗下的一个项目,由Google、Red Hat、VMware、华为等众多公司的贡献者积极开发。

网站/代码:

https://github.com/kubernetes-sigs/kubebuilder

文档:

https://book.kubebuilder.io/

即时交流:

Slack:http://slack.k8s.io/#kubebuilder

邮件列表:

kubebuilder(https://groups.google.com/forum/#!forum/kubebuilder)

订阅邮件列表,也可以发电邮到:

kubebuilder+subscribe@googlegroups.com


CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。

云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Nginx】nginx简单入门,nginx负载均衡
配置好了之后,执行 nginx -t 检查配置是否有错,出现下面的提示则没有错误,有错误会写出错误多少行的
Alone88
2019/10/22
1.9K0
【Nginx】nginx简单入门,nginx负载均衡
nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案。nginx可以用轮询、IP哈希、URL哈希等方式调度后端服务器,同时也能提供健康检查功能。目前有众多公司均已经部署使用nginx实现基于七层的负载均衡功能。 1)Nginx负载均衡 为了实现Nginx的反向代理以及负载均衡功能,应用中需要用到两个模块,HttpProxyModule和HttpUpstreamModule模块;其中HttpProxyModule模块的作用是将用户的数据请求转发到其他服
洗尽了浮华
2018/01/23
8K0
nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
nginx的配置、虚拟主机、负载均衡和反向代理(2)
上一篇中,我仔细了学习了一下nginx的各个模块的详细讲解,基本对它的一个整体有了一个把握。这一篇就来几个实际的例子来看下虚拟主机、负债均衡和反向代理,是如何做到的。
bear_fish
2018/09/19
1.1K0
Nginx-正反向代理及负载均衡
目录 正/反向代理 代理的方式 Nginx代理服务支持的协议 代理实战 部署web01 部署Lb01 Nginx代理常用参数 添加发往后端服务器的请求头信息 代理到后端的TCP连接、响应、返回等超时时间 proxy_buffer代理缓冲区 配置代理优化文件 负载均衡 负载均衡的架构 负载均衡的实现 连接池 实现步骤 负载均衡的比例 轮询 权重 ip_hash 负载均衡后端状态 down backup max_fails、fail_timeout proxy_next_upstream监控的错误类型 负载均衡
HammerZe
2022/03/25
4960
Nginx-正反向代理及负载均衡
05 . Nginx的反向代理与负载均衡
Nginx负载均衡 客户端的访问都被代理到后端的一台服务器上,最终会出现性能瓶颈,从而导致效率降低,前端用户的访问速度急速下降,要解决这个问题就需要添加多台httpd,同时承受大量并发连接,每台服务器接收的并发连接降低了,效率就高了,nginx作为代理,在收到客户端的请求时,会分发到不同的后端服务器,但是nginx收到请求之后会分配到那个服务器之上,有什么规律和需求,就需要用调度算法来分配. upstream语法 # upstream的定义必须在server{..}外定义 upstream <组名
iginkgo18
2020/09/27
8870
借住Nginx实现负载均衡和灰度发布的功能
Nginx实现灰度发布的功能 1. 对URL进行单独的过滤发布 upstream A { ip_hash; server 10.0.XX.XX:9000; server 10.0.XX.XX:9010; } upstream B { #server 10.0.5.76:9000; server 10.0.5.76:9010; } server { listen 80; server_n
用户1499526
2019/07/15
6800
nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能。 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)
洗尽了浮华
2018/01/22
3.3K0
nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
Nginx反向代理+负载均衡简单实现(https方式)
背景: A服务器(192.168.1.8)作为nginx代理服务器 B服务器(192.168.1.150)作为后端真实服务器 现在需要访问https://testwww.huanqiu.com请求时从A服务器上反向代理到B服务器上 这就涉及到nginx反向代理https请求的配置了~~~ ------------------------------------------------------------------------------------ A服务器(192.168.1.8)上的操作流程: 1
洗尽了浮华
2018/01/22
2.9K0
学完Nginx/OpenResty详解,反向代理与负载均衡配置,能涨薪多少
接下来介绍Nginx的重要功能:反向代理+负载均衡。单体Nginx的性能虽然不错,但也是有瓶颈的。打个比方:用户请求发起一个请求,网站显示的图片量比较大,如果这个时候有大量用户同时访问,全部的工作量都集中到了一台服务器上,服务器不负重压,可能就崩溃了。高并发场景下,自然需要多台服务器进行集群,既能防止单个节点崩溃导致平台无法使用,又能提高一些效率。一般来说,Nginx完成10万多用户同时访问,程序就相对容易崩溃。
愿天堂没有BUG
2022/10/28
2.5K0
学完Nginx/OpenResty详解,反向代理与负载均衡配置,能涨薪多少
nginx url转发的一种方式「建议收藏」
比如,以前是 http://vampire.com/elasticsearch 现在要转到http://vampire.com/search 配置如下:
全栈程序员站长
2022/11/09
1.3K0
Nginx一文精通:反向代理、负载均衡、动静分离
   Nginx(“engine x”)一个具有高性能的HTTP和反向代理的WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器,是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是伊戈尔·赛索耶夫将Nginx的源码进行了开源,这也为Nginx的发展提供了良好的保障。
上分如喝水
2021/08/16
7430
Nginx一文精通:反向代理、负载均衡、动静分离
Nginx学习笔记(一)功能和负载均衡
就目前来说nginx已经是计算机系统的必备组件了。主要的作用有静态资源代理、反向服务代理,负载均衡,虚拟主机,fastcgi等。
写一点笔记
2022/08/11
2890
FastDFS蛋疼的集群和负载均衡(五)之tracker配置反向代理
Interesting things 接着上一篇。 What did you do today 我们需要在tracker1和tracker2配置反向代理服务,那么你肯定会问了什么是反向代理服务? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 在tracker1和tracker2上解压ngx_ca
用户2032165
2018/06/05
8550
Nginx负载均衡策略_nginx高可用集群和负载均衡集群
最基本的配置方法,它是upstream的默认策略,每个请求会按时间顺序逐一分配到不同的后端服务器。
全栈程序员站长
2022/11/08
1.3K0
012.Nginx负载均衡
负载均衡是将负载分摊到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验。对于Web应用,通过负载均衡,可以将一台服务器的工作扩展到多台服务器中执行,提高整个网站的负载能力。其本质采用一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。
木二
2020/07/21
1.4K0
012.Nginx负载均衡
【腾讯云的1001种玩法】Nginx + Tomcat 负载均衡配置详解
张泽旭
2017/02/28
2.9K0
nginx 负载均衡
nginx的负载均衡用于upstream模板定义的后端服务器列表中选取一台服务器接收用户的请求。一个基本的upstream模块如下:
九霄道长
2021/04/09
6580
nginx 负载均衡
基于CentOS 7配置Nginx负载均衡
Nginx负载均衡是Nginx的核心功能之一,工作在第七层。它是除了lvs,haproxy之外市面上较为流行的一种负载均衡软件。可以将客户端请求分流到跨多个计算资源(如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器)的工作负载分布。负载均衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免任何单一资源的过载。使用具有负载平衡的多个组件而不是单个组件可以通过冗余来提高可靠性和可用性。本文简要描述Nginx负载均衡的配置,供大家参考。
Leshami
2018/08/06
1.2K0
Nginx常见配置及应用
Nginx 使用ngx_http_proxy_module来完成对后端服务的代理。
兜兜转转
2023/03/06
9820
Nginx反向代理、负载均衡功能
环境: [root@db02 ~]# uname -a Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [root@db02 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) Nginx反向代理知识概念 反向代理与正向代理 此图来源: http://colabug.com/866451.html
863987322
2018/01/24
6360
Nginx反向代理、负载均衡功能
推荐阅读
相关推荐
【Nginx】nginx简单入门,nginx负载均衡
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档