Создание сервера PostgreSQL с поддержкой Azure Arc из CLI
В этом документе описаны шаги по созданию сервера PostgreSQL в Azure Arc и подключению к нему.
Необходимые компоненты
Прежде чем продолжить работу с задачами в этой статье, необходимо иметь необходимые средства. Для всех развертываний требуются следующие средства:
Azure Data Studio
Расширение Azure Arc для Azure Data Studio
Azure CLI (
az
)arcdata
расширение для Azure CLIkubectl
Дополнительные клиентские средства в зависимости от среды. Более полный список см. в разделе "Клиентские инструменты".
Помимо необходимых средств, для выполнения задач требуется контроллер данных Azure Arc.
Примечание.
В отношении технологии (как предварительной версии функции), описанной в этой статье, действуют дополнительные условия использования предварительных версий Microsoft Azure.
Последние обновления доступны в заметках о выпуске.
Начало работы
Если вы уже знакомы с нижеприведенными темами, этот абзац можно пропустить. Прежде чем перейти к процессу создания, необходимо ознакомиться со следующими важными темами:
- Обзор служб данных с поддержкой Azure Arc
- Режимы подключения и требования
- Основные понятия, относящиеся к конфигурации хранилища и хранилищу Kubernetes
- Модель ресурса Kubernetes
Если вы предпочитаете действовать без самостоятельной подготовки полнофункциональной среды, начните работу с помощью статьи Быстрый старт с Azure Arc на основе Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) или в виртуальной машине Azure.
Предварительный и временный шаг только для пользователей OpenShift
Выполните этот шаг, прежде чем переходить к следующему шагу. Чтобы развернуть сервер PostgreSQL в Red Hat OpenShift в проекте, отличном от по умолчанию, необходимо выполнить следующие команды в кластере, чтобы обновить ограничения безопасности. Эта команда предоставляет необходимые привилегии учетным записям служб, которые будут запускать сервер PostgreSQL. Ограничение контекста безопасности (SCC) arc-data-scc — это ограничение, которое вы добавили при развертывании контроллера данных Azure Arc.
oc adm policy add-scc-to-user arc-data-scc -z <server-name> -n <namespace-name>
Имя сервера — это имя сервера, который будет создан на следующем шаге.
Дополнительные сведения об SCC в OpenShift см. в документации по OpenShift. Перейдите к следующему шагу.
Создание сервера PostgreSQL с поддержкой Azure Arc
Чтобы создать сервер PostgreSQL с поддержкой Azure Arc на контроллере данных Arc, используйте команду az postgres server-arc create
, в которую вы будете передавать несколько параметров.
Дополнительные сведения обо всех параметрах, которые можно задавать во время создания, см. в выводе команды:
az postgres server-arc create --help
Ниже приведены основные параметры, которые следует учитывать.
имя сервера , который требуется развернуть. Укажите либо
--name
, либо-n
, после чего должно следовать имя длиной не более 11 символов.Классы хранилища, которые требуется использовать на сервере. Важно задать класс хранилища прямо во время развертывания сервера, так как этот параметр нельзя изменить после развертывания. Вы можете указать классы хранения, предназначенные для данных, журналов и резервных копий. По умолчанию, если классы хранения не указаны, будут использоваться классы хранения контроллера данных.
- Чтобы задать класс хранилища для резервных копий, укажите параметр
--storage-class-backups
, за которым следует имя класса хранилища. Исключение этого параметра отключает автоматические резервные копии - Чтобы задать класс хранилища для данных, укажите параметр
--storage-class-data
, за которым следует имя класса хранилища. - Чтобы задать класс хранилища для журналов, укажите параметр
--storage-class-logs
, за которым следует имя класса хранилища.
Внимание
Если необходимо изменить класс хранилища после развертывания, извлечь данные, удалить сервер, создать новый сервер и импортировать данные.
- Чтобы задать класс хранилища для резервных копий, укажите параметр
При выполнении команды создания вам будет предложено ввести имя пользователя и пароль администратора. Перед выполнением команды создания можно пропустить интерактивный запрос, задав AZDATA_USERNAME
переменные среды сеанса и AZDATA_PASSWORD
переменные среды сеанса.
Примеры
Чтобы развернуть сервер PostgreSQL с именем postgres01, который использует те же классы хранения, что и контроллер данных, выполните следующую команду:
az postgres server-arc create -n postgres01 --k8s-namespace <namespace> --use-k8s
Примечание.
- При развертывании контроллера данных с помощью
AZDATA_USERNAME
переменных среды сеанса иAZDATA_PASSWORD
переменных среды сеанса в одном сеансе терминала значенияAZDATA_PASSWORD
будут использоваться для развертывания сервера PostgreSQL. Если вы предпочитаете использовать другой пароль, обновите значения дляAZDATA_USERNAME
иAZDATA_PASSWORD
(2) удалитеAZDATA_USERNAME
AZDATA_PASSWORD
переменные среды или (3) удалите их значения, чтобы ввести имя пользователя и пароль в интерактивном режиме при создании сервера. - Создание сервера PostgreSQL не будет немедленно регистрировать ресурсы в Azure. В рамках процесса отправки в Azure данных инвентаризации ресурсов или данных об использовании необходимые ресурсы будут создаваться в Azure, и эти ресурсы можно просматривать на портале Azure.
Вывод списка серверов PostgreSQL, развернутых в контроллере данных Arc
Чтобы вывести список серверов PostgreSQL, развернутых в контроллере данных Arc, выполните следующую команду:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
{
"name": "postgres01",
"state": "Ready"
}
Получение конечных точек для подключения к серверам PostgreSQL с поддержкой Azure Arc
Чтобы просмотреть конечные точки для сервера PostgreSQL, выполните следующую команду:
az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s
Например:
{
"instances": [
{
"endpoints": [
{
"description": "PostgreSQL Instance",
"endpoint": "postgresql://postgres:<replace with password>@123.456.78.912:5432"
},
{
"description": "Log Search Dashboard",
},
{
"description": "Metrics Dashboard",
"endpoint": "https://98.765.432.11:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
}
],
"engine": "PostgreSql",
"name": "postgres01"
}
],
"namespace": "arc"
}
Вы можете использовать конечную точку экземпляра PostgreSQL для подключения к серверу PostgreSQL из избранного средства: Azure Data Studio, pgcli psql, pgAdmin и т. д.
В этот раз воспользуйтесь сборкой Azure Data Studio для участников программы предварительной оценки.
Специальное примечание о развертываниях виртуальных машин Azure
При использовании виртуальной машины Azure в IP-адресе конечной точки не отображается общедоступный IP-адрес. Чтобы получить общедоступный IP-адрес, используйте следующую команду:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Затем можно объединить общедоступный IP-адрес с портом, чтобы выполнить подключение.
Также может потребоваться предоставить порт сервера PostgreSQL через шлюз безопасности сети (NSG). Чтобы разрешить трафик через группу безопасности сети, задайте правило. Чтобы задать правило, необходимо знать имя группы безопасности сети. Получить информацию об NSG можно с помощью следующей команды:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
После получения имени NSG можно добавить правило для брандмауэра, используя следующую команду. В этом примере создается правило NSG для порта 30655 и разрешается подключение с любого исходного IP-адреса.
Предупреждение
Не рекомендуется задавать правило, чтобы разрешить подключение с любого исходного IP-адреса. Вы можете заблокировать все лучше, указав -source-address-prefixes
значение, относящееся к IP-адресу клиента или диапазону IP-адресов, охватывающим IP-адреса вашей команды или организации.
Замените значение параметра --destination-port-ranges
ниже номером порта, полученным с помощью приведенной выше команды az postgres server-arc list
.
az network nsg rule create -n db_port --destination-port-ranges 30655 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'
Подключение к Azure Data Studio
Откройте Azure Data Studio и подключитесь к вашему экземпляру с помощью IP-адреса внешней конечной точки и заданного ранее номера порта, а также пароля, указанного во время создания экземпляра. Если PostgreSQL недоступен в раскрывающемся списке Тип подключения, расширение PostgreSQL можно установить, выполнив поиск по названию PostgreSQL на вкладке расширений.
Примечание.
Чтобы ввести номер порта, нужно нажать кнопку [Дополнительно] на панели подключения.
Помните, что если вы используете виртуальную машину Azure, вам потребуется общедоступный IP-адрес, который доступен с помощью следующей команды:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Подключение с помощью psql
Чтобы получить доступ к серверу PostgreSQL, передайте внешнюю конечную точку сервера PostgreSQL, полученного из выше:
Теперь можно подключить любой из клиентов psql:
psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655
Связанный контент
Подключение к серверу PostgreSQL с поддержкой Azure Arc: чтение конечных точек подключения и строк подключения
* В приведенных выше документах пропустите разделы входа в портал Azure и создайте База данных Azure для PostgreSQL. Выполните оставшиеся шаги по развертыванию Azure Arc. Эти разделы относятся к серверу База данных Azure для PostgreSQL, предлагаемому в качестве службы PaaS в облаке Azure, но другие части документов напрямую применимы к серверу PostgreSQL с поддержкой Azure Arc.
Основные понятия, относящиеся к конфигурации хранилища и хранилищу Kubernetes