Kubernetes控制器/运算符是开发Kubernetes应用程序的模式之一。运行的核心Kubernetes进程之一是控制器协调循环。
我想知道调用或触发侦测循环的默认时间间隔是多少?
如果控制器没有捕获到事件,是否可以修改此间隔以触发侦测循环?
发布于 2019-05-01 08:56:38
这里的答案是:这真的取决于控制器。例如,如果您看到kube-controller-manager options,您将看到单个二进制文件包含所有这些控制器:
attachdetach, bootstrapsigner, cloud-node-lifecycle, clusterrole-aggregation, cronjob, csrapproving, csrcleaner, csrsigning, daemonset, deployment, disruption, endpoint, garbagecollector, horizontalpodautoscaling, job, namespace, nodeipam, nodelifecycle, persistentvolume-binder, persistentvolume-expander, podgc, pv-protection, pvc-protection, replicaset, replicationcontroller, resourcequota, root-ca-cert-publisher, route, service, serviceaccount, serviceaccount-token, statefulset, tokencleaner, ttl, ttl-after-finished它们中的一些具有可配置的同步周期,而另一些则没有(内置于控制器中)。例如,对于部署:
--deployment-controller-sync-period duration Default: 30s正如你可能知道的,同步进程的工作方式是,控制器首先侦听告密者,然后如果告密者有更新,控制器将更新放入工作队列,然后同步进程偶尔会启动。在采样控制器this example中,计时器由该call第二个参数确定
// time.Second means 1 second
go wait.Until(c.runWorker, time.Second, stopCh)Until是一个被描述为here的api机制函数。
请记住,该示例有一个2,这意味着两个同步操作可以同时发生。
https://stackoverflow.com/questions/55926233
复制相似问题