Wdrażanie dostawcy zasobów MySQL w Azure Stack HubDeploy the MySQL resource provider on Azure Stack Hub

Użyj dostawcy zasobów serwera MySQL, aby udostępnić bazy danych MySQL jako usługę Azure Stack Hub.Use the MySQL Server resource provider to expose MySQL databases as an Azure Stack Hub service. Dostawca zasobów programu MySQL działa jako usługa na maszynie wirtualnej z systemem Windows Server 2016 Server Core (w przypadku wersji adaptera <= 1.1.47.0>) lub specjalnego systemu Windows Server RP (w przypadku wersji adaptera >= 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).

Ważne

Tylko dostawca zasobów powinien tworzyć elementy na serwerach, na których jest hostowana baza danych SQL lub MySQL.Only the resource provider should create items on servers that host SQL or MySQL. Elementy utworzone na serwerze hosta, które nie są tworzone przez dostawcę zasobów, nie są obsługiwane i mogą spowodować niezgodność stanu.Items created on a host server that aren't created by the resource provider are unsupported, and may result in a mismatched state.

Wymagania wstępnePrerequisites

Istnieje kilka wymagań wstępnych, które należy spełnić przed wdrożeniem dostawcy zasobów programu Azure Stack Hub:There are several prerequisites that need to be in place before you can deploy the Azure Stack Hub MySQL resource provider:

  • Potrzebujesz komputera i konta, które ma dostęp do programu:You'll need a computer and account that can access:

    • Portal administratora centrum Azure Stack.the Azure Stack Hub administrator portal.
    • uprzywilejowany punkt końcowy.the privileged endpoint.
    • punkt końcowy Azure Resource Manager administratora, https://management.region.<fqdn> gdzie <fqdn> to w pełni kwalifikowana nazwa domeny (lub https://management.local.azurestack.external Jeśli jest używana 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)
    • Internet, jeśli centrum Azure Stack zostało wdrożone w celu korzystania z usługi Azure Active Directory (AD) jako dostawcy tożsamości.the Internet, if your Azure Stack Hub was deployed to use Azure Active Directory (AD) as your identity provider.
  • Jeśli jeszcze tego nie zrobiono, zarejestruj centrum Azure Stack przy użyciu platformy Azure, aby umożliwić pobieranie elementów portalu Azure Marketplace.If you haven't already, register Azure Stack Hub with Azure so you can download Azure Marketplace items.

  • Dodaj wymaganą maszynę wirtualną z systemem Windows Server do Azure Stack centrum Marketplace.Add the required Windows Server VM to Azure Stack Hub Marketplace.

    • W przypadku programu MySQL RP wersja <= 1.1.47.0 Pobierz obraz systemu Windows server 2016 Datacenter-Server Core .For MySQL RP version <= 1.1.47.0, download the Windows Server 2016 Datacenter - Server Core image.
    • W przypadku programu MySQL RP w wersji >= 1.1.93.0 Pobierz obraz systemu Windows Server Add-On RP programu Microsoft AzureStack .For MySQL RP version >= 1.1.93.0, download the Microsoft AzureStack Add-On RP Windows Server image. Ta wersja systemu Windows Server jest specjalizacją dla Azure Stack Add-On infrastruktury RP i nie jest widoczna dla witryny Marketplace dzierżawców.This Windows Server version is specialize for Azure Stack Add-On RP Infrastructure and it is not visible to the tenant marketplace.
  • Pobierz obsługiwaną wersję pliku binarnego dostawcy zasobów programu MySQL zgodnie z tabelą mapowania wersji poniżej.Download the supported version of MySQL resource provider binary according to the version mapping table below. Uruchom samowyodrębnianie, aby wyodrębnić pobraną zawartość do katalogu tymczasowego.Run the self-extractor to extract the downloaded contents to a temporary directory.

    Obsługiwana wersja centrum Azure StackSupported Azure Stack Hub version Wersja RP programu MySQLMySQL RP version System Windows Server, na którym jest uruchomiona usługa RPWindows Server that RP service is running on
    2008, 20052008, 2005 Baza danych programu MySQL RP 1.1.93.1MySQL RP version 1.1.93.1 Microsoft AzureStack — serwer RP systemu Windows ServerMicrosoft AzureStack Add-on RP Windows Server
    2005, 2002, 19102005, 2002, 1910 Baza danych programu MySQL RP 1.1.47.0MySQL RP version 1.1.47.0 Windows Server 2016 Datacenter — Server CoreWindows Server 2016 Datacenter - Server Core
    19081908 Baza danych programu MySQL RP 1.1.33.0MySQL RP version 1.1.33.0 Windows Server 2016 Datacenter — Server CoreWindows Server 2016 Datacenter - Server Core

