Изменение кластера Managed Service for Kubernetes
Для обращения к кластеру Kubernetes используйте его имя или уникальный идентификатор, которые можно узнать с помощью команды:
yc managed-kubernetes cluster list
Результат:
+----------------------+----------+---------------------+---------+---------+-------------------------+-----------------------+
| ID | NAME | CREATED AT | HEALTH | STATUS | EXTERNAL ENDPOINT | INTERNAL ENDPOINT |
+----------------------+----------+---------------------+---------+---------+-------------------------+-----------------------+
| cati493bu7ia******** | k8s-demo | 2019-11-20 11:26:36 | HEALTHY | RUNNING | https://84.201.174.147/ | https://192.168.0.27/ |
+----------------------+----------+---------------------+---------+---------+-------------------------+-----------------------+
Изменить кластер Managed Service for Kubernetes
Вы можете изменить следующие параметры кластера Managed Service for Kubernetes:
-
Имя.
-
Описание.
-
Политику обновлений.
-
Список групп безопасности.
-
Настройки отправки логов в Yandex Cloud Logging.
Внимание
Не удаляйте группы безопасности, привязанные к работающему кластеру Managed Service for Kubernetes: это может привести к нарушению его работы и потере данных.
-
Маску подсети узлов Managed Service for Kubernetes.
Важно
Если изменить маску подсети для работающего кластера Managed Service for Kubernetes, его блоки CIDR могут быть израсходованы, тогда развертывание подов на новых группах узлов станет невозможным.
Инструкция по изменению зоны доступности кластера приведена в разделе Миграция ресурсов Managed Service for Kubernetes в другую зону доступности.
Чтобы изменить кластер Managed Service for Kubernetes:
- Откройте раздел Managed Service for Kubernetes в каталоге, где требуется изменить кластер Managed Service for Kubernetes.
- Нажмите на имя нужного кластера Managed Service for Kubernetes.
- Нажмите кнопку Редактировать в правом верхнем углу.
- В открывшемся окне измените необходимые параметры.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить кластер Managed Service for Kubernetes:
-
Посмотрите описание команды CLI для изменения кластера Managed Service for Kubernetes:
yc managed-kubernetes cluster update --help
-
Выполните команду, передав список изменяемых настроек (в примере приведены не все настройки):
yc managed-kubernetes cluster update <имя_кластера_Managed_Service_for_Kubernetes> \ --new-name <новое_имя_кластера_Managed_Service_for_Kubernetes> \ --description <описание_кластера_Managed_Service_for_Kubernetes> \ --service-account-id <идентификатор_сервисного_аккаунта_для_ресурсов> \ --service-account-name <имя_сервисного_аккаунта_для_ресурсов> \ --node-service-account-id <идентификатор_сервисного_аккаунта_для_узлов_Kubernetes> \ --security-group-ids <список_идентификаторов_групп_безопасности> \ --master-logging enabled=<отправка_логов>,` `log-group-id=<идентификатор_лог-группы>,` `folder-id=<идентификатор_каталога>,` `kube-apiserver-enabled=<отправка_логов_kube-apiserver>,` `cluster-autoscaler-enabled=<отправка_логов_cluster-autoscaler>,` `events-enabled=<отправка_событий_Kubernetes>` `audit-enabled=<отправка_событий_аудита>
Где:
-
--new-name
— имя кластера Managed Service for Kubernetes. -
--description
— описание кластера Managed Service for Kubernetes. -
--service-account-id
,--service-account-name
— сервисный аккаунт для управления кластером Managed Service for Kubernetes. -
--node-service-account-id
,--node-service-account-name
— сервисный аккаунт для управления узлами Managed Service for Kubernetes. -
--security-group-ids
— группы безопасности кластера Managed Service for Kubernetes.Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов.
-
--master-logging
— отправка логов в Cloud Logging:enabled
— флаг отправки логов:true
илиfalse
.log-group-id
— идентификатор лог-группы, в которую нужно отправлять логи.folder-id
— идентификатор каталога, в который нужно отправлять логи. Логи будут отправляться в лог-группу каталога по умолчанию.kube-apiserver-enabled
— флаг отправки логов kube-apiserver :true
илиfalse
.cluster-autoscaler-enabled
— флаг отправки логовcluster-autoscaler
:true
илиfalse
.events-enabled
— флаг отправки событий Kubernetes:true
илиfalse
.audit-enabled
— флаг отправки событий аудита:true
илиfalse
.
Если отправка логов включена, но не указаны ни
log-group-id
, ниfolder-id
, логи будут отправляться в каталог, где находится кластер Managed Service for Kubernetes, в лог-группу по умолчанию. Указывать одновременноlog-group-id
иfolder-id
нельзя. -
--version
— версию Kubernetes. -
--latest-revision
— получить все доступные обновления для текущей версии мастера Managed Service for Kubernetes. -
--auto-upgrade
— управлять автоматическими обновлениями кластера Managed Service for Kubernetes. -
Управление окном обновлений:
--anytime-maintenance-window
— обновлять в любое время.--daily-maintenance-window
— обновлять ежедневно в выбранное время.--weekly-maintenance-window
— обновлять в выбранные дни.
-
Чтобы изменить кластер Managed Service for Kubernetes:
-
Откройте актуальный конфигурационный файл с описанием кластера Managed Service for Kubernetes.
О том, как создать такой файл, см. в разделе Создание кластера Managed Service for Kubernetes.
-
Измените нужные параметры в описании кластера Managed Service for Kubernetes.
Чтобы изменить настройки отправки логов в Cloud Logging, измените значения параметров в блоке
master_logging
. Если такого блока нет — создайте его.resource "yandex_kubernetes_cluster" "<имя_кластера>" { ... master { ... master_logging { enabled = <отправка_логов> log_group_id = "<идентификатор_лог-группы>" folder_id = "<идентификатор_каталога>" kube_apiserver_enabled = <отправка_логов_kube-apiserver> cluster_autoscaler_enabled = <отправка_логов_cluster-autoscaler> events_enabled = <отправка_событий_Kubernetes> audit_enabled = <отправка_событий_аудита> } } }
Где:
enabled
— флаг отправки логов:true
илиfalse
.log_group_id
— идентификатор лог-группы, в которую нужно отправлять логи.folder_id
— идентификатор каталога, в который нужно отправлять логи. Логи будут отправляться в лог-группу каталога по умолчанию.kube_apiserver_enabled
— флаг отправки логов kube-apiserver :true
илиfalse
.cluster_autoscaler_enabled
— флаг отправки логовcluster-autoscaler
:true
илиfalse
.events_enabled
— флаг отправки событий Kubernetes:true
илиfalse
.audit_enabled
— флаг отправки событий аудита:true
илиfalse
.
Если отправка логов включена, но не указаны ни
log_group_id
, ниfolder_id
, логи будут отправляться в каталог, где находится кластер Managed Service for Kubernetes, в лог-группу по умолчанию. Указывать одновременноlog_group_id
иfolder_id
нельзя. -
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Подробнее см. в документации провайдера Terraform
. -
Управлять облачными метками кластера Managed Service for Kubernetes
Вы можете выполнять следующие действия с облачными метками кластера Managed Service for Kubernetes:
Добавить облачную метку
Выполните команду:
yc managed-kubernetes cluster add-labels k8s-demo --labels new_label=test_label
Результат:
done (1s)
id: abcd123ef4gh********
folder_id: l1m01nopqr1s********
...
description: My test Kubernetes cluster
labels:
new_label: test_label
...
Изменить облачную метку
Выполните команду:
yc managed-kubernetes cluster update k8s-demo --labels test_label=my_k8s_label
Важно
Существующий набор labels
полностью перезаписывается набором, переданным в запросе.
Результат:
done (1s)
id: abcd123ef4gh********
folder_id: l1m01nopqr1s********
...
description: My test Kubernetes cluster
labels:
test_label: my_k8s_label
...
Удалить облачную метку
Выполните команду:
yc managed-kubernetes cluster remove-labels k8s-demo --labels test_label
Результат:
done (1s)
id: cati493bu7ia********
folder_id: b1g88tflru0e********
created_at: "2019-11-20T11:26:36Z"
name: k8s-demo
...