当前位置: 首页 > news >正文

中山制作企业网站帝国cms使用教程

中山制作企业网站,帝国cms使用教程,企业网站设计要点,网页视频怎么下载到手机本地视频背景 这半年一直做k8s相关的工作#xff0c;一直接触client-go controller-runtime kubebuilder#xff0c;但是很少有文章将这三个的区别说明白#xff0c;直接用框架是简单#xff0c;但是出了问题就是黑盒#xff0c;这不符合我的理念#xff0c;所以这篇文章从头说起…背景 这半年一直做k8s相关的工作一直接触client-go controller-runtime kubebuilder但是很少有文章将这三个的区别说明白直接用框架是简单但是出了问题就是黑盒这不符合我的理念所以这篇文章从头说起 。 sample-controller 官方的sample-controller就是最简单controller这个项目就用了client-go来实现controller 这是一张在网上被玩烂的图特别的好分为上下两部分上面就是client-go的informer机制informer机制网上一大堆我就不说了一句话总结所谓的 Informer就是一个自带缓存和索引机制可以触发 Handler 的客户端库下面就是实现controller的思路。我主要说下半部分6调度event handler就是调用AddFunction、UpdateFunction、DeleteFunction这几个方法做了什么事呢7就是将对象的key放到了workqueue工作队列中8就是不断的从工作队列读取key9就是根据key从indexer中取对象然后做处理。所以说如果自己写controller就要去实现下半部分。 controller-runtime controller-runtime我的理解就是方便用户去写custom controller的让用户的关注点只关心写处理逻辑也就是reconciler在看一下之前的那一张图678都是固定的套路只有handle object这一步才是处理逻辑所以controller干的事就是帮用户处理了678。congtroller中引入了几个新的概念 Manager需要管理器来创建和启动控制器可以有多个控制器与管理器关联sample-controller中需要自己controller : NewController和controller.Run现在manager帮你干了你只需要写run里面的东西 Reconciler用户需要关心的地方也就上图handle object那部分。上图9部分 Cache之前你的代码需要操作informer现在不需要了直接操作cache就可以前面我也说过Informer就是一个自带缓存和索引机制可以触发 Handler 的客户端库 Controller 一方面向 Informer 注册 eventHandler另一方面从队列中获取数据。controller 将从队列中获取数据并执行用户自定义的 Reconciler 功能。上图678部分 我把上图用大白话说一下controller向informer注册event handlerAddFunction、UpdateFunction、DeleteFunction这些handler就是将对象的key写到工作队列中cache负责把informer启动起来让informer list、watch k8s当有对象发生变化了informer调用之前注册进来的event handler将对象的key放到work queue工作队列中controller不断的从work queue工作队列中获取对象的key然后调用用户自己写的Reconciler程序。Reconciler的逻辑就是拿着key从cache中获取到对象然后将对象协调成期望的状态。 上面这张图总结了哪部分是client-go哪部分是controller-runtime哪部分是需要用户自己写代码的地方可以看出来只需要关心绿色的部分其实也就是之前handle object那部分剩下的controller-runtime都帮你干了看着图细想一下首先是manager的client和cache你写的哪个控制器都是在和k8s的api进行交互所以一个是和k8s连接的客户端一个是k8s对象的缓存数据controller 负责注册event handler并且从workqueue中读取对象最后负责调用用户自己写的reconciler。 kubebuilder kubebuilder是对controller的进一层封装我们用代码说话 下面是controller-runtime的main func main() {mgr, err : ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{})// in a real controller, wed create a new scheme for thiserr api.AddToScheme(mgr.GetScheme())if err ! nil {setupLog.Error(err, unable to add scheme)os.Exit(1)}err ctrl.NewControllerManagedBy(mgr).For(api.ChaosPod{}).Owns(corev1.Pod{}).Complete(reconciler{Client: mgr.GetClient(),scheme: mgr.GetScheme(),})if err : mgr.Start(ctrl.SetupSignalHandler()); err ! nil {setupLog.Error(err, problem running manager)os.Exit(1)} } 下面是kubebuilder的main func main() {mgr, err : ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{Scheme: scheme,})if err (controller.abcReconciler{Client: mgr.GetClient(),Scheme: mgr.GetScheme(),}).SetupWithManager(mgr); err ! nil {setupLog.Error(err, unable to create controller, controller, abcCluster)os.Exit(1)}setupLog.Info(starting manager)if err : mgr.Start(ctrl.SetupSignalHandler()); err ! nil {setupLog.Error(err, problem running manager)os.Exit(1)} }有没有感觉非常的像貌似多了一个SetupWithManager点进去看一下 func (r *abcReconciler) SetupWithManager(mgr ctrl.Manager) error {return ctrl.NewControllerManagedBy(mgr).For(infrastructurev1alpha1.Abc{}).Complete(r) }仔细对比一下是不是发现就是controller runtime里面的NewControllerManagedBy我没有再仔细看下去但是我觉得就是又对controller封装了一下提供给了开发者更简单的使用方式。 总结 具体的可以边用边看但是思路一定要理清不然上来就用kubebuilder出了问题真的不知道发生了什么。
http://www.tj-hxxt.cn/news/230591.html

相关文章:

  • 网店开店流程步骤seo基础课程
  • 百度网站官网入口网址九号线香网站建设
  • 微信营销和网站建设wordpress小说主题模板下载
  • 网站开发人员选项wordpress 列表主题
  • 有关网站备案号规则烟台广告公司南网站建设评价
  • 导购网站需要备案吗免费制作企业贺卡
  • 做gif有什么网站wordpress前端页面存放
  • 扬州百度seo昆明seo关键字推广
  • 外包公司做网站有哪些内容google play 安卓下载
  • 深圳品牌型网站建设网站 多线
  • 哈尔滨专业做网站公司重庆网站供奉战犯
  • 没有网站流量怎么办googleseo关键词
  • 周村网站制作首选公司wordpress获取菜单
  • 网站开发预付款账务处理建设企业网站收费吗
  • 为什么要建设旅游网站怎样做辅导班的网站
  • 做直通车任务的网站怎么做网站卖产品
  • 网站建设公司资讯可以开发哪些网站
  • 网站容易出现的问题苏州展厅设计公司排名
  • 模板网站演示站点怎么做如何做微信商城网站建设
  • 深圳网站制作公司招聘论坛html模板
  • 富德生命人寿保险公司官方网站保单服务做淘宝一样的网站有哪些
  • 网站建设行业swot分析万网的网站建设
  • 平面设计网站中文wordpress 删除rss
  • 龙井建设局网站白云、从化公布重点场所
  • 智云鸟网站建设公司网站用个人备案可以
  • 顾家家居网站是哪个公司做的北京seo网站
  • 旅游商城网站模板免费下载wordpress忘记用户名
  • 做产品的往这看 国外工业设计网站大全网站代理备案步骤
  • wordpress站群代做企业网站好处
  • 烟台消防建设信息网站郑州互联网seo