kube-controller-manager

Огляд

Менеджер контролерів Kubernetes — це демон, який вбудовує основні цикли керування, що постачаються з Kubernetes. У робототехніці та автоматизації автоматизації, цикл керування — це нескінченний цикл, який регулює стан системи. У Kubernetes контролер — це цикл керування, який відстежує спільний стан кластера через apiserver і вносить зміни, намагаючись перевести поточний стан у бажаний. Приклади контролерів, які постачаються з Kubernetes сьогодні це контролер реплікації, контролер точок доступу, контролер просторів імен та контролер службових облікових записів.

kube-controller-manager [flags]

Параметри

https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/#storage-force-detach-on-timeout32     Типово: 5
--allocate-node-cidrs

Чи повинні CIDR для Podʼів бути виділені та налаштовані хмарним провайдером. Вимагає --cluster-cidr.

--allow-metric-labels stringToString     Типово: []

Зіставляє metric-label зі списком дозволених значень цієї мітки. Формат ключа — <MetricName>,<LabelName>. Формат значення — <дозволене_значення>,<дозволене_значення>...наприклад, metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'.

--allow-metric-labels-manifest string

Шлях до файлу маніфесту, який містить зіставлення allow-list. Формат файлу такий самий, як і у прапорця --allow-metric-labels. Зауважте, що прапорець --allow-metric-labels замінить файл маніфесту.

--attach-detach-reconcile-sync-period duration     Типово: 1m0s

Час очікування синхронізації узгоджувача між приєднанням та відʼєднанням томів. Ця тривалість має бути більшою за одну секунду, і збільшення цього значення порівняно зі стандартним може призвести до того, що томи не будуть збігатися з Podʼами.

--authentication-kubeconfig string

файл kubeconfig, що вказує на 'core' сервер kubernetes з достатніми правами для створення tokenreviews.authentication.k8s.io. Цей параметр не є обовʼязковим. Якщо він порожній, всі запити токенів вважаються анонімними, і жоден клієнтський центр сертифікації не шукається в кластері.

--authentication-skip-lookup

Якщо значення false, authentication-kubeconfig буде використано для пошуку відсутньої конфігурації автентифікації в кластері.

--authentication-token-webhook-cache-ttl duration     Типово: 10s

Тривалість кешування відповідей від автентифікатора токенів webhook.

--authentication-tolerate-lookup-failure

Якщо це значення встановлено, невдачі у пошуку відсутньої конфігурації автентифікації в кластері не вважатимуться фатальними. Зауважте, що це може призвести до автентифікації, яка розглядає всі запити як анонімні.

--authorization-always-allow-paths strings     Типово: "/healthz,/readyz,/livez"

Список HTTP-шляхів, які пропускаються під час авторизації, тобто авторизуються без звʼязку з 'core' сервером kubernetes.

--authorization-kubeconfig string

файл kubeconfig, що вказує на 'core' сервер kubernetes з достатніми правами для створення subjectaccessreviews.authorization.k8s.io. Цей параметр не є обовʼязковим. Якщо він порожній, всі запити, не пропущені авторизацією, будуть заборонені.

--authorization-webhook-cache-authorized-ttl duration     Типово: 10s

Тривалість кешування 'authorized' відповідей від авторизатора вебхука.

--authorization-webhook-cache-unauthorized-ttl duration     Типово: 10s

Тривалість кешування 'unauthorized' відповідей від авторизатора вебхука.

--bind-address string     Типово: 0.0.0.0

IP-адреса, на якій буде прослуховуватися порт --secure-port. Відповідний інтерфейс(и) має бути доступним для решти кластера, а також для CLI/веб-клієнтів. Якщо цей параметр не вказано або вказано невизначену адресу (0.0.0.0 або ::), будуть використані всі інтерфейси та сімейства IP-адрес.

--cert-dir string

Тека, в якій знаходяться TLS-сертифікати. Якщо вказано --tls-cert-file та --tls-private-key-file, цей прапорець буде проігноровано.

--cidr-allocator-type string     Типово: "RangeAllocator"

Тип розподілювача CIDR для використання

--client-ca-file string

Якщо встановлено, будь-який запит, що надає клієнтський сертифікат, підписаний одним із центрів сертифікації у клієнтському файлі, буде автентифіковано за допомогою ідентифікатора, що відповідає загальному імені клієнтського сертифіката.

--cloud-config string

Шлях до файлу конфігурації хмарного провайдера. Порожній рядок, якщо файл конфігурації відсутній.

--cloud-provider string

Провайдер хмарних сервісів. Порожній рядок для відсутності провайдера.

--cluster-cidr string

Діапазон CIDR для вузлів у кластері. Використовується лише коли --allocate-node-cidrs=true; якщо false, цей параметр буде проігноровано.

--cluster-name string     Типово: "kubernetes"

Префікс екземпляру для кластера.

--cluster-signing-cert-file string

Файл, що містить PEM-кодований сертифікат X509 CA, який використовується для випуску кластерних сертифікатів. Якщо вказано, можна не вказувати більш специфічний прапорець --cluster-signing-*.

--cluster-signing-duration duration     Типово: 8760h0m0s

Буде вказано максимальний термін дії підписаних сертифікатів. Окремі CSR можуть запитувати коротші сертифікати, встановивши spec.expirationSeconds.

--cluster-signing-key-file string

Імʼя файлу, що містить PEM-кодований закритий ключ RSA або ECDSA, який використовується для підпису кластерних сертифікатів. Якщо вказано, не можна вказувати більш специфічний прапорець --cluster-signing-*.

