Управление хостами кластера

Вы можете добавлять и удалять хосты кластера, а также управлять настройками PostgreSQL для отдельных кластеров.

Получить список хостов в кластере

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.

  2. Нажмите на имя нужного кластера, затем выберите вкладку Хосты.

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле 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.

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.

  2. Нажмите на имя нужного кластера и перейдите на вкладку Хосты.

  3. Нажмите кнопку Добавить хост.

  4. Укажите параметры хоста:

    • зону доступности;

    • подсеть (если нужной подсети в списке нет, создайте ее);

    • приоритет хоста как PostgreSQL-реплики;

    • источник репликации (если вы используете каскадную репликацию);

    • выберите опцию Публичный доступ, если хост должен быть доступен извне Облака.

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы добавить хост в кластере:

  1. Запросите список подсетей кластера, чтобы выбрать подсеть для нового хоста:

    $ 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] |
    +-----------+-----------+------------+---------------+------------------+
    

    Если нужной подсети в списке нет, создайте ее.

  2. Посмотрите описание команды CLI для добавления хостов:

    $ yc managed-postgresql host add --help
    
  3. Выполните команду добавления хоста:

    $ yc managed-postgresql host add
         --cluster-name <имя кластера>
         --host zone-id=<зона доступности>,subnet-id=<ID подсети>
    

    Managed Service for PostgreSQL запустит операцию добавления хоста.

    Идентификатор подсети необходимо указать, если в зоне доступности больше одной подсети, в противном случае Managed Service for PostgreSQL автоматически выберет единственную подсеть. Имя кластера можно запросить со списком кластеров в каталоге.

Добавить хост в кластер можно с помощью метода addHosts.

Изменить хост

Для каждого хоста в PostgreSQL-кластере можно изменить:

  • Приоритет хоста в кластере, согласно которому выбирается новый мастер при недоступности старого.

  • Хост, который должен быть источником репликации для данного хоста (если вы используете каскадную репликацию).

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить параметры PostgreSQL-хоста, выполните команду:

$ yc managed-postgresql host update <имя хоста>
     --cluster-name <имя кластера>
     --replication-source <имя хоста-источника>
     --priority <приоритет реплики>

Имена хостов можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.

Удалить хост можно с помощью метода deleteHosts.

Удалить хост

Вы можете удалить хост из PostgreSQL-кластера, если он не является единственным хостом. Чтобы заменить единственный хост, сначала создайте новый хост, а затем удалите старый.

Если хост является мастером в момент удаления, Managed Service for PostgreSQL автоматически назначит мастером следующую по приоритету реплику.

  1. Перейдите на страницу каталога и выберите сервис Managed Service for PostgreSQL.

  2. Нажмите на имя нужного кластера и выберите вкладку Хосты.

  3. Нажмите значок image в строке нужного хоста и выберите пункт Удалить.

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы удалить хост из кластера, выполните команду:

$ yc managed-postgresql host delete <имя хоста>
     --cluster-name=<имя кластера>

Имя хоста можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.

Удалить хост можно с помощью метода deleteHosts.