Развертывание поставщика ресурсов MySQL в Azure Stack HubDeploy the MySQL resource provider on Azure Stack Hub

Используйте поставщик ресурсов MySQL Server, чтобы предоставлять доступ к базам данных MySQL в качестве службы Azure Stack Hub.Use the MySQL Server resource provider to expose MySQL databases as an Azure Stack Hub service. Поставщик ресурсов MySQL выполняется как служба на виртуальной машине Windows Server 2016 Server Core (для версии адаптера <= 1.1.47.0>) или специальной надстройке RP Windows Server (для версии адаптера >= 1.1.93.0).The MySQL resource provider runs as a service on a Windows Server 2016 Server Core virtual machine (for adapter version <= 1.1.47.0>) or a special Add-on RP Windows Server (for adapter version >= 1.1.93.0).

Важно!

Только поставщик ресурсов должен создавать элементы на серверах, на которых размещается SQL или MySQL.Only the resource provider should create items on servers that host SQL or MySQL. Элементы, созданные на сервере узла, который не был создан поставщиком ресурсов, не поддерживаются и могут привести к несовпадению состояния.Items created on a host server that aren't created by the resource provider are unsupported, and may result in a mismatched state.

Предварительные требованияPrerequisites

Прежде чем можно будет развернуть поставщик ресурсов MySQL центра Azure Stack, необходимо выполнить несколько предварительных требований.There are several prerequisites that need to be in place before you can deploy the Azure Stack Hub MySQL resource provider:

  • Вам потребуется компьютер и учетная запись, у которых есть доступ:You'll need a computer and account that can access:

    • портал администрирования центра Azure Stack.the Azure Stack Hub administrator portal.
    • привилегированная конечная точка.the privileged endpoint.
    • Конечная точка администратора Azure Resource Manager, https://management.region.<fqdn> , где <fqdn> — полное доменное имя (или https://management.local.azurestack.external при использовании ASDK).the Azure Resource Manager admin endpoint, https://management.region.<fqdn>, where <fqdn> is your fully qualified domain name (or https://management.local.azurestack.external if using the ASDK)
    • Интернет, если центр Azure Stack был развернут для использования Azure Active Directory (AD) в качестве поставщика удостоверений.the Internet, if your Azure Stack Hub was deployed to use Azure Active Directory (AD) as your identity provider.
  • Если вы еще этого не сделали, зарегистрируйте Azure Stack Hub в Azure, чтобы скачивать элементы Azure Marketplace.If you haven't already, register Azure Stack Hub with Azure so you can download Azure Marketplace items.

  • Добавьте необходимую виртуальную машину Windows Server в Azure Stack Hub Marketplace.Add the required Windows Server VM to Azure Stack Hub Marketplace.

    • Для MySQL RP версии <= 1.1.47.0 Скачайте образ Windows server 2016 Datacenter-Server Core .For MySQL RP version <= 1.1.47.0, download the Windows Server 2016 Datacenter - Server Core image.
    • Для MySQL RP версии >= 1.1.93.0 Скачайте образ Microsoft AzureStack Add-On RP Windows Server .For MySQL RP version >= 1.1.93.0, download the Microsoft AzureStack Add-On RP Windows Server image. Эта версия Windows Server специализируется на Azure Stack Add-On инфраструктуре RP и не видна в Marketplace для клиентов.This Windows Server version is specialize for Azure Stack Add-On RP Infrastructure and it is not visible to the tenant marketplace.
  • Скачайте поддерживаемую версию двоичного файла поставщика ресурсов MySQL в соответствии с таблицей сопоставления версий ниже.Download the supported version of MySQL resource provider binary according to the version mapping table below. Запустите Самоизвлечение, чтобы извлечь загруженное содержимое во временный каталог.Run the self-extractor to extract the downloaded contents to a temporary directory.

    Поддерживаемая версия центра Azure StackSupported Azure Stack Hub version Версия MySQL RPMySQL RP version Windows Server, на котором запущена служба RPWindows Server that RP service is running on
    2008, 20052008, 2005 MySQL RP версии 1.1.93.1MySQL RP version 1.1.93.1 Надстройка Microsoft AzureStack RP Windows ServerMicrosoft AzureStack Add-on RP Windows Server
    2005, 2002, 19102005, 2002, 1910 Поставщик ресурсов MySQL версии 1.1.47.0MySQL RP version 1.1.47.0 Windows Server 2016 Datacenter-Server CoreWindows Server 2016 Datacenter - Server Core
    19081908 Поставщик ресурсов MySQL версии 1.1.33.0MySQL RP version 1.1.33.0 Windows Server 2016 Datacenter-Server CoreWindows Server 2016 Datacenter - Server Core