--cluster-signing-kube-apiserver-client-cert-file string

Файл, що містить PEM-кодований сертифікат X509 CA, який використовується для випуску сертифікатів для підписувача kubernetes.io/kube-apiserver-client. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-kube-apiserver-client-key-file string

Файл, що містить PEM-кодований приватний ключ RSA або ECDSA, який використовується для підпису сертифікатів для підписувача kubernetes.io/kube-apiserver-client. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-kubelet-client-cert-file string

Файл, що містить PEM-кодований сертифікат X509 CA, який використовується для випуску сертифікатів для підписувача kubernetes.io/kube-apiserver-client-kubelet. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-kubelet-client-key-file string

Файл, що містить PEM-кодований приватний ключ RSA або ECDSA, який використовується для підпису сертифікатів для підписувача kubernetes.io/kube-apiserver-client-kubelet. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-kubelet-serving-cert-file string

Файл, що містить PEM-кодований сертифікат X509 CA, який використовується для випуску сертифікатів для підписувача kubernetes.io/kubelet-serving. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-kubelet-serving-key-file string

Файл, що містить PEM-кодований приватний ключ RSA або ECDSA, який використовується для підпису сертифікатів для підписувача kubernetes.io/kubelet-serving. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-legacy-unknown-cert-file string

Файл, що містить PEM-кодований сертифікат X509 CA, який використовується для видачі сертифікатів для підписувача kubernetes.io/legacy-unknown. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--cluster-signing-legacy-unknown-key-file string

Файл, що містить PEM-кодований приватний ключ RSA або ECDSA, який використовується для підпису сертифікатів для kubernetes.io/legacy-unknown signer. Якщо вказано, --cluster-signing-{cert,key}-file не має бути задано.

--concurrent-cron-job-syncs int32     Типово: 5

Кількість обʼєктів завдання cron, яким дозволено синхронізуватися одночасно. Більша кількість = швидше реагують завдання, але більше навантаження на процесор (і мережу)

--concurrent-daemonset-syncs int32     Default: 2

Кількість обʼєктів daemonset, яким дозволено синхронізуватися одночасно. Більша кількість = більш чутливі daemonset, але більше навантаження на процесор (і мережу)

--concurrent-deployment-syncs int32     Типово: 5

Кількість обʼєктів deployment, яким дозволено синхронізуватися одночасно. Більша кількість = швидше розгортання, але більше навантаження на процесор (і мережу)

--concurrent-endpoint-syncs int32     Типово: 5

Кількість операцій синхронізації точок доступу, які будуть виконуватися одночасно. Більша кількість = швидше оновлення точок доступу, але більше навантаження на процесор (і мережу)

--concurrent-ephemeralvolume-syncs int32     Типово: 5

Кількість операцій синхронізації ефемерних томів, які будуть виконуватися одночасно. Більша кількість = швидше оновлення ефемерних томів, але більше навантаження на процесор (і мережу)

Кількість обʼєктів Job, яким дозволено синхронізуватися одночасно. Більша кількість = швидше реагують завдання, але більше навантаження на процесор (і мережу)

--concurrent-namespace-syncs int32     Типово: 10

Кількість обʼєктів namespace, яким дозволено синхронізуватися одночасно. Більша кількість = більш оперативне завершення роботи простору імен, але більше навантаження на процесор (і мережу)

--concurrent-rc-syncs int32     Типово: 5

Кількість контролерів реплікації, яким дозволено синхронізуватися одночасно. Більша кількість = більш оперативне керування реплікацією, але більше навантаження на процесор (і мережу)

--concurrent-replicaset-syncs int32     Типово: 5

Кількість replica set, які дозволено синхронізувати одночасно. Більша кількість = більш оперативне керування реплікацією, але більше навантаження на процесор (і мережу)

--concurrent-resource-quota-syncs int32     Типово: 5

Кількість квот ресурсів, які дозволено синхронізувати одночасно. Більша кількість = більш оперативне керування квотами, але більше навантаження на процесор (і мережу)

--concurrent-service-endpoint-syncs int32     Типово: 5

Кількість операцій синхронізації точок доступу сервісів, які будуть виконуватися одночасно. Чим більше число, тим швидше оновлюватиметься зріз кінцевих точок, але більше завантажуватиметься процесор (і мережа). Стандартно дорівнює 5.

--concurrent-service-syncs int32     Типово: 1

Кількість сервісів, яким дозволено синхронізуватися одночасно. Більша кількість = більш оперативне управління послугами, але більше навантаження на процесор (і мережу)

--concurrent-serviceaccount-token-syncs int32     Типово: 5

Кількість обʼєктів токенів службових облікових записів, яким дозволено синхронізуватися одночасно. Більша кількість = швидша генерація токенів, але більше навантаження на процесор (і мережу)

--concurrent-statefulset-syncs int32     Типово: 5

Кількість обʼєктів statefulset, яким дозволено синхронізуватися одночасно. Більша кількість = більш швидкодіючі statefulsets, але більше навантаження на процесор (і мережу)

--concurrent-ttl-after-finished-syncs int32     Типово: 5

Кількість обробників ttl-after-finished-controller, яким дозволено синхронізуватися одночасно.

--concurrent-validating-admission-policy-status-syncs int32     Типово: 5

Кількість обробників ValidatingAdmissionPolicyStatusController, яким дозволено синхронізуватися одночасно.

