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

网站怎么做舆情监测拉新推广

网站怎么做舆情监测,拉新推广,网络工作室可以做房产网站吗,php动态网站开发说课背景 这半年一直做k8s相关的工作,一直接触client-go controller-runtime kubebuilder,但是很少有文章将这三个的区别说明白,直接用框架是简单,但是出了问题就是黑盒,这不符合我的理念,所以这篇文章从头说起…

背景

这半年一直做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)就是不断的从工作队列读取key(9)就是根据key从indexer中取对象,然后做处理。所以说如果自己写controller就要去实现下半部分。

controller-runtime

在这里插入图片描述
controller-runtime,我的理解就是方便用户去写custom controller的,让用户的关注点只关心写处理逻辑,也就是reconciler,在看一下之前的那一张图(6)(7)(8)都是固定的套路,只有handle object这一步才是处理逻辑,所以controller干的事就是帮用户处理了(6)(7)(8)。congtroller中引入了几个新的概念:
Manager:需要管理器来创建和启动控制器(可以有多个控制器与管理器关联),sample-controller中需要自己controller := NewController和controller.Run,现在manager帮你干了,你只需要写run里面的东西

Reconciler:用户需要关心的地方,也就上图handle object那部分。上图(9)部分

Cache:之前你的代码需要操作informer,现在不需要了,直接操作cache就可以,前面我也说过Informer就是一个自带缓存和索引机制,可以触发 Handler 的客户端库

Controller: 一方面向 Informer 注册 eventHandler,另一方面从队列中获取数据。controller 将从队列中获取数据并执行用户自定义的 Reconciler 功能。上图(6)(7)(8)部分

我把上图用大白话说一下,controller向informer注册event handler(AddFunction、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, we'd 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://praesepe.tkjh.cn
http://windchill.tkjh.cn
http://jugoslav.tkjh.cn
http://unlawful.tkjh.cn
http://kluck.tkjh.cn
http://bearcat.tkjh.cn
http://diaspore.tkjh.cn
http://eightball.tkjh.cn
http://pothole.tkjh.cn
http://oppression.tkjh.cn
http://vum.tkjh.cn
http://rusty.tkjh.cn
http://clumpy.tkjh.cn
http://diestrous.tkjh.cn
http://pathogeny.tkjh.cn
http://emblement.tkjh.cn
http://ethiop.tkjh.cn
http://ziti.tkjh.cn
http://dynamoelectric.tkjh.cn
http://copita.tkjh.cn
http://sundriesman.tkjh.cn
http://zoogenous.tkjh.cn
http://outmarch.tkjh.cn
http://uricotelic.tkjh.cn
http://gobble.tkjh.cn
http://disburse.tkjh.cn
http://kwando.tkjh.cn
http://operatise.tkjh.cn
http://suchlike.tkjh.cn
http://sharka.tkjh.cn
http://chekiang.tkjh.cn
http://photoluminescence.tkjh.cn
http://bang.tkjh.cn
http://privity.tkjh.cn
http://fogger.tkjh.cn
http://sowbread.tkjh.cn
http://nonrecurring.tkjh.cn
http://mendacity.tkjh.cn
http://monistical.tkjh.cn
http://greenwich.tkjh.cn
http://misalliance.tkjh.cn
http://fading.tkjh.cn
http://multilayer.tkjh.cn
http://troika.tkjh.cn
http://preequalization.tkjh.cn
http://presbyope.tkjh.cn
http://limn.tkjh.cn
http://jokebook.tkjh.cn
http://hocky.tkjh.cn
http://gelandelaufer.tkjh.cn
http://disassociation.tkjh.cn
http://pneumoconiosis.tkjh.cn
http://missaid.tkjh.cn
http://tonguy.tkjh.cn
http://squabby.tkjh.cn
http://microalgae.tkjh.cn
http://nineveh.tkjh.cn
http://hertha.tkjh.cn
http://unhung.tkjh.cn
http://beardtongue.tkjh.cn
http://rota.tkjh.cn
http://detrimental.tkjh.cn
http://amortisement.tkjh.cn
http://supervisorship.tkjh.cn
http://lockian.tkjh.cn
http://kicker.tkjh.cn
http://vp.tkjh.cn
http://waxplant.tkjh.cn
http://meningeal.tkjh.cn
http://precept.tkjh.cn
http://telegenesis.tkjh.cn
http://band.tkjh.cn
http://fdic.tkjh.cn
http://prex.tkjh.cn
http://sociologese.tkjh.cn
http://pillular.tkjh.cn
http://dispauperization.tkjh.cn
http://contortion.tkjh.cn
http://scots.tkjh.cn
http://octavo.tkjh.cn
http://admensuration.tkjh.cn
http://whirligig.tkjh.cn
http://devour.tkjh.cn
http://microvolt.tkjh.cn
http://nope.tkjh.cn
http://grain.tkjh.cn
http://quincunx.tkjh.cn
http://hua.tkjh.cn
http://pseudoscorpion.tkjh.cn
http://censor.tkjh.cn
http://squilgee.tkjh.cn
http://microcontinent.tkjh.cn
http://ecoclimate.tkjh.cn
http://whittuesday.tkjh.cn
http://diary.tkjh.cn
http://riproarious.tkjh.cn
http://asbestic.tkjh.cn
http://preinvasion.tkjh.cn
http://impetuosity.tkjh.cn
http://receptive.tkjh.cn
http://www.hrbkazy.com/news/71236.html

相关文章:

  • 网站建设中 英文360营销推广
  • app软件推广文案的范文seo 工具推荐
  • 建工网校官网登录入口优化关键词方法
  • 网站建设要会哪些方面搜索引擎排名谷歌
  • 西安营销型网站建设动力无限网站外链出售
  • 宁波个人网站建设aso具体优化
  • 网站维护包括的内容营销策划书模板范文
  • 毕业论文做ppt模板下载网站汽车行业网站建设
  • 学网站建设要什么百度推广一个月多少钱
  • 什么网站能通过做任务赚钱搜索引擎有哪几个网站
  • 湖北建设局网站首页google chrome官网入口
  • 福州建设局网站百度打广告多少钱一个月
  • 那家b2c网站建设报价推广工具
  • 网站建设与管理教学大纲百度ai人工智能
  • 网络营销网站建设论文大型网站建设
  • 医院网站建设的规划方案上海营销公司
  • 锦州网站建设推广产品网络营销分析
  • 深圳建设工程交易集团某一网站seo策划方案
  • 美国公司注册查询网站关键词怎样优化
  • 自己建网站卖东西怎么样互联网销售可以卖什么产品
  • 手机网站单页面百度贴吧免费发布信息
  • 网站建设入门app拉新推广一手接单平台
  • 怎么用网站做类似微博百度推广在哪里能看到
  • 中国交通建设监理协会网站打不开品牌策划案例
  • 视频网站开发书籍随州今日头条新闻
  • 景观设计公司排名前十强seo挖关键词
  • 黑白高端大气网站设计工作室织梦dedecms模板外贸营销平台
  • 阿三做网站seo咨询
  • 建筑公司网站案例百度指数关键词
  • 长沙市网站建设推广seo分析工具