translate into Russian:
concepts-nodes; glossary-cloud-provider; glossary-controller
This commit is contained in:
+5
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: "Кластерная Архитектура"
|
||||
weight: 30
|
||||
---
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
---
|
||||
reviewers:
|
||||
- caesarxuchao
|
||||
- dchen1107
|
||||
title: Узлы
|
||||
content_template: concept
|
||||
weight: 10
|
||||
---
|
||||
|
||||
<!-- overview -->
|
||||
|
||||
Kubernetes запускает ваши приложения, помещая контейнеры в Поды для запуска на Узлах (_Nodes_).
|
||||
В зависимотри от кластера узел может быть виртуальной или физической машиной. Каждый узел
|
||||
содержит сервисы, необходимые для запуска
|
||||
{{< glossary_tooltip text="Подов" term_id="pod" >}}, управляемых
|
||||
{{< glossary_tooltip text="плоскостью управления" term_id="control-plane" >}}.
|
||||
|
||||
Обычно у вас есть несколько узлов в кластере; в среде обучения или среде
|
||||
с ограниченными ресурсами у вас может быть только один.
|
||||
|
||||
[Компоненты](/ru/docs/concepts/overview/components/##компоненты-узла) на узле включают
|
||||
{{< glossary_tooltip text="kubelet" term_id="kubelet" >}},
|
||||
{{< glossary_tooltip text="среду выполнения контейнера" term_id="container-runtime" >}} и
|
||||
{{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}.
|
||||
|
||||
<!-- body -->
|
||||
|
||||
## Управление
|
||||
|
||||
Существует два основных способа добавления Узлов в {{< glossary_tooltip text="API сервер" term_id="kube-apiserver" >}}:
|
||||
|
||||
1. Kubelet на узле саморегистрируется узел в плоскости управления
|
||||
2. Вы или другой пользователь вручную добавляете объект Узла
|
||||
|
||||
После того как вы создадите объект Узла или kubelet на узле самозарегистируется,
|
||||
плоскость управления проверяет, является ли новый объект Узла валидным (правильным). Например, если вы
|
||||
попробуйте создать Узел при помощи следующего JSON манифеста:
|
||||
|
||||
```json
|
||||
{
|
||||
"kind": "Node",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
"name": "10.240.79.157",
|
||||
"labels": {
|
||||
"name": "my-first-k8s-node"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Kubernetes создает внутри себя объект Узла (представление). Kubernetes проверяет,
|
||||
что kubelet зарегистрировался на API сервере, который совпадает с значением поля `metadata.name` Узла.
|
||||
Если узел здоров (если все необходимые сервисы запущены),
|
||||
он имеет право на запуск Пода. В противном случае, этот узел игнорируется для любой активности кластера
|
||||
до тех пор, пока он не станет здоровым.
|
||||
|
||||
{{< note >}}
|
||||
Kubernetes сохраняет объект для невалидного Узла и продолжает проверять, становится ли он здоровым.
|
||||
|
||||
Вы или {{< glossary_tooltip term_id="controller" text="контроллер">}} должны явно удалить объект Узла, чтобы
|
||||
остановить проверку здоровья узла.
|
||||
{{< /note >}}
|
||||
|
||||
Имя объекта Узла дожно быть валидным
|
||||
[именем поддомена DNS](/ru/docs/concepts/overview/working-with-objects/names#имена-поддоменов-dns).
|
||||
|
||||
### Саморегистрация Узлов
|
||||
|
||||
Когда kubelet флаг `--register-node` имеет значение _true_ (по умолчанию), то kubelet будет пытаться
|
||||
зарегистрировать себя на API сервере. Это наиболее предпочтительная модель, используемая большиством дистрибутивов.
|
||||
|
||||
Для саморегистрации kubelet запускается со следующими опциями:
|
||||
|
||||
- `--kubeconfig` - Путь к учетным данным для аутентификации на API сервере.
|
||||
- `--cloud-provider` - Как общаться с {{< glossary_tooltip text="облачным провайдером" term_id="cloud-provider" >}}, чтобы прочитать метаданные о себе.
|
||||
- `--register-node` - Автоматически зарегистрироваться на API сервере.
|
||||
- `--register-with-taints` - Зарегистрировать узел с приведенным списком {{< glossary_tooltip text="ограничений (taints)" term_id="taint" >}} (разделенных запятыми `<key>=<value>:<effect>`).
|
||||
|
||||
Ничего не делает, если `register-node` - _false_.
|
||||
- `--node-ip` - IP-адрес узла.
|
||||
- `--node-labels` - {{< glossary_tooltip text="Метки" term_id="label" >}} для добавления при регистрации узла в кластере (смотрите ограничения для меток, установленные [плагином согласования (admission plugin) NodeRestriction](/docs/reference/access-authn-authz/admission-controllers/#noderestriction)).
|
||||
- `--node-status-update-frequency` - Указывает, как часто kubelet отправляет статус узла мастеру.
|
||||
|
||||
Когда [режим авторизации Узла](/docs/reference/access-authn-authz/node/) и
|
||||
[плагин согласования NodeRestriction](/docs/reference/access-authn-authz/admission-controllers/#noderestriction) включены,
|
||||
kubelet'ы имеют право только создавать/изменять свой собственный ресурс Узла.
|
||||
|
||||
### Ручное администрирование узла
|
||||
|
||||
Вы можете создавать и изменять объекты узла используя
|
||||
{{< glossary_tooltip text="kubectl" term_id="kubectl" >}}.
|
||||
|
||||
Когда вы хотите создать объекты Узла вручную, установите kubelet флаг `--register-node=false`.
|
||||
|
||||
Вы можете изменять объекты Узла независимо от настройки `--register-node`.
|
||||
Например, вы можете установить метки на существующем Узле или пометить его неназначаемым.
|
||||
|
||||
Вы можете использовать метки на Узлах в сочетании с селекторами узла на Подах для управления планированием.
|
||||
Например, вы можете ограничить Под иметь право на запуск только на группе доступных узлов.
|
||||
|
||||
Маркировка узла как неназначаемого предотвращает размещение планировщиком новых подов на этом Узле,
|
||||
но не влияет на существующие Поды на Узле. Это полезно в качестве
|
||||
подготовительного шага перед перезагрузкой узла или другим обслуживанием.
|
||||
|
||||
Чтобы отметить Узел неназначемым, выполните:
|
||||
|
||||
```shell
|
||||
kubectl cordon $NODENAME
|
||||
```
|
||||
|
||||
{{< note >}}
|
||||
Поды, являющиеся частью {{< glossary_tooltip term_id="daemonset" >}} допускают
|
||||
запуск на неназначаемом Узле. DaemonSets обычно обеспечивает локальные сервисы узла,
|
||||
которые должны запускаться на Узле, даже если узел вытесняется для запуска приложений.
|
||||
{{< /note >}}
|
||||
|
||||
## Статус Узла
|
||||
|
||||
Статус узла содержит следующие данные:
|
||||
|
||||
* [Адреса (Addresses)](#адреса)
|
||||
* [Условия (Conditions)](#условие)
|
||||
* [Емкость и Выделяемые ресурсы (Capacity and Allocatable)](#емкость)
|
||||
* [Информация (Info)](#информация)
|
||||
|
||||
Вы можете использовать `kubectl` для просмотра статуса Узла и других деталей:
|
||||
|
||||
```shell
|
||||
kubectl describe node <insert-node-name-here>
|
||||
```
|
||||
|
||||
Каждая секция из вывода команды описана ниже.
|
||||
|
||||
### Адреса (Addresses)
|
||||
|
||||
Использование этих полей варьируется в зависимости от вашего облачного провайдера или конфигурации физических серверов (_bare metal_).
|
||||
|
||||
* HostName: Имя хоста, сообщаемое ядром узла. Может быть переопределено через kubelet `--hostname-override` параметр.
|
||||
* ExternalIP: Обычно, IP адрес узла, который является внешне маршрутизируемым (доступен за пределами кластера).
|
||||
* InternalIP: Обычно, IP адрес узла, который маршрутизируется только внутри кластера.
|
||||
|
||||
### Условия (Conditions) {#условие}
|
||||
|
||||
Поле `conditions` описывает статус всех `Running` узлов. Примеры условий включают в себя:
|
||||
|
||||
{{< table caption = "Условия узла и описание того, когда применяется каждое условие." >}}
|
||||
| Условие Узла | Описание |
|
||||
|----------------------|-------------|
|
||||
| `Ready` | `True` если узел здоров и готов принять поды, `False` если узел нездоров и не принимает поды, и `Unknown` если контроллер узла не получал информацию от узла в течение последнего периода `node-monitor-grace-period` (по умолчанию 40 секунд) |
|
||||
| `DiskPressure` | `True` если присутствует давление на размер диска - то есть, если емкость диска мала; иначе `False` |
|
||||
| `MemoryPressure` | `True` если существует давление на память узла - то есть, если памяти на узле мало; иначе `False` |
|
||||
| `PIDPressure` | `True` если существует давление на процессы - то есть, если на узле слишком много процессов; иначе `False` |
|
||||
| `NetworkUnavailable` | `True` если сеть для узла настроена некорректно, иначе `False` |
|
||||
{{< /table >}}
|
||||
|
||||
{{< note >}}
|
||||
Если вы используете инструменты командной строки для вывода сведений об блокированном узле,
|
||||
то Условие включает `SchedulingDisabled`. `SchedulingDisabled` не является Условием в Kubernetes API;
|
||||
вместо этого блокированные узлы помечены как Неназначемые в их спецификации.
|
||||
{{< /note >}}
|
||||
|
||||
Состояние узла представлено в виде JSON объекта. Например, следующая структура описывает здоровый узел:
|
||||
|
||||
```json
|
||||
"conditions": [
|
||||
{
|
||||
"type": "Ready",
|
||||
"status": "True",
|
||||
"reason": "KubeletReady",
|
||||
"message": "kubelet is posting ready status",
|
||||
"lastHeartbeatTime": "2019-06-05T18:38:35Z",
|
||||
"lastTransitionTime": "2019-06-05T11:41:27Z"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Если значение параметра Status для условия Ready остается `Unknown` или `False`
|
||||
дольше чем период `pod-eviction-timeout`(аргумент, переданный в
|
||||
{{< glossary_tooltip text="kube-controller-manager" term_id="kube-controller-manager" >}}), то все Поды
|
||||
на узле планируются к удалению контроллером узла. По умолчанию таймаут выселения **пять минут**.
|
||||
В некоторых случаях, когда узел недоступен, API сервер не может связаться с kubelet на узле.
|
||||
Решение об удалении подов не может быть передано в kubelet до тех пор, пока связь с API сервером не будет восстановлена.
|
||||
В то же время поды, которые запланированы к удалению, могут продолжать работать на отделенном узле.
|
||||
|
||||
Контроллер узла не будет принудительно удалять поды до тех пор, пока не будет подтверждено,
|
||||
что они перестали работать в кластере. Вы можете видеть, что поды, которые могут работать на недоступном узле,
|
||||
находятся в состоянии `Terminating` или `Unknown`. В тех случаях, когда Kubernetes не может сделать вывод
|
||||
из основной инфраструктуры о том, что узел окончательно покинул кластер, администратору кластера может потребоваться
|
||||
удалить объект узла вручную. Удаление объекта узла из Kubernetes приводит к удалению всех объектов Подов, запущенных
|
||||
на узле, с API сервера и освобождает их имена.
|
||||
|
||||
Контроллер жизненного цикла узла автоматически создает
|
||||
[ограничения (taints)](/docs/concepts/scheduling-eviction/taint-and-toleration/), которые представляют собой условия.
|
||||
Планировщик учитывает ограничения Узла при назначении Пода на Узел.
|
||||
Поды так же могут иметь допуски (tolerations), что позволяет им сопротивляться ограничениям Узла.
|
||||
|
||||
Смотрите раздел [Ограничить Узлы по Условию](/docs/concepts/configuration/taint-and-toleration/#taint-nodes-by-condition)
|
||||
для дополнительной информации.
|
||||
|
||||
### Емкость и Выделяемые ресурсы (Capacity and Allocatable) {#емкость}
|
||||
|
||||
Описывает ресурсы, доступные на узле: CPU, память и максимальное количество подов,
|
||||
которые могут быть запланированы на узле.
|
||||
|
||||
Поля в блоке capasity указывают общее количество ресурсов, которые есть на Узле.
|
||||
Блок allocatable указывает количество ресурсовна Узле,
|
||||
которые доступны для использования обычными Подами.
|
||||
|
||||
Вы можете прочитать больше о емкости и выделяемых ресурсах, изучая, как [зарезервировать вычислительные ресурсы](/docs/tasks/administer-cluster/reserve-compute-resources/#node-allocatable) на Узле.
|
||||
|
||||
### Информация (Info)
|
||||
|
||||
Описывает общую информацию об узле, такую как версия ядра, версия Kubernetes (версии kubelet и kube-proxy), версия Docker (если используется) и название ОС.
|
||||
Эта информация соберается Kubelet'ом на узле.
|
||||
|
||||
### Контроллер узла
|
||||
|
||||
{{< glossary_tooltip text="Контроллер " term_id="controller" >}} узла является компонентом
|
||||
плоскости управления Kubernetes, который управляет различными аспектами узлов.
|
||||
|
||||
Контроллер узла играет различные роли в жизни узла. Первая - назначение CIDR-блока узлу
|
||||
при его регистрации (если включено назначение CIDR).
|
||||
|
||||
Вторая - поддержание в актуальном состоянии внутреннего списка узлов контроллера узла
|
||||
согласно списку доступных машин облачного провайдера. При работе в облачной среде всякий раз,
|
||||
когда узел неисправен, контроллер узла запрашивает облачного провайдера, доступна ли
|
||||
виртуальная машина для этого узла. Если нет, то контроллер узла удаляет узел из
|
||||
своего списка узлов.
|
||||
|
||||
Третья - это мониторинг работоспособности узлов. Контроллер узла
|
||||
отвечает за обновление условия NodeReady для NodeStatus на
|
||||
ConditionUnknown, когда узел становится недоступным (т.е. контроллер узла
|
||||
по какой-то причине перестает получать сердцебиения (heartbeats) от узла,
|
||||
например, из-за того, что узел упал), и затем позже выселяет все поды с узла
|
||||
(используя мягкое (graceful) завершение) если узел продолжает быть недоступным.
|
||||
(По умолчанию таймауты составляют 40 секунд, чтобы начать сообщать `ConditionUnknown`,
|
||||
и 5 минут после, чтобы начать выселять поды.) Контроллер узла проверяет состояние каждого узла
|
||||
каждые `--node-monitor-period` секунд.
|
||||
|
||||
#### Сердцебиения
|
||||
|
||||
Сердцебиения, посылаемые узлами Kubernetes, помогают определить доступность узла.
|
||||
|
||||
Существует две формы сердцебиений: обновление `NodeStatus` и
|
||||
[Lease объект](/docs/reference/generated/kubernetes-api/{{< latest-version >}}/#lease-v1-coordination-k8s-io).
|
||||
Каждый узел имеет связанный с ним Lease объект в `kube-node-lease`
|
||||
{{< glossary_tooltip term_id="namespace" text="namespace">}}.
|
||||
Lease - это легковестный ресурс, который улучшает производительность
|
||||
сердцебиений узла при масштабировании кластера.
|
||||
|
||||
Kubelet отвечает за создание и обновление `NodeStatus` и Lease объекта.
|
||||
|
||||
- Kubelet обновляет `NodeStatus` либо когда происходит изменение статуса,
|
||||
либо если в течение настронного интервала обновления не было. По умолчанию
|
||||
интервал для обновлений `NodeStatus` составляет 5 минут (намного больше,
|
||||
чем 40-секундный стандартный таймаут для недоступных узлов).
|
||||
- Kubelet созадет и затем обновляет свой Lease объект каждый 10 секунд
|
||||
(интервал обновления по умолчанию). Lease обновления происходят независимо от
|
||||
`NodeStatus` обновлений. Если обновление Lease завершается неудачно,
|
||||
kubelet повторяет попытку с экспоненциальным откатом, начинающимся с 200 миллисекунд и ограниченным 7 секундами.
|
||||
|
||||
#### Надежность
|
||||
|
||||
В большинстве случаев контроллер узла ограничивает скорость выселения
|
||||
до `--node-eviction-rate` (по умолчанию 0,1) в секунду, что означает,
|
||||
что он не выселяет поды с узлов быстрее чем c 1 узела в 10 секунд.
|
||||
|
||||
Поведение выселения узла изменяется, когда узел в текущей зоне доступности
|
||||
становится нездоровым. Контроллер узла проверяет, какой процент узлов в зоне
|
||||
нездоров (NodeReady условие в значении ConditionUnknown или ConditiononFalse)
|
||||
в одно и то же время. Если доля нездоровых узлов не меньше
|
||||
`--unhealthy-zone-threshold` (по умолчанию 0.55), то скорость выселения уменьшается:
|
||||
если кластер небольшой (т.е. количество узлов меньше или равно
|
||||
`--large-cluster-size-threshold` - по умолчанию, 50), то выселения прекращаются,
|
||||
в противном случае скорость выселения снижается до
|
||||
`--secondary-node-eviction-rate` (по умолчанию, 0.01) в секунду. Причина, по которой
|
||||
эти политики реализуются для каждой зоны доступности, заключается в том,
|
||||
что одна зона доступности может стать отделенной от мастера, в то время как другие
|
||||
остаются подключенными. Если ваш кластер не охватывает несколько зон доступности
|
||||
облачного провайдера, то существует только одна зона доступности (весь кластер).
|
||||
|
||||
Основная причина разнесения ваших узлов по зонам доступности заключается в том,
|
||||
что приложения могут быть перенесены в здоровые зоны, когда одна из зон полностью
|
||||
становится недоступной. Поэтому, если все узлы в зоне нездоровы, то контроллер узла
|
||||
выселяет поды с нормальной скоростью `--node-eviction-rate`. Крайний случай - когда все зоны
|
||||
полностью нездоровы (т.е. в кластере нет здоровых узлов). В таком случае
|
||||
контроллер узла предполагает, что существует некоторая проблема с подключением к мастеру,
|
||||
и останавеливает все выселения, пока какое-нибудь подключение не будет восстановлено.
|
||||
|
||||
Контроллер узла также отвечает за выселение подов, запущенных на узлах с
|
||||
`NoExecute` ограничениями, за исключением тех подов, которые сопротивляются этим ограничениям.
|
||||
Контроллер узла так же добавляет {{< glossary_tooltip text="ограничения" term_id="taint" >}}
|
||||
соотвествующие проблемам узла, таким как узел недоступен или не готов. Это означает,
|
||||
что планировщик не будет размещать поды на нездоровых узлах.
|
||||
|
||||
{{< caution >}}
|
||||
`kubectl cordon` помечает узел как 'неназначемый', что имеет побочный эфект от контроллера сервисов,
|
||||
удаляющего узел из любых списков целей LoadBalancer узла, на которые он ранее имел право,
|
||||
эффектино убирая входящий трафик балансировщика нагрузки с блокированного узла(ов).
|
||||
{{< /caution >}}
|
||||
|
||||
### Емкость узла
|
||||
|
||||
Объекты узла отслеживают информацию о емкости ресурсов узла (например,
|
||||
объем доступной памяти и количество CPU).
|
||||
Узлы, которые [самостоятельно зарегистировались](#саморегистрация-узлов) сообщают
|
||||
о свое емкости во время регистрации. Если вы [вручную](#ручное-администрирование-узла)
|
||||
добавляете узел, то вам нужно задать информацию о емкости узла при его добавлении.
|
||||
|
||||
{{< glossary_tooltip text="Планировщик" term_id="kube-scheduler" >}} Kubernetes гарантирует,
|
||||
что для всех Подов на Узле достаточно ресурсов. Планировщик проверяет,
|
||||
что сумма requests от контейнеров на узле не превышает емкость узла.
|
||||
Эта сумма requests включает все контейнеры, управляемые kubelet,
|
||||
но исключает любые контейнеры, запущенные непосредственно средой выполнения контейнера,
|
||||
а также исключает любые процессы, запущенные вне контроля kubelet.
|
||||
|
||||
{{< note >}}
|
||||
Если вы явно хотите зарезервировать ресурсы для процессов, не связанныз с Подами, смотрите раздел
|
||||
[зарезервировать ресурсы для системных демонов](/docs/tasks/administer-cluster/reserve-compute-resources/#system-reserved).
|
||||
{{< /note >}}
|
||||
|
||||
## Топология узла
|
||||
|
||||
{{< feature-state state="alpha" for_k8s_version="v1.16" >}}
|
||||
|
||||
Если вы включили `TopologyManager`
|
||||
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/), то kubelet
|
||||
может использовать подсказки топологии при принятии решений о выделении ресурсов.
|
||||
Смотрите [Контроль Политик Управления Топологией на Узле](/docs/tasks/administer-cluster/topology-manager/)
|
||||
для дополнительной информации.
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
* Подробнее про[компоненты](/ru/docs/concepts/overview/components/#компоненты-узла) из которых состоит узел.
|
||||
* Подробнее про [Определение API для Узла](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core).
|
||||
* Подробнее про [Узлы](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node)
|
||||
of the architecture design document.
|
||||
* Подробнее про [ограничения и допуски](/docs/concepts/configuration/taint-and-toleration/).
|
||||
* Подробнее про [автомаштабирование кластера](/docs/tasks/administer-cluster/cluster-management/#cluster-autoscaling).
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: Облачный Провайдер (Cloud Provider)
|
||||
id: cloud-provider
|
||||
date: 2018-04-12
|
||||
full_link: /docs/concepts/cluster-administration/cloud-providers
|
||||
short_description: >
|
||||
Организация, которая предлагает платформу облачных вычислений.
|
||||
|
||||
aka:
|
||||
- Поставщик Облачных Услуг (Cloud Service Provider)
|
||||
tags:
|
||||
- community
|
||||
---
|
||||
Бизнес или другая организация, которая предлагает платформу облачных вычислений.
|
||||
|
||||
<!--more-->
|
||||
|
||||
Облачные Провайдеры, иногда называемые Поставщиками Облачных Услуг (Cloud Service Provider, CSPs),
|
||||
предлагают облачные вычислительные платформы или услуги.
|
||||
|
||||
Многие облачные провайдеры предлагают управляемую инфраструктуру (также называемую
|
||||
Инфраструктура как Услуга (Infrastructure as a Service) или IaaS).
|
||||
С управляемой инфраструктурой облачный провайдер отвечает за
|
||||
сервера, хранилище и сеть, в то время как вы управляете слоями поверх этого,
|
||||
такими как запуск Kubernetes кластера.
|
||||
|
||||
Вы также можете найти Kubernetes в качестве управляемого сервиса; иногда его называют
|
||||
Платформа как Услуга (Platform as a Service) или PaaS. С упарвляемым Kubernetes
|
||||
ваш облачный провайдер отвечает за
|
||||
{{< glossary_tooltip term_id="control-plane" text="плоскость управления" >}} Kubernetes, а также за
|
||||
{{< glossary_tooltip term_id="node" text="узлы" >}} и инфраструктуру, на которую они полагаются:
|
||||
сеть, хранилище и, возможно, другие элементы, такие как балансировщики нагрузки.
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Контроллер (Controller)
|
||||
id: controller
|
||||
date: 2018-04-12
|
||||
full_link: /docs/concepts/architecture/controller/
|
||||
short_description: >
|
||||
Управляющий цикл который отслеживает общее состояние кластера через API-сервер и вносит изменения пытаясь приветси текушее состояние к желаемому состоянию.
|
||||
|
||||
aka:
|
||||
tags:
|
||||
- architecture
|
||||
- fundamental
|
||||
---
|
||||
Контроллеры в Kubernetes - управляющие циклы, которые отслеживают состояние вашего
|
||||
{{< glossary_tooltip term_id="cluster" text="кластера">}}, затем вносят или запрашивают
|
||||
изменения там, где это необходимо.
|
||||
Каждый контроллер пытается привести текущее состояние кластера ближе к желаемому состоянию.
|
||||
|
||||
<!--more-->
|
||||
|
||||
Контроллеры отсллеживают общее состояние вашего кластера через
|
||||
{{< glossary_tooltip text="API-сервер" term_id="kube-apiserver" >}} (часть
|
||||
{{< glossary_tooltip text="плоскости управления" term_id="control-plane" >}}).
|
||||
|
||||
Некоторые контроллеры также работают внутри плоскости управления, обеспечивая
|
||||
управляющие циклы, которые являются ядром для операций Kubernetes. Например:
|
||||
контроллер развертывания (deployment controller), контроллер daemonset (daemonset controller),
|
||||
контроллер пространства имен (namespace controller) и контроллер постоянных томов (persistent volume
|
||||
controller) (и другие) работают с {{< glossary_tooltip term_id="kube-controller-manager" >}}.
|
||||
Reference in New Issue
Block a user