--configure-cloud-routes     Типово: true

Чи повинні CIDR, виділені за допомогою allocate-node-cidrs, бути налаштовані на хмарному провайдері.

--contention-profiling

Активувати профілювання блоків, якщо профілювання увімкнено

--controller-start-interval duration

Інтервал між запуском менеджерів контролерів.

--controllers strings     Типово: "*"

Перелік контролерів для ввімкнення. '*' вмикає всі типово визначені контролери, 'foo' вмикає контролер з назвою 'foo', '-foo' вимикає контролер з назвою 'foo'.
Всі контролери: bootstrap-signer-controller, certificatesigningrequest-approving-controller, certificatesigningrequest-cleaner-controller, certificatesigningrequest-signing-controller, cloud-node-lifecycle-controller, clusterrole-aggregation-controller, cronjob-controller, daemonset-controller, deployment-controller, disruption-controller, endpoints-controller, endpointslice-controller, endpointslice-mirroring-controller, ephemeral-volume-controller, garbage-collector-controller, horizontal-pod-autoscaler-controller, job-controller, kube-apiserver-serving-clustertrustbundle-publisher-controller, legacy-serviceaccount-token-cleaner-controller, namespace-controller, node-ipam-controller, node-lifecycle-controller, node-route-controller, persistentvolume-attach-detach-controller, persistentvolume-binder-controller, persistentvolume-expander-controller, persistentvolume-protection-controller, persistentvolumeclaim-protection-controller, pod-garbage-collector-controller, replicaset-controller, replicationcontroller-controller, resourceclaim-controller, resourcequota-controller, root-ca-certificate-publisher-controller, selinux-warning-controller, service-cidr-controller, service-lb-controller, serviceaccount-controller, serviceaccount-token-controller, statefulset-controller, storage-version-migrator-controller, storageversion-garbage-collector-controller, taint-eviction-controller, token-cleaner-controller, ttl-after-finished-controller, ttl-controller, validatingadmissionpolicy-status-controller, volumeattributesclass-protection-controller
Стандартно вимкнені контролери: bootstrap-signer-controller, token-cleaner-controller

--disable-attach-detach-reconcile-sync

Вимкнути синхронізацію узгоджувача приєднання томів. Вимкнення цієї опції може призвести до невідповідності томів і Podʼів. Використовуйте з обережністю.

--disable-force-detach-on-timeout

Заборонити примусове відʼєднання томів на основі максимального часу відʼєднання та стану вузла. Якщо цей прапорець встановлено у true, необхідно використовувати функцію примусового вимкнення вузла для відновлення після збою вузла. Докладні відомості див. на сторінці https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/#storage-force-detach-on-timeout

--disable-http2-serving

Якщо значення true, HTTP2-сервіс буде вимкнено [default=false].

--disabled-metrics strings

Цей прапорець забезпечує аварійний вихід для метрик, що поводяться не належним чином. Щоб вимкнути метрику, ви маєте вказати її повну назву. Застереження: вимкнення метрик має вищий пріоритет, ніж показ прихованих метрик.

--emulated-version strings

У версіях різні компоненти емулюють свої можливості (API, функції, ...) інших компонентів.
Якщо встановлено, компонент буде емулювати поведінку цієї версії замість базової двійкової версії.
Формат версії може бути лише major.minor, наприклад: '--emulated-version=wardle=1.2,kube=1.31'. Можливі варіанти:
kube=1.32..1.32 (default=1.32) Якщо компонент не вказано, стандартно використовується "kube"

--enable-dynamic-provisioning     Типово: true

Увімкніть динамічне створення ресурсів для середовищ, які його підтримують.

--enable-garbage-collector     Типово: true

Вмикає загальний збирач сміття. ПОВИНЕН бути синхронізований з відповідним прапорцем kube-apiserver.

--enable-hostpath-provisioner

Вмикає забезпечення HostPath PV під час роботи без хмарного провайдера. Це дозволяє тестувати та розробляти функції резервування. HostPath provisioning не підтримується жодним чином, не працюватиме в багатовузловому кластері і не повинен використовуватися ні для чого іншого, окрім тестування або розробки.

--enable-leader-migration

Чи вмикати міграцію лідера контролера.

--endpoint-updates-batch-period duration

Тривалість періоду пакетного оновлення точок доступу. Обробка змін у пакунках буде затримана на цей час, щоб обʼєднати їх з потенційними майбутніми оновленнями і зменшити загальну кількість оновлень точок доступу. Більша кількість = більша затримка програмування точок доступу, але менша кількість згенерованих ревізій точок доступу

--endpointslice-updates-batch-period duration

Тривалість періоду пакетного оновлення зрізу точок доступу. Обробка змін у пакунках буде затримана на цей час, щоб обʼєднати їх з потенційними майбутніми оновленнями і зменшити загальну кількість оновлень точок доступу. Більша кількість = більша затримка програмування точок доступу, але менша кількість згенерованих ревізій точок доступу

--external-cloud-volume-plugin string

Втулок для використання, коли хмарний провайдер встановлений як зовнішній. Може бути порожнім, слід встановлювати лише тоді, коли хмарний провайдер є зовнішнім. Наразі використовується для дозволу роботи node-ipam-controller, persistentvolume-binder-controller, persistentvolume-expander-controller та attach-detach-controller у вбудованих хмарних провайдерів.

--feature-gates colonSeparatedMultimapStringString