Примечание

Чтобы развернуть поставщик MySQL в системе без доступа к Интернету, скопируйте файл mysql-connector-net-6.10.5.msi в локальный путь.To deploy the MySQL provider on a system that doesn't have internet access, copy the mysql-connector-net-6.10.5.msi file to a local path. Укажите путь с помощью параметра DependencyFilesLocalPath.Provide the path name using the DependencyFilesLocalPath parameter.

В отключенном сценарии выполните описанные ниже действия, чтобы скачать необходимые модули PowerShell и зарегистрировать репозиторий вручную.In a disconnected scenario, complete the following steps to download the required PowerShell modules and register the repository manually.

  1. Войдите на компьютер, подключенный к Интернету, и с помощью приведенных ниже скриптов скачайте модули PowerShell.Sign in to a computer with internet connectivity and use the following scripts to download the PowerShell modules.
Import-Module -Name PowerShellGet -ErrorAction Stop
Import-Module -Name PackageManagement -ErrorAction Stop

# path to save the packages, c:\temp\azs1.6.0 as an example here
$Path = "c:\temp\azs1.6.0"
  1. В зависимости от версии развертываемого поставщика ресурсов запустите один из скриптов.Depending on the version of resource provider that you are deploying, run one of the scripts.
# for resource provider version >= 1.1.93.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.2
# for resource provider version <= 1.1.47.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.3.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.6.0
  1. Затем скопируйте скачанные пакеты на USB-устройство.Then you copy the downloaded packages to a USB device.

  2. Войдите на отключенную рабочую станцию и скопируйте пакеты с USB-устройства в нужное расположение на ней.Sign in to the disconnected workstation and copy the packages from the USB device to a location on the workstation.

  3. Зарегистрируйте это расположение в качестве локального репозитория.Register this location as a local repository.

# requires -Version 5
# requires -RunAsAdministrator
# requires -Module PowerShellGet
# requires -Module PackageManagement

$SourceLocation = "C:\temp\azs1.6.0"
$RepoName = "azs1.6.0"

Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted

New-Item -Path $env:ProgramFiles -name "SqlMySqlPsh" -ItemType "Directory" 

СертификатыCertificates

Только для интегрированных систем.For integrated systems installations only. Укажите сертификат SQL PaaS PKI, описанный в разделе о необязательных сертификатах PaaS в статье Требования к сертификатам инфраструктуры открытых ключей Azure Stack Hub.You must provide the SQL PaaS PKI certificate described in the optional PaaS certificates section of Azure Stack Hub deployment PKI requirements. Поместите PFX-файл в каталог, указанный параметром DependencyFilesLocalPath.Place the .pfx file in the location specified by the DependencyFilesLocalPath parameter. Не предоставляйте сертификат для систем ASDK.Don't provide a certificate for ASDK systems.

Развертывание поставщика ресурсовDeploy the resource provider

После выполнения всех предварительных требований можно запустить сценарий DeployMySqlProvider.ps1 на компьютере, который может получить доступ как к конечной точке администратора, так и к привилегированной конечной точке Azure Resource Manager Azure Stack, чтобы развернуть поставщик ресурсов MySQL.After you've completed all of the prerequisites, you can run the DeployMySqlProvider.ps1 script from a computer that can access both the Azure Stack Hub Azure Resource Manager admin endpoint and the privileged endpoint, to deploy the MySQL resource provider. Скрипт DeployMySqlProvider.ps1 входит в состав файла установки поставщика ресурсов MySQL, скачанного для вашей версии Azure Stack Hub.The DeployMySqlProvider.ps1 script is extracted as part of the MySQL resource provider installation files that you downloaded for your version of Azure Stack Hub.

Важно!

Перед развертыванием поставщика ресурсов просмотрите примечания к выпуску, чтобы узнать о новых функциях, исправлениях и любых известных проблемах, которые могут повлиять на развертывание.Before deploying the resource provider, review the release notes to learn about new functionality, fixes, and any known issues that could affect your deployment.

Чтобы развернуть поставщик ресурсов MySQL, откройте новое окно PowerShell с повышенными привилегиями (не интегрированная среда сценариев PowerShell) и перейдите в каталог, в котором были извлечены двоичные файлы поставщика ресурсов MySQL.To deploy the MySQL resource provider, open a new elevated PowerShell window (not PowerShell ISE) and change to the directory where you extracted the MySQL resource provider binary files.

Важно!

