内容简介:添加 Controller Runtime 依赖:①③ 创建 Manager 并启动,Manager 内部维护了 Client、Cache 和 Schema 等;
kubernetes-sigs/controller-runtime 是 kubernetes-sigs/kubebuilder 子项目,构建在 kubernetes/client-go 基础之上,实现 Controller。
准备
添加 Controller Runtime 依赖:
go get sigs.k8s.io/controller-runtime
代码
Controller Manager
import ( "context" "os" appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/manager/signals" "sigs.k8s.io/controller-runtime/pkg/reconcile" ) func main() { // ① mgr, err := manager.New(config.GetConfigOrDie(), manager.Options{}) if err != nil { os.Exit(1) } // ② err = builder. ControllerManagedBy(mgr). For(&appsv1.ReplicaSet{}). Owns(&corev1.Pod{}). Complete(&DemoReconcile{}) if err != nil { os.Exit(1) } // ③ if err := mgr.Start(signals.SetupSignalHandler()); err != nil { os.Exit(1) } }
①③ 创建 Manager 并启动,Manager 内部维护了 Client、Cache 和 Schema 等;
② 使用 Builder 模式创建 Controller,并指定 watch 的资源和对应的 Reconcile。
Reconcile
type DemoReconcile struct { client.Client // ① } // ② func (r *DemoReconcile) Reconcile(req reconcile.Request) (reconcile.Result, error) { rs := &appsv1.ReplicaSet{} if err := r.Get(context.TODO(), req.NamespacedName, rs); err != nil { return reconcile.Result{}, err } // TODO 逻辑代码 return reconcile.Result{}, nil } // ③ func (r *DemoReconcile) InjectClient(c client.Client) error { r.Client = c return nil }
①③ 定义 Client 字段,并自动注入;
② Reconcile 方法,内部实现具体的回调逻辑。
参考
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 一文读懂监督学习、无监督学习、半监督学习、强化学习这四种深度学习方式
- 学习:人工智能-机器学习-深度学习概念的区别
- 统计学习,机器学习与深度学习概念的关联与区别
- 混合学习环境下基于学习行为数据的学习预警系统设计与实现
- 学习如何学习
- 深度学习的学习历程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
跨境电商——阿里巴巴速卖通宝典
速卖通大学 编著 / 电子工业出版社 / 2015-1 / 69.00元
跨境电商作为中国电子商务发展的最新趋势,受到了全社会越来越多的重视,大量中国卖家借助阿里巴巴速卖通平台,将产品直接售卖到全球的消费者手中,通过这条短得不能再短的交易链,获得了丰厚的回报。 但同时,跨境电商这一贸易形式,对卖家的综合素质要求比较高:卖家要对海外市场比较熟悉,对跨境物流有所把握,能够用外语进行产品介绍和客户交流,通过跨境结算拿到货款……诸如此类的门槛,让不少新卖家心生畏难,而所有......一起来看看 《跨境电商——阿里巴巴速卖通宝典》 这本书的介绍吧!