Розділений комами список пар component:key=value, які описують функціональні можливості для альфа/експериментальних можливостей різних компонентів.
Якщо компонент не вказано, стандартно використовується "kube". Цей прапорець можна викликати багаторазово. Наприклад: --feature-gates 'wardle:featureA=true,wardle:featureB=false' --feature-gates 'kube:featureC=true'. Можливі варіанти:
kube:APIResponseCompression=true|false (BETA - default=true)
kube:APIServerIdentity=true|false (BETA - default=true)
kube:APIServerTracing=true|false (BETA - default=true)
kube:APIServingWithRoutine=true|false (ALPHA - default=false)
kube:AllAlpha=true|false (ALPHA - default=false)
kube:AllBeta=true|false (BETA - default=false)
kube:AllowUnsafeMalformedObjectDeletion=true|false (ALPHA - default=false)
kube:AnonymousAuthConfigurableEndpoints=true|false (BETA - default=true)
kube:AnyVolumeDataSource=true|false (BETA - default=true)
kube:AuthorizeNodeWithSelectors=true|false (BETA - default=true)
kube:AuthorizeWithSelectors=true|false (BETA - default=true)
kube:BtreeWatchCache=true|false (BETA - default=true)
kube:CBORServingAndStorage=true|false (ALPHA - default=false)
kube:CPUManagerPolicyAlphaOptions=true|false (ALPHA - default=false)
kube:CPUManagerPolicyBetaOptions=true|false (BETA - default=true)
kube:CPUManagerPolicyOptions=true|false (BETA - default=true)
kube:CRDValidationRatcheting=true|false (BETA - default=true)
kube:CSIMigrationPortworx=true|false (BETA - default=true)
kube:CSIVolumeHealth=true|false (ALPHA - default=false)
kube:ClientsAllowCBOR=true|false (ALPHA - default=false)
kube:ClientsPreferCBOR=true|false (ALPHA - default=false)
kube:CloudControllerManagerWebhook=true|false (ALPHA - default=false)
kube:ClusterTrustBundle=true|false (ALPHA - default=false)
kube:ClusterTrustBundleProjection=true|false (ALPHA - default=false)
kube:ComponentFlagz=true|false (ALPHA - default=false)
kube:ComponentStatusz=true|false (ALPHA - default=false)
kube:ConcurrentWatchObjectDecode=true|false (BETA - default=false)
kube:ConsistentListFromCache=true|false (BETA - default=true)
kube:ContainerCheckpoint=true|false (BETA - default=true)
kube:ContextualLogging=true|false (BETA - default=true)
kube:CoordinatedLeaderElection=true|false (ALPHA - default=false)
kube:CrossNamespaceVolumeDataSource=true|false (ALPHA - default=false)
kube:CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false)
kube:DRAAdminAccess=true|false (ALPHA - default=false)
kube:DRAResourceClaimDeviceStatus=true|false (ALPHA - default=false)
kube:DisableAllocatorDualWrite=true|false (ALPHA - default=false)
kube:DynamicResourceAllocation=true|false (BETA - default=false)
kube:EventedPLEG=true|false (ALPHA - default=false)
kube:ExternalServiceAccountTokenSigner=true|false (ALPHA - default=false)
kube:GracefulNodeShutdown=true|false (BETA - default=true)
kube:GracefulNodeShutdownBasedOnPodPriority=true|false (BETA - default=true)
kube:HPAScaleToZero=true|false (ALPHA - default=false)
kube:HonorPVReclaimPolicy=true|false (BETA - default=true)
kube:ImageMaximumGCAge=true|false (BETA - default=true)
kube:ImageVolume=true|false (ALPHA - default=false)
kube:InPlacePodVerticalScaling=true|false (ALPHA - default=false)
kube:InPlacePodVerticalScalingAllocatedStatus=true|false (ALPHA - default=false)
kube:InPlacePodVerticalScalingExclusiveCPUs=true|false (ALPHA - default=false)
kube:InTreePluginPortworxUnregister=true|false (ALPHA - default=false)
kube:InformerResourceVersion=true|false (ALPHA - default=false)
kube:JobBackoffLimitPerIndex=true|false (BETA - default=true)
kube:JobManagedBy=true|false (BETA - default=true)
kube:JobPodReplacementPolicy=true|false (BETA - default=true)
kube:JobSuccessPolicy=true|false (BETA - default=true)
kube:KubeletCgroupDriverFromCRI=true|false (BETA - default=true)
kube:KubeletCrashLoopBackOffMax=true|false (ALPHA - default=false)
kube:KubeletFineGrainedAuthz=true|false (ALPHA - default=false)
kube:KubeletInUserNamespace=true|false (ALPHA - default=false)
kube:KubeletPodResourcesDynamicResources=true|false (ALPHA - default=false)
kube:KubeletPodResourcesGet=true|false (ALPHA - default=false)
kube:KubeletSeparateDiskGC=true|false (BETA - default=true)
kube:KubeletTracing=true|false (BETA - default=true)
kube:LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - default=false)
kube:LoggingAlphaOptions=true|false (ALPHA - default=false)
kube:LoggingBetaOptions=true|false (BETA - default=true)
kube:MatchLabelKeysInPodAffinity=true|false (BETA - default=true)
kube:MatchLabelKeysInPodTopologySpread=true|false (BETA - default=true)
kube:MaxUnavailableStatefulSet=true|false (ALPHA - default=false)
kube:MemoryQoS=true|false (ALPHA - default=false)
kube:MultiCIDRServiceAllocator=true|false (BETA - default=false)
kube:MutatingAdmissionPolicy=true|false (ALPHA - default=false)
kube:NFTablesProxyMode=true|false (BETA - default=true)
kube:NodeInclusionPolicyInPodTopologySpread=true|false (BETA - default=true)
kube:NodeLogQuery=true|false (BETA - default=false)
kube:NodeSwap=true|false (BETA - default=true)
kube:OpenAPIEnums=true|false (BETA - default=true)
kube:PodAndContainerStatsFromCRI=true|false (ALPHA - default=false)
kube:PodDeletionCost=true|false (BETA - default=true)
kube:PodLevelResources=true|false (ALPHA - default=false)
kube:PodLifecycleSleepAction=true|false (BETA - default=true)
kube:PodLifecycleSleepActionAllowZero=true|false (ALPHA - default=false)
kube:PodLogsQuerySplitStreams=true|false (ALPHA - default=false)
kube:PodReadyToStartContainersCondition=true|false (BETA - default=true)
kube:PortForwardWebsockets=true|false (BETA - default=true)
kube:ProcMountType=true|false (BETA - default=false)
kube:QOSReserved=true|false (ALPHA - default=false)
kube:RecoverVolumeExpansionFailure=true|false (BETA - default=true)
kube:RecursiveReadOnlyMounts=true|false (BETA - default=true)
kube:RelaxedDNSSearchValidation=true|false (ALPHA - default=false)
kube:RelaxedEnvironmentVariableValidation=true|false (BETA - default=true)
kube:ReloadKubeletServerCertificateFile=true|false (BETA - default=true)
kube:RemoteRequestHeaderUID=true|false (ALPHA - default=false)
kube:ResilientWatchCacheInitialization=true|false (BETA - default=true)
kube:ResourceHealthStatus=true|false (ALPHA - default=false)
kube:RotateKubeletServerCertificate=true|false (BETA - default=true)
kube:RuntimeClassInImageCriApi=true|false (ALPHA - default=false)
kube:SELinuxChangePolicy=true|false (ALPHA - default=false)
kube:SELinuxMount=true|false (ALPHA - default=false)
kube:SELinuxMountReadWriteOncePod=true|false (BETA - default=true)
kube:SchedulerAsyncPreemption=true|false (ALPHA - default=false)
kube:SchedulerQueueingHints=true|false (BETA - default=true)
kube:SeparateCacheWatchRPC=true|false (BETA - default=true)
kube:SeparateTaintEvictionController=true|false (BETA - default=true)
kube:ServiceAccountNodeAudienceRestriction=true|false (BETA - default=true)
kube:ServiceAccountTokenNodeBinding=true|false (BETA - default=true)
kube:ServiceTrafficDistribution=true|false (BETA - default=true)
kube:SidecarContainers=true|false (BETA - default=true)
kube:StorageNamespaceIndex=true|false (BETA - default=true)
kube:StorageVersionAPI=true|false (ALPHA - default=false)
kube:StorageVersionHash=true|false (BETA - default=true)
kube:StorageVersionMigrator=true|false (ALPHA - default=false)
kube:StructuredAuthenticationConfiguration=true|false (BETA - default=true)
kube:SupplementalGroupsPolicy=true|false (ALPHA - default=false)
kube:SystemdWatchdog=true|false (BETA - default=true)
kube:TopologyAwareHints=true|false (BETA - default=true)
kube:TopologyManagerPolicyAlphaOptions=true|false (ALPHA - default=false)
kube:TopologyManagerPolicyBetaOptions=true|false (BETA - default=true)
kube:TranslateStreamCloseWebsocketRequests=true|false (BETA - default=true)
kube:UnauthenticatedHTTP2DOSMitigation=true|false (BETA - default=true)
kube:UnknownVersionInteroperabilityProxy=true|false (ALPHA - default=false)
kube:UserNamespacesPodSecurityStandards=true|false (ALPHA - default=false)
kube:UserNamespacesSupport=true|false (BETA - default=false)
kube:VolumeAttributesClass=true|false (BETA - default=false)
kube:VolumeCapacityPriority=true|false (ALPHA - default=false)
kube:WatchCacheInitializationPostStartHook=true|false (BETA - default=false)
kube:WatchFromStorageWithoutResourceVersion=true|false (BETA - default=false)
kube:WatchList=true|false (BETA - default=true)
kube:WatchListClient=true|false (BETA - default=true)
kube:WinDSR=true|false (ALPHA - default=false)
kube:WinOverlay=true|false (BETA - default=true)
kube:WindowsCPUAndMemoryAffinity=true|false (ALPHA - default=false)
kube:WindowsGracefulNodeShutdown=true|false (ALPHA - default=false)
kube:WindowsHostNetwork=true|false (ALPHA - default=true)

