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

网站推广优化的方法360优化大师历史版本

网站推广优化的方法,360优化大师历史版本,上海市工程建设咨询监理有限公司,深圳网站建设方维背景 需要监听K8s中CRD资源的变动, 做出相应的处理, 需要针对 CRD资源建立informer 实现 dynamicClient 是 创建的K8s的client, 这里使用的是 Unstructured 接収的CRD的结果, 加工的时候使用了convertUnstructuredProject 加工了一下, convertUnstructuredProject 实现下面提…

背景

需要监听K8s中CRD资源的变动, 做出相应的处理, 需要针对 CRD资源建立informer

实现

dynamicClient 是 创建的K8s的client, 这里使用的是 Unstructured 接収的CRD的结果,
加工的时候使用了convertUnstructuredProject 加工了一下, convertUnstructuredProject 实现下面提供
projectGvk 是 GroupVersionResource , 根据自己的CRD定义

		// 创建sharedInformerFactory,第二个参数为同步周期,也就是多久从APIServer List一次,并更新到本地缓存informer := cache.NewSharedInformer(&cache.ListWatch{ListFunc: func(options v1.ListOptions) (runtime.Object, error) {return dynamicClient.Resource(projectGvk).List(ctx, options)},WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {return dynamicClient.Resource(projectGvk).Watch(ctx, options)},},&unstructured.Unstructured{},60*time.Second)// 创建informerif err != nil {log.Error("Failed to create informer", zap.Error(err))continue}// 注册资源事件处理方法informer.AddEventHandler(cache.ResourceEventHandlerFuncs{AddFunc: func(obj interface{}) {},UpdateFunc: func(oldObj, newObj interface{}) {newData, err := convertUnstructuredProject(newObj)if err != nil {log.Error("Failed to convert unstructured project", zap.Error(err))}oldData, err := convertUnstructuredProject(oldObj)if err != nil {log.Error("Failed to convert unstructured project", zap.Error(err))}if oldData.Generation != newData.Generation {fmt.Println("update", newData)saveProject(newData, clsuter.Platform)}},DeleteFunc: func(obj interface{}) {data, err := convertUnstructuredProject(obj)if err != nil {log.Error("Failed to convert unstructured project", zap.Error(err))}fmt.Println("delete", data)deleteProject(data, clsuter.Platform)},})// 启动stopCh := make(chan struct{})log.Info("Starting project informer factory")informer.Run(stopCh)// 等待父协程处理<-ctx.Done()close(stopCh)log.Info("Shutting down project informer factory")

convertUnstructuredProject的实现 Project 是实现的 runtime.Object 接口的struct

func convertUnstructuredProject(obj interface{}) (crd *Project, err error) {// 将obj转换为*unstructured.Unstructured类型u, ok := obj.(*unstructured.Unstructured)if !ok {fmt.Println("Failed to convert object to *unstructured.Unstructured")return}// 将u对象转换为YourCRDType类型crd = &Project{}err = runtime.DefaultUnstructuredConverter.FromUnstructured(u.UnstructuredContent(), crd)if err != nil {fmt.Println("Failed to convert object to YourCRDType")return}return
}
http://www.ds6.com.cn/news/100688.html

相关文章:

  • 网站安全检测官网百度惠生活怎么优化排名
  • 如何做中介网站什么软件可以发帖子做推广
  • 网站点击后的loading是怎么做的关键词优化需要从哪些方面开展?
  • 仿网站开发百度付费推广
  • 可以悬赏做任务的叫什么网站营销的主要目的有哪些
  • 自己做开奖网站东莞seo技术
  • 免费做网站. 优帮云天津百度推广开户
  • 网页制作考证视频什么是seo技术
  • 合肥网站建设优化学习利用搜索引擎营销成功的案例
  • python 网站开发 用什么框架semen是什么意思
  • php网站开发外包公众号推广引流
  • 网站建设去哪里学引擎搜索入口
  • 建阅读网站seo点击排名软件哪家好
  • 出国自助游做攻略的网站如何利用互联网进行宣传推广
  • 京东网站架构热搜榜排名今日第一
  • 中国建设管理信息网站关键字广告
  • 吉林省长春市长春网站建设哪家好环球军事网最新军事新闻最新消息
  • 稻草人网站开发网页设计成品源代码
  • wordpress 判断页面重庆seo技术博客
  • 武汉制作企业网站网站建设解决方案
  • 网站seo哪家公司好谷歌seo优化推广
  • 建水网站开发百度公司的企业文化
  • dw网页设计免费下载关于进一步优化当前疫情防控措施
  • seo网站模版中国站长之家官网
  • 网站SEO基础代做推广竞价
  • 平台下载素材网站开发seo一个月赚多少钱
  • 哪些网站可以做免费答题分析影响网站排名的因素
  • 公司网页设计制作有哪些昆明seocn整站优化
  • 个人如果做网站赚钱吗seo综合查询网站
  • 网站建设怎么弄哪家建设公司网站