Настоятельно рекомендуется использовать clear-AzureRmContext-Scope CurrentUser и clear-AzureRmContext-Scope , чтобы очистить кэш перед выполнением скрипта обновления.We strongly recommend using Clear-AzureRmContext -Scope CurrentUser and Clear-AzureRmContext -Scope Process to clear the cache before running the update script.

Запустите скрипт DeployMySqlProvider.ps1, который выполняет следующие задачи:Run the DeployMySqlProvider.ps1 script, which completes the following tasks:

  • Передает сертификаты и другие артефакты в учетную запись хранения в Azure Stack Hub.Uploads the certificates and other artifacts to a storage account on Azure Stack Hub.
  • Публикует пакеты коллекции, что позволяет развертывать базы данных MySQL с помощью коллекции.Publishes gallery packages so that you can deploy MySQL databases using the gallery.
  • Публикует пакет коллекции для развертывания серверов размещения.Publishes a gallery package for deploying hosting servers.
  • Развертывает виртуальную машину с помощью образа Windows Server 2016 Core или надстройки Microsoft AzureStack RP на скачанном образе Windows Server, а затем устанавливает поставщик ресурсов MySQL.Deploys a VM using the Windows Server 2016 core image or Microsoft AzureStack Add-on RP Windows Server image you downloaded, and then installs the MySQL resource provider.
  • Регистрирует локальную запись DNS для сопоставления с виртуальной машиной поставщика ресурсов.Registers a local DNS record that maps to your resource provider VM.
  • Регистрирует поставщик ресурсов в локальном экземпляре Azure Resource Manager для оператора.Registers your resource provider with the local Azure Resource Manager for the operator account.

Примечание

Когда вы запустите развертывание поставщика ресурсов MySQL, будет создана группа ресурсов system.local.mysqladapter.When the MySQL resource provider deployment starts, the system.local.mysqladapter resource group is created. На выполнение обязательных развертываний в эту группу ресурсов может потребоваться до 75 минут.It may take up to 75 minutes to finish the deployments required to this resource group. Не следует размещать другие ресурсы в группе ресурсов system.local.mysqladapter.You should not place any other resources in the system.local.mysqladapter resource group.

Параметры DeployMySqlProvider.ps1DeployMySqlProvider.ps1 parameters

Эти параметры можно указать в командной строке.You can specify these parameters from the command line. Если вы не зададите нужные параметры или их значения не пройдут проверку, вам будет предложено указать требуемые параметры.If you don't, or if any parameter validation fails, you're prompted to provide the required parameters.

Имя параметраParameter name ОписаниеDescription Комментарий или значение по умолчаниюComment or default value
CloudAdminCredentialCloudAdminCredential Учетные данные администратора облака, необходимые для доступа к привилегированной конечной точке.The credential for the cloud administrator, necessary for accessing the privileged endpoint. ОбязательноRequired
AzCredentialAzCredential Учетные данные администратора службы Azure Stack Hub.The credentials for the Azure Stack Hub service admin account. Используйте те же учетные данные, которые вы указали при развертывании Azure Stack Hub.Use the same credentials that you used for deploying Azure Stack Hub. Сценарий завершится ошибкой, если для учетной записи, используемой с Азкредентиал, требуется многофакторная проверка подлинности (MFA).The script will fail if the account you use with AzCredential requires multi-factor authentication (MFA). ОбязательноRequired
VMLocalCredentialVMLocalCredential Учетные данные локального администратора на виртуальной машине поставщика ресурсов MySQL.The credentials for the local administrator account of the MySQL resource provider VM. ОбязательноRequired
PrivilegedEndpointPrivilegedEndpoint IP-адрес или DNS-имя привилегированной конечной точки.The IP address or DNS name of the privileged endpoint. ОбязательноRequired
AzureEnvironmentAzureEnvironment Среда Azure учетной записи администратора службы, которая использовалась для развертывания Azure Stack Hub.The Azure environment of the service admin account used for deploying Azure Stack Hub. Требуется только для развертываний Azure AD.Required only for Azure AD deployments. Поддерживаемые имена среды — AzureCloud, AzureUSGovernment или, в случае использования Azure AD для Китая, — AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure AD, AzureChinaCloud. AzureCloud;AzureCloud
DependencyFilesLocalPathDependencyFilesLocalPath В случае с интегрированными системами в этот каталог нужно поместить PFX-файл сертификата.For integrated systems only, your certificate .pfx file must be placed in this directory. Для отключенных сред скачайте в этот каталог файл mysql-connector-net-6.10.5.msi.For disconnected environments, download mysql-connector-net-6.10.5.msi to this directory. При необходимости можно скопировать сюда один пакет MSU Центра обновления Windows.You can optionally copy one Windows Update MSU package here. Необязательно (обязательно для интегрированных систем или отключенных сред)Optional (mandatory for integrated systems or disconnected environments)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword Пароль для PFX-файла сертификата.The password for the .pfx certificate. ОбязательноRequired
MaxRetryCountMaxRetryCount Число повторов каждой операции в случае сбоя.The number of times you want to retry each operation if there's a failure. 22
RetryDurationRetryDuration Время ожидания между повторными попытками в секундах.The timeout interval between retries, in seconds. 120120
УдалениеUninstall Удаляет поставщик ресурсов и все связанные с ним ресурсы (см. примечания ниже).Removes the resource provider and all associated resources (see the following notes). нетNo
DebugModeDebugMode Отключает автоматическую очистку в случае сбоя.Prevents automatic cleanup on failure. нетNo
AcceptLicenseAcceptLicense Пропускает запрос на принятие условий лицензии GPL.Skips the prompt to accept the GPL license. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Развертывание поставщика ресурсов MySQL с помощью пользовательского сценарияDeploy the MySQL resource provider using a custom script

