教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

webhook是什么(gitwebhook)

  欢迎访问我的GitHub
  https://github.com/zq2599/blog_demos
  内容:所有原创的分类和汇总,及配套源码,涉及Java、Docker、Kubernetes、DevOPS等本篇概览本文是《kubebuilder实战》系列的第七篇,之前的文章咱们完成了一个Operator的设计、开发、部署、验证过程,为了让整个过程保持简洁并且篇幅不膨胀,实战中刻意跳过了一个重要的知识点:webhook,如今是时候学习它了,这是个很重要的功能;本篇由以下部分构成:介绍webhook;结合前面的elasticweb项目,设计一个使用webhook的场景;准备工作生成webhook开发(配置)开发(编码)部署验证Defaulter(添加默认值)验证Validator(合法性校验)关于webhook熟悉java开发的读者大多知道过滤器(Servlet Filter),如下图,外部请求会先到达过滤器,做一些统一的操作,例如转码、校验,然后才由真正的业务逻辑处理请求:
  Operator中的webhook,其作用与上述过滤器类似,外部对CRD资源的变更,在Controller处理之前都会交给webhook提前处理,流程如下图,该图来自《Getting Started with Kubernetes | Operator and Operator Framework》:
  再来看看webhook具体做了哪些事情,如下图,kubernetes官方博客明确指出webhook可以做两件事:修改(mutating)和验证(validating)
  kubebuilder为我们提供了生成webhook的基础文件和代码的工具,与制作API的工具类似,极大地简化了工作量,咱们只需聚焦业务实现即可;基于kubebuilder制作的webhook和controller,如果是同一个资源,那么它们在同一个进程中;设计实战场景为了让实战有意义,咱们为前面的elasticweb项目上增加需求,让webhook发挥实际作用;如果用户忘记输入总QPS,系统webhook负责设置默认值1300,操作如下图:
  为了保护系统,给单个pod的QPS设置上限1000,如果外部输入的singlePodQPS值超过1000,就创建资源对象失败,如下图所示:
  源码下载本篇实战中的源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):
  这个git项目中有多个文件夹,kubebuilder相关的应用在kubebuilder文件夹下,如下图红框所示:
  kubebuilder文件夹下有多个子文件夹,本篇对应的源码在elasticweb目录下,如下图红框所示:
  准备工作和controller类似,webhook既能在kubernetes环境中运行,也能在kubernetes环境之外运行;如果webhook在kubernetes环境之外运行,是有些麻烦的,需要将证书放在所在环境,默认地址是:/tmp/k8s-webhook-server/serving-certs/tls.{crt,key}为了省事儿,也为了更接近生产环境的用法,接下来的实战的做法是将webhook部署在kubernetes环境中为了让webhook在kubernetes环境中运行,咱们要做一点准备工作安装cert manager,执行以下操作:kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.2.0/cert-manager.yaml上述操作完成后会新建很多资源,如namespace、rbac、pod等,以pod为例如下:[root@hedy ~]# kubectl get pods --all-namespaces NAMESPACE        NAME                                       READY   STATUS    RESTARTS   AGE cert-manager     cert-manager-6588898cb4-nvnz8              1/1     Running   1          5d14h cert-manager     cert-manager-cainjector-7bcbdbd99f-q645r   1/1     Running   1          5d14h cert-manager     cert-manager-webhook-5fd9f9dd86-98tm9      1/1     Running   1          5d14h ...操作完成后,准备工作结束,可以开始实战了;生成webhook进入elasticweb工程下,执行以下命令创建webhook:kubebuilder create webhook \ --group elasticweb \ --version v1 \ --kind ElasticWeb \ --defaulting \ --programmatic-validation上述命令执行完毕后,先去看看main.go文件,如下图红框1所示,自动增加了一段代码,作用是让webhook生效:
  上图红框2中的elasticweb_webhook.go就是新增文件,内容如下:package v1  import ( 	"k8s.io/apimachinery/pkg/runtime" 	ctrl "sigs.k8s.io/controller-runtime" 	logf "sigs.k8s.io/controller-runtime/pkg/log" 	"sigs.k8s.io/controller-runtime/pkg/webhook" )  // log is for logging in this package. var elasticweblog = logf.Log.WithName("elasticweb-resource")  func (r *ElasticWeb) SetupWebhookWithManager(mgr ctrl.Manager) error { 	return ctrl.NewWebhookManagedBy(mgr). 		For(r). 		Complete() }  // EDIT THIS FILE!  THIS IS SCAFFOLDING FOR YOU TO OWN!  //  kubebuilder:webhook:path=/mutate-elasticweb-com-bolingcavalry-v1-elasticweb,mutating=true,failurePolicy=fail,groups=elasticweb.com.bolingcavalry,resources=elasticwebs,verbs=create;update,versions=v1,name=melasticweb.kb.io  var _ webhook.Defaulter =