--flex-volume-plugin-dir string     Типово: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"

Повний шлях до теки, у якій втулок flex volume має шукати додаткові втулки сторонніх розробників.

-h, --help

Довідка kube-controller-manager

--horizontal-pod-autoscaler-cpu-initialization-period duration     Типово: 5m0s

Період після запуску Зod, коли проби CPU можуть бути пропущені.

--horizontal-pod-autoscaler-downscale-stabilization duration     Типово: 5m0s

Період, за який автомасштабування буде дивитися в минуле і не зменшуватиме масштаб нижче будь-якої рекомендації, наданої ним протягом цього періоду.

--horizontal-pod-autoscaler-initial-readiness-delay duration     Типово: 30s

Період після запуску Pod, протягом якого готовність змінюється, буде вважатися початковою готовністю.

--horizontal-pod-autoscaler-sync-period duration     Типово: 15s

Період для синхронізації кількості Podʼів у horizontal pod autoscaler.

--horizontal-pod-autoscaler-tolerance float     Типово: 0.1

Мінімальна зміна (від 1.0) у співвідношенні бажаної та фактичної метрики для того, щоб horizontal pod autoscaler розглянув можливість масштабування.

--http2-max-streams-per-connection int

Обмеження, яке сервер надає клієнтам на максимальну кількість потоків у зʼєднанні HTTP/2. Нуль означає використання стандартних значень golang.