При развертывании поставщика ресурсов MySQL версии 1.1.33.0 или предыдущих необходимо установить в PowerShell определенные версии модулей AzureRm.BootStrapper и Azure Stack Hub.If you are deploying the MySQL resource provider version 1.1.33.0 or previous versions, you need to install specific versions of AzureRm.BootStrapper and Azure Stack Hub modules in PowerShell. При развертывании поставщика ресурсов MySQL версии 1.1.47.0 или более поздней скрипт развертывания автоматически загрузит и установит необходимые модули PowerShell для пути C:\Program Филес\склмисклпш.If you are deploying the MySQL resource provider version 1.1.47.0 or later, the deployment script will automatically download and install the necessary PowerShell modules for you to path C:\Program Files\SqlMySqlPsh.

# Install the AzureRM.Bootstrapper module, set the profile and install the AzureStack module
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Примечание

В отключенном сценарии необходимо скачать необходимые модули PowerShell и зарегистрировать репозиторий вручную в качестве необходимого компонента.In disconnected scenario, you need to download the required PowerShell modules and register the repository manually as a prerequisite.

Чтобы избежать конфигурации вручную при развертывании поставщика ресурсов, настройте следующий скрипт.To eliminate any manual configuration when deploying the resource provider, you can customize the following script. Измените сведения и пароли учетной записи по умолчанию для развертывания Azure Stack Hub.Change the default account information and passwords as needed for your Azure Stack Hub deployment.

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$domain = "AzureStack"  

# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported environment names are AzureCloud, AzureUSGovernment, or AzureChinaCloud. 
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\MYSQLRP'

# The service admin account (can be Azure Active Directory or Active Directory Federation Services).
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set the credentials for the new resource provider VM local admin account
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("mysqlrpadmin", $vmLocalAdminPass)

# And the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh,
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath

# Change to the directory folder where you extracted the installation files. Don't provide a certificate on ASDK!
. $tempDir\DeployMySQLProvider.ps1 `
    -AzCredential $AdminCreds `
    -VMLocalCredential $vmLocalAdminCreds `
    -CloudAdminCredential $cloudAdminCreds `
    -PrivilegedEndpoint $privilegedEndpoint `
    -AzureEnvironment $AzureEnvironment `
    -DefaultSSLCertificatePassword $PfxPass `
    -DependencyFilesLocalPath $tempDir\cert `
    -AcceptLicense

После выполнения скрипта установки поставщика ресурсов обновите браузер, чтобы отобразить последние изменения, и закройте текущий сеанс PowerShell.When the resource provider installation script finishes, refresh your browser to make sure you can see the latest updates and close the current PowerShell session.

Проверка развертывания с использованием портала Azure Stack HubVerify the deployment by using the Azure Stack Hub portal

  1. Войдите на портал администрирования с правами администратора служб.Sign in to the administrator portal as the service admin.
  2. Выберите элемент Группы ресурсов.Select Resource Groups.
  3. Выберите систему. <location> .. группа ресурсов mysqladapter.Select the system.<location>.mysqladapter resource group.
  4. На странице сводки в разделе обзора группы ресурсов не должно быть сообщений о сбоях развертывания.On the summary page for Resource group Overview, there should be no failed deployments.
  5. Наконец, выберите Виртуальные машины на портале администратора, чтобы убедиться, что виртуальная машина поставщика ресурсов MySQL успешно создана и работает.Finally, select Virtual machines in the administrator portal to verify that the MySQL resource provider VM was successfully created and is running.

Дальнейшие действияNext steps

Добавление серверов размещенияAdd hosting servers