Во время развертывания сервиса или его работы вы можете инициировать операции с высоким риском на разных уровнях, вызывая сбои сервиса или его прерывание. Чтобы помочь вам более точно оценивать и избегать рисков операций, в этом разделе представлены последствия и решения операций с высоким риском с различных точек зрения, таких как кластеры, узлы, сеть, балансировка нагрузки, логи и EVS disks.
Category | Operation | Impact | Solution |
|---|---|---|---|
Cluster | Использование kube-apiserver для одновременного получения больших объёмов данных. Например, одновременно инициируется большое количество запросов LIST, либо один запрос LIST используется для получения большого объёма данных. | Память master node перегружена, что влияет на стабильность системы. | Прекратите выполнение большого количества запросов. Чтобы предотвратить перегрузку кластера, увеличьте масштаб кластера. Подробности см. Changing a Cluster Scale. |
Master node | Изменение группы безопасности master nodes в кластере ПРИМЕЧАНИЕ: Правило именования группы безопасности master‑node: Cluster name-cce-control-{Random ID} | Мастер‑ноды могут быть недоступны. | Восстановите группу безопасности, обратившись к "Creating a Cluster" и разрешите трафик от и к мастер‑нодам. |
Допускание истечения срока действия master‑node или его уничтожения | Мастер‑node станет недоступным. | Эту операцию нельзя отменить. | |
Переустановка ОС | Компоненты master‑node будут удалены. | Эту операцию нельзя отменить. | |
Обновление компонентов master‑node или версии etcd | Кластер может быть недоступен. | Откат к исходной версии. | |
Удаление или форматирование основных каталогов, таких как /etc/kubernetes на узле | Мастер‑node станет недоступным. | Эту операцию нельзя отменить. | |
Изменение IP-адреса master node | master node станет недоступным. | Измените IP-адрес обратно на исходный. | |
Изменение параметров основных компонентов (например, etcd, kube-apiserver и Docker) | master node может быть недоступен. | Восстановите параметры до рекомендуемых значений. Подробнее см. Modifying Cluster Configurations. | |
Замена master node или сертификата etcd | Кластер может быть недоступен. | Эту операцию нельзя отменить. | |
Worker node | Изменение группы безопасности worker nodes в кластере ПРИМЕЧАНИЕ: Правило именования группы безопасности worker node: Cluster name-cce-node-{Random ID} | node может быть недоступен. | Восстановите группу безопасности, ссылаясь на "Creating a Cluster" и разрешите трафик от и к рабочим узлам. |
Изменение конфигурации DNS (/etc/resolv.conf) узла. | Внутренние доменные имена недоступны, а некоторые функции, такие как add-ons и in-place node upgrades, работают некорректно. NOTE: Если вашему сервису необходимо использовать локальный DNS, настройте DNS в рабочей нагрузке. Не изменяйте DNS‑адрес узла. Подробности см. в DNS Configuration. | Восстановите конфигурацию DNS на основе конфигурации DNS нового узла. | |
Удаление узла | Узел станет недоступным. | Эту операцию нельзя отменить. | |
Удаление elastic network interface, используемого узлом. | Container network на узле недоступен. | Эту операцию нельзя отменить. | |
Переустановка ОС | Компоненты узла удаляются, и узел становится недоступным. | Сбросьте узел. Подробности см. в Resetting a Node. | |
Обновление ядра или компонентов, от которых зависит платформа контейнеров (например Open vSwitch, IPvlan, Docker и containerd) | Узел может стать недоступным или сеть может работать аномально. ПРИМЕЧАНИЕ: Работа узла зависит от версии системного ядра. Не используйте команду yum update для обновления или переустановки ядра узла, если это не необходимо. (Переустановка ядра операционной системы с использованием оригинального образа или других образов является рискованной операцией.) | Сбросьте узел. Подробности см. в Resetting a Node. | |
Изменение IP-адреса узла | Узел станет недоступным. | Верните IP-адрес к исходному. | |
Изменение параметров основных компонентов (например kubelet и kube-proxy) | Узел может стать недоступным, а компоненты могут стать небезопасными, если изменены конфигурации, связанные с безопасностью. | Восстановите параметры до рекомендованных значений. Подробности см. в Configuring a Node Pool. | |
Изменение конфигурации ОС | Узел может стать недоступным. | Восстановите элементы конфигурации или сбросьте узел. Подробности см. в Resetting a Node. | |
Удаление или изменение каталогов /opt/cloud/cce и /var/paas, а также удаление диска с данными | Узел станет недоступным. | Сбросьте узел. Для получения подробной информации см. Resetting a Node. | |
Изменение прав доступа к каталогу узла и к каталогу контейнера. Затрагиваются следующие каталоги:
| Разрешения будут некорректными. | Не изменяйте разрешения. Восстановите разрешения, если они были изменены. | |
Formatting или разметка дисков на узле, включая системный диск и диски с данными, используемые container runtime и kubelet. | Узел может стать недоступным. | Сбросьте узел. Для получения подробной информации см. Resetting a Node. | |
Установка другого программного обеспечения на узел | Это может вызвать исключения в компонентах Kubernetes, установленных на узле, и узел может стать недоступным. | Удалите программное обеспечение и восстановите или сбросьте узел. Для получения подробной информации см. Resetting a Node. | |
Изменение конфигураций NetworkManager | Узел станет недоступным. | Сбросьте узел. Для получения подробной информации см. Resetting a Node. | |
Удаление системных образов, таких как cce-pause, с узла | Контейнеры не могут быть созданы и системные образы не могут быть получены. | Скопируйте образ с узла, который работает нормально. | |
Изменение Флейвора узла в node pool на консоли ECS | Если Флейвор узла отличается от Флейвора, указанного в node pool, где находится узел, увеличенное количество узлов в node pool при scale-out отличается от ожидаемого количества. | Измените Флейвор узла на указанный в node pool, либо удалите узел и выполните scale-out node pool повторно. | |
Удаление или перемещение бинарных и конфигурационных файлов, необходимых для работы containerd
| Если /usr/local/bin/crictl удалён, проверка состояния containerd будет ненормальной, и containerd будет постоянно перезапускаться. Удаление других файлов может привести к тому, что контейнер не запустится, а узел станет недоступным. | Сбросьте узел, чтобы восстановить бинарные и конфигурационные файлы для containerd. Подробности см. в Resetting a Node. |
Operation | Impact | Solution |
|---|---|---|
Изменение значения параметра ядра net.ipv4.ip_forward на 0 | Сеть становится недоступной. | Измените значение на 1. |
Изменение значения параметра ядра net.ipv4.tcp_tw_recycle на 1 | Служба NAT становится аномальной. | Измените значение на 0. |
Изменение значения параметра ядра net.ipv4.tcp_tw_reuse на 1 | Сеть становится аномальной. | Измените значение на 0. |
Не настроена node security group для разрешения UDP‑трафика к container CIDR blocks через порт 53 | DNS в кластере не может работать корректно. | Восстановите security group, следуя операциям, предоставленным для a newly created cluster, и разрешите трафик к container CIDR blocks. |
Удаление network-attachment-definitions CRD ресурсов default-network | Сеть container network отключена, либо кластер не может быть удалён. | Если ресурсы удалены по ошибке, используйте правильные конфигурации для создания ресурсов default-network. |
Включение iptables firewall | По умолчанию iptables firewall отключён в CCE. Включение firewall может сделать сеть недоступной. ПРИМЕЧАНИЕ: Не включайте iptables firewall. Если iptables firewall необходимо включить, проверьте, повлияют ли правила, сконфигурированные в /etc/sysconfig/iptables и /etc/sysconfig/ip6tables в тестовой среде, на сеть. | Отключите iptables firewall и проверьте правила, сконфигурированные в /etc/sysconfig/iptables и /etc/sysconfig/ip6tables. |
Операция | Влияние | Решение |
|---|---|---|
Настройка привилегированных контейнеров для рабочей нагрузки и прямое управление аппаратным обеспечением хоста. Возможны ошибочные операции с системными файлами узла. Например, если вы задаёте команду запуска /usr/sbin/init и запускаете systemctl в контейнерах, системные файлы в каталоге /lib узла могут быть повреждены. | Все точки монтирования узла будут отмонтированы. В результате узел будет работать некорректно, что приведёт к сбоям pods и нарушению функций дополнений хранения. | Не удаляйте точки монтирования в каталоге /lib узла. Выполните сброс узла для восстановления. Подробности см. в Resetting a Node. |
Монтирование каталога системного компонента с помощью hostPath, например, монтирование файлов в /var/lib/docker | После перезапуска системного компонента каталог системного компонента на узле может быть восстановлен, что прерывает inode‑связь смонтированного каталога. В результате содержимое смонтированного каталога нельзя использовать в контейнере. | Не монтируйте каталог системных компонентов. |
Operation | Impact | Solution |
|---|---|---|
Удаление балансировщика нагрузки, связанного с кластером CCE | Доступ к целевому Service или ingress завершится неудачей. | Не удаляйте такой балансировщик нагрузки. |
Отключение балансировщика нагрузки, связанного с кластером CCE | Доступ к целевому Service или ingress завершится неудачей. | Не отключайте такой балансировщик нагрузки. Если балансировщик нагрузки был отключён, включите его. |
Изменение частного IPv4‑адреса балансировщика нагрузки |
| Не изменяйте частные IPv4‑адреса load balancers. Верните их, если они были изменены. |
Отвязка IPv4 EIP от load balancer | После того как EIP будет отвязан от load balancer, load balancer не сможет перенаправлять трафик из Internet. | Восстановите привязку EIP. |
Добавление listener к load balancer, связанному с CCE cluster | Если load balancer автоматически создаётся при создании Service или ingress, любой listener, добавленный к load balancer в ELB console, нельзя удалить при удалении Service или ingress. В этом случае load balancer нельзя автоматически удалить. | Используйте listener, автоматически создаваемый при создании Service или ingress. Если используется listener, добавленный в ELB console, вручную удалите этот load balancer. |
Удаление listener, автоматически добавленного CCE |
| Создайте заново или обновите Service или ingress. |
Изменение базовых конфигураций, таких как имя, контроль доступа, тайм‑аут или описание listener, добавленного CCE | Когда master nodes перезапускаются по причинам, например, обновления кластера, все ваши изменения будут сброшены CCE. | Не изменяйте базовые конфигурации listener, созданного CCE. Восстановите конфигурации, если они были изменены. |
Изменение backend server group listener, добавленного CCE, включая добавление или удаление backend servers в/из группы серверов |
| Создайте заново или обновите Service или ingress. |
Замена группы backend server listener, добавленного CCE |
| Создайте заново или обновите Service или ingress. |
Изменение forwarding policy listener, добавленного CCE, включая добавление или удаление forwarding rules |
| Не изменяйте forwarding policy такого listener. Восстановите конфигурации, если они были изменены. |
Замена сертификата listener, созданного CCE в консоли ELB, или изменение серверного сертификата, созданного CCE с использованием TLS‑ключа на странице Certificates сервиса ELB | В сценариях, когда требуется перезапуск master node, например во время обновления кластера, изменение будет сброшено CCE. В результате Service или ingress могут стать недоступными. | Используйте консоль CCE или YAML для обновления сертификата, связанного с Service или ingress, или обновления TLS‑ключа, связанного с Service или ingress. |
Operation | Impact | Solution |
|---|---|---|
Удаление каталога /tmp/ccs-log-collector/pos на хост‑машине | Логи собираются повторно. | None |
Удаление каталога /tmp/ccs-log-collector/buffer на хост‑машине | Логи теряются. | None |
Operation | Влияние | Решение |
|---|---|---|
Настройка большего количества шардов сбора в Cloud Native Cluster Monitoring, чем рекомендованное значение (один шард сбора на 50 узлов) | Избыточные шарды могут перегрузить память мастер‑узла, влияя на стабильность системы. | Измените количество шардов сбора до рекомендованного значения для Cloud Native Cluster Monitoring. |
Operation | Влияние | Решение | Remarks |
|---|---|---|---|
Ручное отмонтирование EVS диска в консоли | Ошибка ввода‑вывода возникает при записи данных в pod. | Удалите путь монтирования с узла и повторно запланируйте pod. | Файл в pod фиксирует место, где должны быть собраны файлы. |
Отмонтирование пути монтирования диска на узле | Данные Pod записываются в локальный диск. | Перемонтировать соответствующий путь к pod. | Буфер содержит файлы кэша журналов, которые необходимо потребить. |
Управление EVS дисками на узле | Данные Pod записываются в локальный диск. | Нет | Нет |
Создание PV с параметрами, которые не объявлены в файле Например, если YAML‑файл содержит параметры, такие как status, spec.claimRef и annotation.everest.io/set-disk-metadata во время создания PV, PV может быть аномальным. | Эта операция может обходить некоторые стандартные процессы создания PV. В результате созданные PV могут стать недоступными или быть удалены неожиданно. | Перед удалением таких PV вручную удалите связанные параметры в их YAML‑файлах. | Нет |
Operation | Impact | Solution |
|---|---|---|
Изменение ресурсов add-on в бэкэнде | Могут возникнуть исключения add-on или другие непредвиденные проблемы. Например, параметры настроек перезаписываются после обновления. | Выполняйте операции на странице конфигурации add-on или с помощью открытых API управления add-on. |