--kube-api-burst int32     Типово: 30

Сплеск для використання під час спілкування з apiserver на kubernetes.

--kube-api-content-type string     Типово: "application/vnd.kubernetes.protobuf"

Тип вмісту запитів, що надсилаються до apiserver.

--kube-api-qps float     Типово: 20

QPS для використання під час спілкування з kubernetes apiserver.

--kubeconfig string

Шлях до файлу kubeconfig з інформацією про авторизацію та розташування майстра (розташування майстра може бути перевизначено прапорцем master).

--large-cluster-size-threshold int32     Типово: 50

Кількість вузлів, з яких node-lifecycle-controller вважає кластер великим для цілей логіки виселення. --secondary-node-eviction-rate неявно перевизначено у 0 для кластерів такого розміру або менших. Зауваження: Якщо вузли знаходяться у декількох зонах, цей поріг буде розглядатися як поріг розміру вузла зони для кожної зони, щоб визначити швидкість виселення вузла незалежно.

--leader-elect     Типово: true

Запускає клієнта виборів лідера і отримує лідерство перед виконанням основного циклу. Увімкніть цю опцію під час запуску реплікованих компонентів для забезпечення високої доступності.

--leader-elect-lease-duration duration     Типово: 15s

Тривалість, протягом якої кандидати, що не є лідерами, чекатимуть після поновлення лідерства, перш ніж спробувати зайняти лідерство в лідируючому, але не поновленому лідерському слоті. Це фактично максимальний час, протягом якого лідер може бути зупинений, перш ніж його замінить інший кандидат. Це застосовується лише у тому випадку, якщо вибори лідера увімкнені.

--leader-elect-renew-deadline duration     Типово: 10s

Інтервал між спробами виконуючого обовʼязки майстра поновити слот лідера до того, як він перестане бути лідером. Він має бути меншим за тривалість оренди. Це застосовується лише у тому випадку, якщо вибори лідера увімкнені.

--leader-elect-resource-lock string     Типово: "leases"

Тип обʼєкта ресурсу, який використовується для блокування під час виборів лідера. Підтримуються такі варіанти 'leases'.

--leader-elect-resource-name string     Типово: "kube-controller-manager"

Імʼя обʼєкта ресурсу, який використовується для блокування під час виборів лідера.

--leader-elect-resource-namespace string     Типово: "kube-system"

Простір імен обʼєкта ресурсу, який використовується для блокування під час виборів лідера.

--leader-elect-retry-period duration     Типово: 2s

Час, протягом якого клієнти повинні чекати між спробою отримання та поновленням лідерства. Це стосується лише тих випадків, коли увімкнено обрання лідера.

--leader-migration-config string

Шлях до конфігураційного файлу для міграції лідера контролерів або порожній, щоб використовувати значення, яке є стандартною конфігурацією диспетчера контролерів. Конфігураційний файл має бути типу LeaderMigrationConfiguration, група controllermanager.config.k8s.io, версія v1alpha1.

--legacy-service-account-token-clean-up-period duration     Типово: 8760h0m0s

Період часу з моменту останнього використання токену застарілого облікового запису до його видалення.

--log-flush-frequency duration     Типово: 5s

Максимальна кількість секунд між очищеннями логів

--log-text-info-buffer-size quantity

[Alpha] У текстовому форматі з розділеними потоками виводу інформаційні повідомлення можуть буферизуватися на деякий час для підвищення продуктивності. Стандартне значення, рівне нулю байт, вимикає буферизацію. Розмір можна вказати як кількість байт (512), кратну 1000 (1K), кратну 1024 (2Ki) або степінь (3M, 4G, 5Mi, 6Gi). Увімкніть функцію LoggingAlphaOptions, щоб скористатися цією можливістю.

--log-text-split-stream

[Alpha] У текстовому форматі записувати повідомлення про помилки до stderr та інформаційні повідомлення до stdout. Стандартно до stdout записується один потік. Увімкніть функцію LoggingAlphaOptions, щоб скористатися цією можливістю.

--logging-format string     Типово: "text"

Задає формат логу. Дозволені формати: "text".

--master string

Адреса сервера API Kubernetes (перевизначає будь-яке значення в kubeconfig).

--max-endpoints-per-slice int32     Типово: 100

Максимальна кількість точок доступу, яку буде додано до зрізу EndpointSlice. Чим більше точок на зріз, тим менше зрізів точок, але більші ресурси. Стандартне значення — 100.

--min-resync-period duration     Типово: 12h0m0s

Період ресинхронізації у рефлекторах буде випадковим між MinResyncPeriod та 2*MinResyncPeriod.

--mirroring-concurrent-service-endpoint-syncs int32     Типово: 5

