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

南宁定制建站电子商务网站案例分析

南宁定制建站,电子商务网站案例分析,wordpress pdo mysql扩展,wordpress官方主题论坛背景 需要监听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.yayakq.cn/news/682231/

相关文章:

  • 网站建设内部下单流程如何建立自己的网站步骤
  • 无锡网站建设首选捷搜dw2018网页制作步骤图文
  • 营销型企业网站测评表公司免费推广网站
  • 如何做流量网站旅游网站建设报告
  • 郑州做网站排名公司个人网站制作模板主页
  • 万网网站流量门户网站制作建设
  • 垄断了网站建设蜜雪冰城推广软文
  • 西湖区住房和城市建设局网站wordpress产品页
  • 如何用ps做网站首页图片找工厂货源上什么平台
  • 建设网站好公司哪家好wordpress post攻击
  • 网站开发电脑配置要求wordpress菜谱主题
  • 上海响应式网站开发北京网页制作培训学校
  • 红酒集团网站建设软件开发外包公司排
  • 网站建设餐饮做网站多少钱西宁君博美评
  • 中国制造网官方网站入口打不开wordpress
  • 抚州市建设局招标办网站网站推广有哪些优势
  • 怎么做网站文件验证c4d一般要学多久
  • 做网站用vs中国大唐集团公司招聘网站
  • 网站优化主要优化哪些地方湖北医院网站建设
  • 商城网站策划书长沙高端网站建设服务
  • 公司怎么做网站平台做网站建议
  • 网站建设 pdf教程中国建设银行网站客户注册
  • 网站规划与设计方向网站建设空间多大
  • 网站建设管理与维护功能意义合肥网站推广优化
  • 关键字网站采集湘潭关键词优化服务
  • joomla 网站模版wordpress 客户端配置文件
  • 网站界面设计起着决定性作用中国最新消息新闻报道
  • 网站制作公司茂名网站系统建设申请报告
  • 企业商务网站 建设方案苏州自助建站软件
  • 现代网站开发建设流程网站域名所有权证明