Uwaga

Aby wdrożyć dostawcę MySQL w systemie, który nie ma dostępu do Internetu, skopiuj plik mysql-connector-net-6.10.5.msi do ścieżki lokalnej.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. Podaj nazwę ścieżki przy użyciu parametru DependencyFilesLocalPath .Provide the path name using the DependencyFilesLocalPath parameter.

W scenariuszu rozłączonym wykonaj następujące kroki, aby pobrać wymagane moduły programu PowerShell i ręcznie zarejestrować repozytorium.In a disconnected scenario, complete the following steps to download the required PowerShell modules and register the repository manually.

  1. Zaloguj się na komputerze z łącznością internetową i użyj następujących skryptów, aby pobrać moduły programu 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. W zależności od wersji wdrażanego dostawcy zasobów Uruchom jeden ze skryptów.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. Następnie można skopiować pobrane pakiety na urządzenie USB.Then you copy the downloaded packages to a USB device.

  2. Zaloguj się na odłączonej stacji roboczej i skopiuj pakiety z urządzenia USB do lokalizacji na stacji roboczej.Sign in to the disconnected workstation and copy the packages from the USB device to a location on the workstation.

  3. Zarejestruj tę lokalizację jako lokalne repozytorium.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" 

CertyfikatyCertificates

Tylko dla instalacji systemów zintegrowanych.For integrated systems installations only. Należy podać certyfikat PKI SQL PaaS opisany w sekcji opcjonalne certyfikaty PaaS wymagania dotyczące infrastruktury PKI wdrożenia centrum Azure Stack.You must provide the SQL PaaS PKI certificate described in the optional PaaS certificates section of Azure Stack Hub deployment PKI requirements. Umieść plik PFX w lokalizacji określonej przez parametr DependencyFilesLocalPath .Place the .pfx file in the location specified by the DependencyFilesLocalPath parameter. Nie dostarczaj certyfikatu dla systemów ASDK.Don't provide a certificate for ASDK systems.

Wdrażanie dostawcy zasobówDeploy the resource provider

Po ukończeniu wszystkich wymagań wstępnych można uruchomić skrypt DeployMySqlProvider.ps1 z komputera, który może uzyskać dostęp zarówno do centrum Azure Stack, Azure Resource Manager punktu końcowego administratora i uprzywilejowanego punktu końcowego, aby wdrożyć dostawcę zasobów programu 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. Skrypt DeployMySqlProvider.ps1 jest wyodrębniany jako część plików instalacyjnych dostawcy zasobów programu MySQL pobranych dla używanej wersji centrum Azure Stack.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.

Ważne

Przed wdrożeniem dostawcy zasobów zapoznaj się z informacjami o wersji, aby dowiedzieć się więcej o nowych funkcjach, poprawkach i znanych problemach, które mogą mieć wpływ na wdrożenie.Before deploying the resource provider, review the release notes to learn about new functionality, fixes, and any known issues that could affect your deployment.

Aby wdrożyć dostawcę zasobów MySQL, Otwórz nowe okno programu PowerShell z podwyższonym poziomem uprawnień (nie w programie PowerShell ISE) i przejdź do katalogu, w którym wyodrębniono pliki binarne dostawcy zasobów programu 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.

Ważne

Zdecydowanie zalecamy użycie procesu Clear-AzureRmContext-Scope CurrentUser i Clear-AzureRmContext-Scope w celu wyczyszczenia pamięci podręcznej przed uruchomieniem skryptu aktualizacji.We strongly recommend using Clear-AzureRmContext -Scope CurrentUser and Clear-AzureRmContext -Scope Process to clear the cache before running the update script.