Кількість операцій синхронізації точок доступу сервісів, які будуть виконуватися одночасно контролером endpointslice-mirroring-controller. Більша кількість = швидше оновлення зрізу точок доступу, але більше навантаження на процесор (і мережу). Стандартне значення — 5.

--mirroring-endpointslice-updates-batch-period duration

Тривалість періоду пакетного оновлення EndpointSlice для контролера endpointslice-mirroring-controller. Обробка змін EndpointSlice буде затримана на цей період, щоб обʼєднати їх з потенційними майбутніми оновленнями і зменшити загальну кількість оновлень EndpointSlice. Більша кількість = більша затримка програмування точок доступу, але менша кількість згенерованих ревізій точок доступу

--mirroring-max-endpoints-per-subset int32     Типово: 1000

Максимальна кількість точок доступу, яку буде додано до зрізу EndpointSlice контролером endpointslice-mirroring-controller. Чим більше точок на зріз, тим менше зрізів точок, але більші ресурси. Стандартно дорівнює 100.

--namespace-sync-period duration     Типово: 5m0s

Період синхронізації оновлень життєвого циклу простору імен

--node-cidr-mask-size int32

Розмір маски для вузла cidr у кластері. Стандартне значення 24 для IPv4 та 64 для IPv6.

--node-cidr-mask-size-ipv4 int32

Розмір маски для IPv4 вузла cidr у двостековому кластері. Стандартне значення — 24.

--node-cidr-mask-size-ipv6 int32

Розмір маски для IPv6 вузла cidr у двостековому кластері. Стандартне значення — 64.

--node-eviction-rate float     Типово: 0.1

Кількість вузлів на секунду, на яких видаляються підтипи у випадку відмови вузла, коли зона є справною (див. --unhealthy-zone-threshold для визначення справності/несправності зони). Під зоною мається на увазі весь кластер у небагатозонних кластерах.

--node-monitor-grace-period duration     Типово: 50s

Кількість часу, протягом якого ми дозволяємо вузлу не відповідати на запити, перш ніж позначити його як несправний. Має бути у N разів більшою за nodeStatusUpdateFrequency kubelet, де N означає кількість спроб, дозволених kubelet для публікації статусу вузла. Це значення також має бути більшим за суму HTTP2_PING_TIMEOUT_SECONDS і HTTP2_READ_IDLE_TIMEOUT_SECONDS

--node-monitor-period duration     Типово: 5s

Період синхронізації NodeStatus у контролері cloud-node-lifecycle-controller.

--node-startup-grace-period duration     Типово: 1m0s

Час, протягом якого ми дозволяємо стартовому вузлу не відповідати, перш ніж позначити його як несправний.

--permit-address-sharing

Якщо це значення дорівнює true, SO_REUSEADDR буде використано при привʼязці порту. Це дозволяє паралельно привʼязуватись до підстановочних IP-адрес, таких як 0.0.0.0, і до конкретних IP-адрес, а також дозволяє уникнути очікування ядром звільнення сокетів у стані TIME_WAIT. [default=false]

--permit-port-sharing

Якщо значення true, SO_REUSEPORT буде використано при привʼязці порту, що дозволяє більш ніж одному екземпляру привʼязуватися до тієї самої адреси та порту. [default=false]

--profiling     Типово: true

Вмикання профілювання через веб-інтерфейс host:port/debug/pprof/

--pv-recycler-increment-timeout-nfs int32     Типово: 30

Інкремент часу, що додається для кожного Gi до ActiveDeadlineSeconds для поду NFS scrubber

--pv-recycler-minimum-timeout-hostpath int32     Типово: 60

Мінімальне значення ActiveDeadlineSeconds, яке потрібно використовувати для HostPath Recycler pod. Це лише для розробки та тестування і не працюватиме у багатовузловому кластері.

--pv-recycler-minimum-timeout-nfs int32     Типово: 300

TМінімальне значення ActiveDeadlineSeconds, яке потрібно використовувати для pod NFS Recycler

--pv-recycler-pod-template-filepath-hostpath string

Шлях до файлу з визначенням тома, який використовується як шаблон для переробки постійного тома HostPath. Він призначений лише для розробки та тестування і не працюватиме у багатовузловому кластері.

--pv-recycler-pod-template-filepath-nfs string

Шлях до файлу з визначенням pod, який використовується як шаблон для рециркуляції постійних томів NFS

--pv-recycler-timeout-increment-hostpath int32     Типово: 30

інкремент часу, що додається до ActiveDeadlineSeconds на кожен Gi, для HostPath Pod scrubber. Це призначено лише для розробки та тестування і не працюватиме у багатовузловому кластері.

--pvclaimbinder-sync-period duration     Типово: 15s

Період синхронізації постійних томів і заявок на постійні томи

--requestheader-allowed-names strings

Список загальних імен клієнтських сертифікатів, щоб дозволити вказувати імена користувачів у заголовках, визначених параметром --requestheader-username-headers. Якщо він порожній, можна використовувати будь-який сертифікат клієнта, підтверджений центрами сертифікації у файлі --requestheader-client-ca-file.

--requestheader-client-ca-file string

Пакет кореневих сертифікатів для перевірки клієнтських сертифікатів на вхідних запитах перед тим, як довіряти іменам користувачів у заголовках, визначених параметром --requestheader-username-headers. ПОПЕРЕДЖЕННЯ: зазвичай не залежить від авторизації, яку вже виконано для вхідних запитів.

