内容简介:添加 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 方法,内部实现具体的回调逻辑。
参考
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 一文读懂监督学习、无监督学习、半监督学习、强化学习这四种深度学习方式
- 学习:人工智能-机器学习-深度学习概念的区别
- 统计学习,机器学习与深度学习概念的关联与区别
- 混合学习环境下基于学习行为数据的学习预警系统设计与实现
- 学习如何学习
- 深度学习的学习历程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
第二曲线:跨越“S型曲线”的二次增长
[英]查尔斯·汉迪(Charles Handy) / 苗青 / 机械工业出版社 / 2017-6 / 49.00
S型曲线是每个组织和企业在预测未来时一定会参考的工具,一切事物的发展都逃不开S型曲线(“第一曲线”)。 然而,从公司组织、企业治理、市场的变化,到个人职业发展、社会人际关系以及未来的教育与社会价值,多维度地探讨这个世界需要重新以不同的角度来思考问题,不能够总是停留在“第一曲线”的世界。 如果组织和企业能在第一曲线到达巅峰之前,找到带领企业二次腾飞的“第二曲线”,并且第二曲线必须在第一曲......一起来看看 《第二曲线:跨越“S型曲线”的二次增长》 这本书的介绍吧!
UNIX 时间戳转换
UNIX 时间戳转换
HEX CMYK 转换工具
HEX CMYK 互转工具