Uruchom skrypt DeployMySqlProvider.ps1 , który wykonuje następujące zadania:Run the DeployMySqlProvider.ps1 script, which completes the following tasks:

  • Przekazuje certyfikaty i inne artefakty do konta magazynu w centrum Azure Stack.Uploads the certificates and other artifacts to a storage account on Azure Stack Hub.
  • Publikuje pakiety galerii, dzięki czemu można wdrażać bazy danych MySQL za pomocą galerii.Publishes gallery packages so that you can deploy MySQL databases using the gallery.
  • Publikuje pakiet galerii służący do wdrażania serwerów hostingu.Publishes a gallery package for deploying hosting servers.
  • Wdraża maszynę wirtualną przy użyciu obrazu systemu Windows Server 2016 Core lub pobranego obrazu systemu Windows Server, który został pobrany, a następnie instaluje dostawcę zasobów programu 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.
  • Rejestruje lokalny rekord DNS, który jest mapowany na maszynę wirtualną dostawcy zasobów.Registers a local DNS record that maps to your resource provider VM.
  • Rejestruje dostawcę zasobów przy użyciu lokalnego Azure Resource Manager dla konta operatora.Registers your resource provider with the local Azure Resource Manager for the operator account.

Uwaga

Po uruchomieniu wdrożenia dostawcy zasobów programu MySQL zostanie utworzona grupa zasobów System. local. mysqladapter .When the MySQL resource provider deployment starts, the system.local.mysqladapter resource group is created. Ukończenie wdrożeń wymaganych do tej grupy zasobów może potrwać do 75 minut.It may take up to 75 minutes to finish the deployments required to this resource group. Nie należy umieszczać innych zasobów w grupie zasobów System. local. mysqladapter .You should not place any other resources in the system.local.mysqladapter resource group.

Parametry DeployMySqlProvider.ps1DeployMySqlProvider.ps1 parameters

Parametry te można określić w wierszu polecenia.You can specify these parameters from the command line. Jeśli nie, lub jeśli sprawdzanie poprawności parametrów nie powiedzie się, zostanie wyświetlony monit o podanie wymaganych parametrów.If you don't, or if any parameter validation fails, you're prompted to provide the required parameters.

Nazwa parametruParameter name OpisDescription Komentarz lub wartość domyślnaComment or default value
CloudAdminCredentialCloudAdminCredential Poświadczenie administratora chmury niezbędne do uzyskania dostępu do uprzywilejowanego punktu końcowego.The credential for the cloud administrator, necessary for accessing the privileged endpoint. WymaganeRequired
AzCredentialAzCredential Poświadczenia konta administratora usługi Azure Stack Hub.The credentials for the Azure Stack Hub service admin account. Użyj tych samych poświadczeń, które zostały użyte do wdrożenia centrum Azure Stack.Use the same credentials that you used for deploying Azure Stack Hub. Skrypt zakończy się niepowodzeniem, jeśli konto używane z usługą AzCredential wymaga uwierzytelniania wieloskładnikowego (MFA).The script will fail if the account you use with AzCredential requires multi-factor authentication (MFA). WymaganeRequired
VMLocalCredentialVMLocalCredential Poświadczenia konta administratora lokalnego dla maszyny wirtualnej dostawcy zasobów programu MySQL.The credentials for the local administrator account of the MySQL resource provider VM. WymaganeRequired
PrivilegedEndpointPrivilegedEndpoint Adres IP lub nazwa DNS uprzywilejowanego punktu końcowego.The IP address or DNS name of the privileged endpoint. WymaganeRequired
AzureEnvironmentAzureEnvironment Środowisko platformy Azure konta administratora usługi używane do wdrażania centrum Azure Stack.The Azure environment of the service admin account used for deploying Azure Stack Hub. Wymagane tylko w przypadku wdrożeń usługi Azure AD.Required only for Azure AD deployments. Obsługiwane nazwy środowisk to AzureCloud, AzureUSGovernment lub w przypadku korzystania z usługi Azure AD, AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure AD, AzureChinaCloud. AzureCloudAzureCloud
DependencyFilesLocalPathDependencyFilesLocalPath Tylko w przypadku systemów zintegrowanych plik PFX musi być umieszczony w tym katalogu.For integrated systems only, your certificate .pfx file must be placed in this directory. W przypadku środowisk odłączonych Pobierz mysql-connector-net-6.10.5.msi do tego katalogu.For disconnected environments, download mysql-connector-net-6.10.5.msi to this directory. Opcjonalnie można skopiować jeden Windows Update Pakiet MSU tutaj.You can optionally copy one Windows Update MSU package here. Opcjonalne (obowiązkowe dla systemów zintegrowanych lub rozłączonych)Optional (mandatory for integrated systems or disconnected environments)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword Hasło certyfikatu PFX.The password for the .pfx certificate. WymaganeRequired
MaxRetryCountMaxRetryCount Ile razy chcesz ponowić każdą operację w przypadku wystąpienia błędu.The number of times you want to retry each operation if there's a failure. 22
RetryDurationRetryDuration Interwał limitu czasu między ponownymi próbami (w sekundach).The timeout interval between retries, in seconds. 120120
OdinstalowywanieUninstall Usuwa dostawcę zasobów i wszystkie skojarzone zasoby (Zobacz poniższe uwagi).Removes the resource provider and all associated resources (see the following notes). NieNo
DebugujmodeDebugMode Uniemożliwia automatyczne czyszczenie w przypadku niepowodzenia.Prevents automatic cleanup on failure. NieNo
AcceptLicenseAcceptLicense Pomija monit o zaakceptowanie licencji GPL.Skips the prompt to accept the GPL license. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Wdrażanie dostawcy zasobów MySQL przy użyciu skryptu niestandardowegoDeploy the MySQL resource provider using a custom script