--requestheader-extra-headers-prefix strings     Типово: "x-remote-extra-"

Список префіксів заголовків запитів для перевірки. Пропонується X-Remote-Extra-.

--requestheader-group-headers strings     Типово: "x-remote-group"

Список заголовків запитів для перевірки на наявність груп. Пропонується X-Remote-Group.

--requestheader-uid-headers strings

Список заголовків запитів для перевірки на наявність UID. Пропонується X-Remote-Uid. Потребує увімкнення функції RemoteRequestHeaderUID.

--requestheader-username-headers strings     Типово: "x-remote-user"

Список заголовків запитів для перевірки на наявність імен користувачів. X-Remote-User є поширеним.

--resource-quota-sync-period duration     Типово: 5m0s

Період синхронізації статусу використання квоти в системі

--root-ca-file string

Якщо встановлено, цей кореневий центр сертифікації буде включено до токену секрету службового облікового запису. Це має бути дійсний пакет центрів сертифікації з PEM-кодуванням.

--route-reconciliation-period duration     Типово: 10s

Період узгодження маршрутів, створених для Node хмарним провайдером.

--secondary-node-eviction-rate float     Типово: 0.01

Кількість вузлів на секунду, на яких видаляються pods у разі відмови вузла, коли зона є несправною (див. --unhealthy-zone-threshold для визначення healthy/unhealthy зони). Під зоною мається на увазі весь кластер у небагатозонних кластерах. Це значення неявно перевизначається на 0, якщо розмір кластера менший за --large-cluster-size-threshold.

--secure-port int     Типово: 10257

Порт, на якому обслуговувати HTTPS з автентифікацією та авторизацією. Якщо 0, не обслуговувати HTTPS взагалі.

--service-account-private-key-file string

Вмикає застарілі токени на основі секретності, якщо встановлено. Файл, що містить приватний ключ RSA або ECDSA, закодований PEM, який використовується для підпису токенів службових облікових записів.

--service-cluster-ip-range string

Діапазон CIDR для Services у кластері. Використовується лише коли --allocate-node-cidrs=true; якщо false, цей параметр буде проігноровано.

--show-hidden-metrics-for-version string

Попередня версія, для якої ви хочете показати приховані метрики. Значення має лише попередня мінорна версія, інші значення не будуть дозволені. Формат: <major>.<minor>, наприклад: '1.16'. Мета цього формату — переконатися, що ви маєте можливість помітити, що наступний реліз приховує додаткові метрики, замість того, щоб дивуватися, коли вони будуть назавжди вилучені в наступному релізі.

--terminated-pod-gc-threshold int32     Типово: 12500

Кількість podʼів, що завершили роботу, які можуть існувати до того, як збирач завершених podʼів почне їх видалення. Якщо <= 0, то збирач завершених podʼів вимкнено.

--tls-cert-file string

Файл, що містить стандартний сертифікат x509 для HTTPS. (Сертифікат центру сертифікації, якщо такий є, додається після сертифіката сервера). Якщо HTTPS-сервіс увімкнено, а --tls-cert-file і --tls-private-key-file не вказано, для публічної адреси буде згенеровано самопідписаний сертифікат і ключ, які буде збережено в теці, вказаній в --cert-dir.

--tls-cipher-suites strings

Розділений комами список наборів шифрів для сервера. Якщо не вказано, буде використано стандартний набір шифрів Go.
Значення, яким надається перевага: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256.
Небезпечні значення: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_RC4_128_SHA.

--tls-min-version string

Мінімальна підтримувана версія TLS. Можливі значення: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13

--tls-private-key-file string

Файл, що містить стандартний приватний ключ x509, який відповідає --tls-cert-file.

--tls-sni-cert-key string

Пара шляхів до файлів сертифіката x509 і приватного ключа, до яких за бажанням додається список шаблонів доменів, які є повними доменними іменами, можливо, з префіксальними підстановчими сегментами. Доменні шаблони також дозволяють використовувати IP-адреси, але IP-адреси слід використовувати лише в тому випадку, якщо apiserver має доступ до IP-адреси, запитуваної клієнтом. Якщо шаблони домену не надано, витягуються імена сертифікатів. Збіги без підстановочних знаків мають перевагу над збігами з підстановочними знаками, а явні шаблони доменів мають перевагу над отриманими іменами. Для кількох пар ключ/сертифікат використовуйте --tls-sni-cert-key кілька разів. Приклади: "example.crt,example.key" або "foo.crt,foo.key:*.foo.com,foo.com".

--unhealthy-zone-threshold float     Типово: 0.55

Частка вузлів у зоні, яка не повинна бути Ready (мінімум 3) для того, щоб зона вважалася несправною.

--use-service-account-credentials

Якщо true, використовуйте окремі облікові дані для кожного контролера.

-v, --v int

число для визначення ступеня деталізації логу

--version version[=true]

--version, --version=raw виводить інформацію про версію та виходить; --version=vX.Y.Z... встановлює вказану версію

--vmodule pattern=N,...

список параметрів pattern=N, розділених комами, для файлового фільтрування логу (працює лише для текстового формату логу).

Цю сторінку було стоврено автоматично.

Якщо у вас є наміри надіслати пропозиції щодо неї, додайте згадку, про те що сторінку створено автоматично в описі вашого повідомлення. Зміни мають відбутись всюди в проєкті Kubernetes.

Змінено December 17, 2024 at 11:53 AM PST: Sync upstream after v1.32 release (d7b08bbf8e)