Управление хостами кластера
Вы можете добавлять и удалять хосты кластера, а также управлять настройками PostgreSQL для отдельных кластеров.
Получить список хостов в кластере
-
Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
-
Нажмите на имя нужного кластера, затем выберите вкладку Хосты.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список баз данных в кластере, выполните команду:
$ yc managed-postgresql host list
--cluster-name <имя кластера>
+----------------------------+--------------+---------+--------+---------------+
| NAME | CLUSTER ID | ROLE | HEALTH | ZONE ID |
+----------------------------+--------------+---------+--------+---------------+
| rc1b...mdb.yandexcloud.net | c9qp71dk1... | MASTER | ALIVE | ru-central1-b |
| rc1c...mdb.yandexcloud.net | c9qp71dk1... | REPLICA | ALIVE | ru-central1-c |
+----------------------------+--------------+---------+--------+---------------+
Имя кластера можно запросить со списком кластеров в каталоге.
Получить список хостов кластера можно с помощью метода listHosts.
Добавить хост
Количество хостов в кластерах Managed Service for PostgreSQL ограничено квотами на количество CPU и объем памяти, которые доступны кластерам БД в вашем облаке. Чтобы проверить используемые ресурсы, откройте страницу Квоты и найдите блок Yandex Managed Service for PostgreSQL.
-
Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
-
Нажмите на имя нужного кластера и перейдите на вкладку Хосты.
-
Нажмите кнопку Добавить хост.
-
Укажите параметры хоста:
-
Зону доступности.
-
Подсеть (если нужной подсети в списке нет, создайте ее).
-
Приоритет хоста как PostgreSQL-реплики.
Измените значение приоритета, чтобы повлиять на выбор синхронной реплики в кластере:
- Хост с наибольшим значением приоритета в кластере становится синхронной репликой.
- Если в кластере есть несколько хостов с наибольшим приоритетом, то среди них проводятся выборы синхронной реплики.
- Наименьший приоритет —
0
(по умолчанию), наивысший —100
.
-
Источник репликации (если вы используете каскадную репликацию).
-
Выберите опцию Публичный доступ, если хост должен быть доступен извне Yandex.Cloud.
-
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы добавить хост в кластере:
-
Запросите список подсетей кластера, чтобы выбрать подсеть для нового хоста:
$ yc vpc subnet list +-----------+-----------+------------+---------------+------------------+ | ID | NAME | NETWORK ID | ZONE | RANGE | +-----------+-----------+------------+---------------+------------------+ | b0cl69... | default-c | enp6rq7... | ru-central1-c | [172.16.0.0/20] | | e2lkj9... | default-b | enp6rq7... | ru-central1-b | [10.10.0.0/16] | | e9b0ph... | a-2 | enp6rq7... | ru-central1-a | [172.16.32.0/20] | | e9b9v2... | default-a | enp6rq7... | ru-central1-a | [172.16.16.0/20] | +-----------+-----------+------------+---------------+------------------+
Если нужной подсети в списке нет, создайте ее.
-
Посмотрите описание команды CLI для добавления хостов:
$ yc managed-postgresql host add --help
-
Выполните команду добавления хоста:
$ yc managed-postgresql host add --cluster-name <имя кластера> --host zone-id=<зона доступности>,subnet-id=<ID подсети>
Идентификатор подсети необходимо указать, если в зоне доступности больше одной подсети, в противном случае Managed Service for PostgreSQL автоматически выберет единственную подсеть. Имя кластера можно запросить со списком кластеров в каталоге.
Также вы можете указать несколько дополнительных опций в параметре
--host
для управления репликацией в кластере:- Источник репликации для хоста в опции
replication-source
для того, чтобы вручную управлять потоками репликации. - Приоритет хоста в опции
priority
для того, чтобы влиять на процесс выбора синхронной реплики:- Хост с наибольшим значением приоритета в кластере становится синхронной репликой.
- Если в кластере есть несколько хостов с наибольшим приоритетом, то среди них проводятся выборы синхронной реплики.
- Наименьший приоритет —
0
(по умолчанию), наивысший —100
.
- Источник репликации для хоста в опции
Managed Service for PostgreSQL запустит операцию добавления хоста.
Добавить хост в кластер можно с помощью метода addHosts.
Изменить хост
Для каждого хоста в PostgreSQL-кластере можно изменить приоритет хоста и указать источник репликации. Подробнее см. в разделе Репликация.
Чтобы изменить параметры PostgreSQL-хоста:
- Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
- Нажмите на имя нужного кластера и выберите вкладку Хосты.
- Нажмите значок .
- Задайте новые настройки для хоста:
- Установите приоритет, чтобы повлиять на выбор синхронной реплики в кластере:
- Хост с наибольшим значением приоритета в кластере становится синхронной репликой.
- Если в кластере есть несколько хостов с наибольшим приоритетом, то среди них проводятся выборы синхронной реплики.
- Наименьший приоритет —
0
(по умолчанию), наивысший —100
.
- Выберите источник репликации для хоста для того, чтобы вручную управлять потоками репликации.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить параметры PostgreSQL-хоста, выполните команду:
$ yc managed-postgresql host update <имя хоста>
--cluster-name <имя кластера>
--replication-source <имя хоста-источника>
--priority <приоритет реплики>
Имя хоста можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.
В параметре --host
для управления репликацией в кластере измените:
- Источник репликации для хоста в опции
replication-source
для того, чтобы вручную управлять потоками репликации. - Приоритет хоста в опции
priority
для того, чтобы влиять на процесс выбора синхронной реплики:- Хост с наибольшим значением приоритета в кластере становится синхронной репликой.
- Если в кластере есть несколько хостов с наибольшим приоритетом, то среди них проводятся выборы синхронной реплики.
- Наименьший приоритет —
0
(по умолчанию), наивысший —100
.
Чтобы изменить параметры PostgreSQL-хоста, воспользуйтесь методом API updateHosts и передайте в запросе:
- Идентификатор кластера, в котором нужно изменить хост, в параметре
clusterId
. - Имя хоста, который нужно изменить, в параметре
updateHostSpecs.hostName
.
Имя хоста можно запросить со списком хостов в кластере, идентификатор кластера — со списком кластеров в каталоге.
Удалить хост
Вы можете удалить хост из PostgreSQL-кластера, если он не является единственным хостом. Чтобы заменить единственный хост, сначала создайте новый хост, а затем удалите старый.
Если хост является мастером в момент удаления, Managed Service for PostgreSQL автоматически назначит мастером следующую по приоритету реплику.
-
Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.
-
Нажмите на имя нужного кластера и выберите вкладку Хосты.
-
Нажмите значок в строке нужного хоста и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить хост из кластера, выполните команду:
$ yc managed-postgresql host delete <имя хоста>
--cluster-name <имя кластера>
Имя хоста можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.
Удалить хост можно с помощью метода deleteHosts.