W przypadku wdrażania dostawcy zasobów MySQL w wersji 1.1.33.0 lub poprzednich należy zainstalować określone wersje programu AzureRm. Bootstrap i Azure Stack modułów centrum w programie PowerShell.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. W przypadku wdrażania dostawcy zasobów MySQL w wersji 1.1.47.0 lub nowszej skrypt wdrożenia automatycznie pobierze i zainstaluje niezbędne moduły programu PowerShell dla ścieżki C:\Program Files\SqlMySqlPsh.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

Uwaga

W przypadku scenariusza rozłączenia należy pobrać wymagane moduły programu PowerShell i zarejestrować repozytorium ręcznie jako warunek wstępny.In disconnected scenario, you need to download the required PowerShell modules and register the repository manually as a prerequisite.

Aby wyeliminować konfigurację ręczną podczas wdrażania dostawcy zasobów, można dostosować następujący skrypt.To eliminate any manual configuration when deploying the resource provider, you can customize the following script. Zmień domyślne informacje o koncie i hasła zgodnie z wymaganiami wdrożenia centrum Azure Stack.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

Po zakończeniu działania skryptu instalacji dostawcy zasobów Odśwież przeglądarkę, aby upewnić się, że są widoczne najnowsze aktualizacje i zamknij bieżącą sesję programu 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.

Weryfikowanie wdrożenia przy użyciu portalu Azure Stack HubVerify the deployment by using the Azure Stack Hub portal

  1. Zaloguj się do portalu administratora jako administrator usługi.Sign in to the administrator portal as the service admin.
  2. Wybierz pozycję Grupy zasobów.Select Resource Groups.
  3. Wybierz System. <location> . Grupa zasobów mysqladapter.Select the system.<location>.mysqladapter resource group.
  4. Na stronie Podsumowanie w obszarze przegląd grupy zasobów nie powinno być wdrożeń zakończonych niepowodzeniem.On the summary page for Resource group Overview, there should be no failed deployments.
  5. Na koniec wybierz pozycję maszyny wirtualne w portalu administratora, aby sprawdzić, czy maszyna wirtualna dostawcy zasobów programu MySQL została pomyślnie utworzona i czy jest uruchomiona.Finally, select Virtual machines in the administrator portal to verify that the MySQL resource provider VM was successfully created and is running.

Następne krokiNext steps

Dodawanie serwerów hostinguAdd hosting servers