Каково время согласования для контроллера в kubernetes, развернутого с оператором-SDK или вообще?Можете ли вы установить время для восстановления? - PullRequest
1 голос
/ 30 апреля 2019

Контроллеры / операторы Kubernetes являются одним из шаблонов для разработки приложений Kubernetes.Одним из основных процессов Kubernetes, который выполняется, является цикл согласования контроллера.

Хотелось бы узнать, какой интервал времени по умолчанию вызывается или запускается циклом реконфигурации?

Можно ли изменить этот интервал для запуска цикла реконверсии, если нет событий, захваченныхконтроллер?

1 Ответ

1 голос
/ 01 мая 2019

Ответ здесь: это действительно зависит от контроллера. Например, если вы увидите опции kube-controller-manager , вы увидите, что один двоичный файл включает в себя все эти контроллеры:

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

Как вы, возможно, знаете, то, как работает процесс синхронизации, заключается в том, что сначала контроллер слушает информеры, затем, если есть обновление информера, контроллер помещает обновление в рабочую очередь, а затем процесс синхронизации запускается очень часто. В этом примере , пример контроллера, это время определяется вторым параметром этого вызова :

// time.Second means 1 second
go wait.Until(c.runWorker, time.Second, stopCh)

Until - это функция API, описанная здесь .

Имейте в виду, что в примере есть нить 2 , что означает, что две операции синхронизации могут выполняться одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...