弑是什么意思(弑的读音)太史公读秦楚之际,曰初作难(nn),发于陈涉,虐(n)戾(l)灭秦自项氏拨乱诛暴,平定海内,卒践帝祚(zu),成于汉家。1初作难最初起兵反秦2陈涉名胜,字涉,秦二世元年(前209年DarolynMilburn被华盛顿邮报评为2020年明星护士在华盛顿邮报最近选择Darolyn米尔本MSNCRNA作为2020星护士TM米尔本(Milburn)是美国护士麻醉师协会(AANA)的成员是巴尔的摩约翰霍普金斯医院的认证注册护士麻碳捕集与封存技术可能会在电网的深度脱碳中发挥关键作用布拉特集团的顾问公司进行的一项新研究评估了公用事业公司实现脱碳目标的碳捕集与封存(CCS)的成本效益研究表明目前存在一些机会以较低的净成本为CCS改造燃煤电厂将来CCS的经济性可能DDS的AleksandrDayanayev被美国大陆航空名人录认可DDS的亚历山大middot达纳亚耶夫(AleksandrDayanayev)因其在牙科领域的杰出成就而被美国大陆名人录评为顶级牙医并以其作为施坦威创始人的专业成就得到认可家庭牙科MDSSGiulianiDDS被美国大陆航空名人录认可DDS的MonicaS。Giuliani因其在牙科医学领域的杰出贡献并被美国大陆名人录评为杰出杰出牙医并表彰她在牙科医学领域的杰出贡献日出牙科集团的全科医生和所有人SunriseDNemetonTV通过Quantum提升体育媒体制作游戏昆腾公司(NASDAQQMCO)一个全球性的先驱和领导者在视频和非结构化数据的解决方案宣布Nemeton电视已经部署组成的量子存储解决方案QuantumStorNextreg横向扩增加关键的无线电功能并建立5G知识产权组合美国5G连接和数据传输系统的纯粹开发商COMSovereignHoldingCorp。(OTCQBCOMS)(ldquoCOMSovereignrdquo或ldquoCompanyBelongLife利用AI和机器学习来创建超个性化的患者体验Belong。Life(Belong)是管理和导航治疗的社交和专业网络的开发商,并且是全球最大的癌症患者社交网络的创建者,很荣幸地宣布联合创始人兼首席执行官EliranMalki被腾讯音乐娱乐集团宣布发行票据腾讯音乐娱乐集团(ldquo腾讯音乐rdquo,lsquoTMErsquo或lsquo公司rsquo)(NYSETME),领先的在线音乐娱乐平台在中国,宣布根据市场条件和其他因素,美国的测试厨房孩子们推出了针对年轻和新兴厨师的畅销书系列中的第三本食谱美国最受信赖和启发性的儿童烹饪品牌之一的美国TestKitchenKids,宣布推出其备受赞誉的年轻厨师食谱系列中的第三本食谱完全DIY食谱为年轻厨师。目前已开放预购,并发布于10四川汉源县滑坡灾害已致7人死亡怎么回事这两天关于四川汉源县滑坡灾害已致7人死亡在网上的热度是非常高的,很多网友们也都是非常关注四川汉源县滑坡灾害已致7人死亡这个事情,为此小编也是在网上进行了一番搜索查阅相关的信息,那么
为什么每天做梦(频繁梦到前任是怎么回事)连续两天做的梦自己都觉得是噩梦,明明自己已成家生娃了偏偏梦镜里自己仿佛还是单身但是又有现在这个孩子,梦见自己怀孕了打胎了,有的是前任的偏偏前任都不知道打胎的事情,又有另外一个入不了猫屎为什么那么臭(怎样去除屋子里猫臭味)相信每位铲屎官都有被猫屎臭醒的经历,这么可爱的小猫咪,拉屎怎么会那么臭呢?但你知道吗,猫咪的祖先们在野外生存的时候,拉的屎可是几乎木有味道的啊!为何生活条件更好的今天,家猫的屎会臭为什么wifi受限(wifi受限怎么解决办法)Wifi出现黄色感叹号怎么办?经常使用无线wifi上网的朋友们都知道有时候会遇到wifi受限制的情况,这时候怎么弄都连接不上不能使用,经常断网,各种糟心。下面,我们就来看看Win8感冒为什么头晕(为什么感冒整个人晕晕的)头痛的原因有许多,感冒发烧,血压异常,贫血,头部有障碍,煤气中毒,酒精中毒,便秘,神经疲劳等都会引发头胀痛。如果是身体异常导致的头部胀痛,需要及时治疗才能缓解。生活中难免会有头胀痛为什么早上刷牙(早上刷牙恶心是什么原因)相信很多人都有这样的体验,那就是每天早上刷牙的时候都有恶心干呕的情况。正常情况下是不会有这种问题发生的,排除是女性怀孕这一可能,就要小心注意啦,有可能是一些疾病在背后作祟。不管怎样鱼头为什么不能吃(女孩子为什么不能吃鱼头)在我们的饮食结构中,主要分为淀粉类蔬菜类和肉类,其中肉类和水产所占的比例排第三,主要为人体提供蛋白质和维生素,以及部分的矿物质元素,比如和血液息息相关的铁元素,构成骨骼的钙元素等,眉毛为什么浓(为什么眉毛很浓密)导语不知大家有没有观察过身边人的眉毛,你会发现每个人的眉毛形状长短稀疏都不一样。有的人眉毛非常浓密,甚至两条眉毛都快连到一起,而有的人眉毛则非常稀疏,只有普通人的一半。在古时候,人办户口需要多久(自己单办户口本需要多久)3月16日,陈先生向记者展示拿到的新户口本。文图半岛全媒体记者孙桂东3月15日,青岛发布了落户新政,大幅放宽了落户限制。3月16日,市南区八大峡派出所就迎来了首批办理落户的群众,仅奶粉一罐吃多久(婴儿奶粉一罐吃多久)你家娃的配方奶粉喝到几岁?前段时间聊到这个话题,留言区里一些回答蛮让人意外的。左右滑动查看更多不少孩子都六七岁了,还在喝四段配方奶粉???糕妈一直在普及,孩子吃饭营养比较均衡的话,大便蹲多久(蹲厕所蹲几分钟合适)排便是每个人都要经历的,因此被当做跟呼吸一样自然,殊不知排便也需要有排便的规律,这样才是对健康最为有利的事情,本文就来介绍一下一天的最佳排便时间是多会?人体最佳排便时间1清晨一天当罗非鱼蒸多久(清蒸罗非鱼是冷水蒸还是热水蒸)今天天气不错,跟小伙伴去河里钓鱼,最后的鱼获还是不错的。我也拿了新鲜的罗非鱼回来,做了一道清蒸罗非鱼,这样蒸出来的罗非鱼鱼肉鲜嫩又入味,真好吃。做法和步骤分享给大家哟1将罗非鱼去鱼