Gridpro AB
Rev: 1.2008.2074 (Azure Stack 2008)
Published: November 2020
Introduction
This document contains information on how to install EvOps on Azure Stack. If you are deploying on the ASDK (Azure Stack Development Kit), neither Microsoft nor Gridpro supports production workloads on ASDK installations. ASDK environments are only to be used for dev/test/verification.
Prerequisites
Azure Stack Version
Minimum supported version: 1.2002.0.0.
Verify Appropriate Accounts and Permissions
During the installation you will be prompted for credentials for Cloud Admin and Service Admin accounts. Please see below article for detailed requirements.
EvOps Installation Permission Requirements
Verify Access to Privileged Endpoint Virtual Machine
A core requirement for the EvOps installation is that the host you are running all scripts from has access to the Azure Stack Privileged Endpoint virtual machine. In an Azure Stack Development Kit (ASDK) deployment, sign in to the physical host.
Setup Azure Stack PowerShell Environment
EvOps installation requires that AzureRM and Azure Stack-specific PowerShell modules for the Azure Stack version you are targeting are installed, AzureStack Tools are available, and the PowerShell environment is configured for your Azure Stack deployment type (Azure AD or AD FS). Please see below article for step-by-step instructions.
Get up and running with PowerShell in Azure Stack
https://docs.microsoft.com/azure/azure-stack/azure-stack-powershell-configure-quickstart
Add Windows Server 2016 VM image to Azure Stack
EvOps requires a default Windows Server 2016 image SKU to be available in Marketplace so that it can be used during the installation. Images can be added either through syndication, if there is internet access, or using PowerShell if there is no internet access.
The following steps are applicable for environments with internet access, for other scenarios please refer to the official Microsoft documentation.
- Login as an Azure Stack Service Admin on Azure Stack Administration Site
- Select All services > Marketplace management
- Click Add from Azure
- Select Windows Server 2016 Datacenter
- Click Download
- Verify that status is Succeeded in the Marketplace management blade before starting EvOps installation script
Prepare EvOps Installation Directory
- Right-click the downloaded zip archive EvOps.x.xxxx.xxxx.x.zip, select properties and make sure it’s not blocked
- Extract the downloaded EvOps zip archive, in this example we choose to extract to: C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x
Create Subscription hosting EvOps infrastructure
All EvOps infrastructure resources should be hosted in a dedicated subscription. EvOps requires the following services as a minimum in the subscription where you choose to deploy the EvOps infrastructure:
- Compute
- Network
- Storage
- KeyVault
Please see this section for how to prepare a suitable subscription.
Create Plan containing services required by EvOps
- Login as a Service Admin on the Azure Stack Administration site
- Select All services > Plans
- Click Add
- Provide a Display nameg. EvOpsCore
- Create a new Resource Group, or select an existing one, as a container for the Plan
- Click Services
- Select Compute, Microsoft.KeyVault, Microsoft.Network and Microsoft.Storage, then click Select
- Click Quotas
- Select Storage (local), select Default Quota
- Select Network (local), select Default Quota
- Select KeyVault (local), select Unlimited
- Select Compute (local), select Default Quota
- Click OK
- Click Create
Create Offer for EvOps Core Plan
- Login as a Service Admin on Azure Stack Administration site
- Select All services > Offers
- Provide a Display name eg. EvOpsCore
- Create a new Resource Group, or select an existing one, as a container for the Offer
- Click Base plans
- Select EvOpsCore and click Select
- Click Create
- In Offer blade, click Refresh
- Select offer EvOpsCore, click Change State and select Public
NOTE: If you don’t want to make the offer Public you will need to create the tenant subscription from the admin site instead of following the steps in the next section.
Create Subscription
- Login as a Service Admin on Tenant site
- Select All services > Subscriptions
- Click Add
- Provide a Display nameg. EvOpsInfra
- Select Offer, then click EvOpsCore
- Click Create
- Select subscription EvOpsInfra, copy Subscription ID for use in deployment script
Prepare Certificates
NOTE: If you’re installing on the ASDK you can skip this step since the installer will generate the required certificate for you.
EvOps requires an SSL certificate to be prepared when installing on a multi-node environment (integrated system) of Azure Stack. The SSL certificate for EvOps has the same requirements as the other PaaS services for Azure Stack. Use the following subject and subject alternative name when requesting the certificate.
Certificate |
Required certificate subject and Subject Alternative Names (SANs) |
SSL |
evops.<region>.cloudapp.<fqdn> |
Once generated and exported as evops.<region>.<fqdn>.pfx, place the file in .\certificates\ssl.
Installation
Once the preparations are completed you are ready to befin the installation. The installation should take 45-90 minutes based on what type of environment you are deploying in.
IMPORTANT: Make sure that you have the required Azure Stack PowerShell modules installed for your Azure Stack environment before continuing. For more information: https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-powershell-install#install-azure-stack-powershell
Deploy EvOps for Azure Stack
- Open a new elevated PowerShell ISE editor and open script file:
C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x\Install-EvOps.ps1 - Important: If you have prepared your own SSL certificate according to instruction section “Prepare Certificates” you need to pass the “-SSLCertPassword“ parameter to the script. Add the yellow-marked string below to the script, this way you get prompted for the SSL certificate PFX password during installation. If not, skip this and go to next step.
.\scripts\Deploy-EvOps.ps1 -TenantSubscriptionId $tenantSubscriptionId `
-PrivilegedEndpoint $privilegedEndpoint `
-SSLCertPassword (Read-Host -Prompt PfxPassword -AsSecureString) - Replace all variables in parameters section with environment specific data according to table below:
<PrivilegedEndpoint>
DNS name or IP address of the privileged endpoint virtual machine
ASDK: azs-ercs01.azurestack.local<TenantSubscriptionID>
Specify Subscription ID of the subscription that will host EvOps infrastructure that was created in section “Create Subscription hosting EvOps infrastructure”
Example format: 06f64eb6-150a-4b70-a596-ad170b446ac5OPTIONAL: <Azure Stack tools directory>
Optionally pass the -AzureStackToolsDir parameter which otherwise defaults to C:\AzureStack-Tools-master
- Change working directory before running the script by executing the following command:
cd C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x - Click Run Script to execute script
- Read the EULA carefully and type Y, if you accept the terms
- Enter Cloud Admin credentials and click OK
- Enter Service Admin credentials if Azure AD deployment, or Cloud Admin credentials again if AD FS, then click OK
- Verify that script executed successfully based on output
- If you are in an Azure AD environment and the account that you specified during the installation was not an Azure AD Global Administrator, a Consent URL is generated as a part of the script output. This link needs to be sent to an Azure AD Global Administrator for approval before proceeding. The consent that is given is Azure AD read access for the EvOps RP service principal created during the installation.
If no Consent URL was shown in the script output, installation script was executed with Azure AD Global Administrator and you can proceed to the next step. - Installation completed
Getting Started
The following steps will help you to get started with EvOps for Azure Stack.
Activate License
- Login as a Service Admin on Azure Stack Administration site
- Select All services > EvOps
- Click License management
Internet Connected Environment
- Click Activate license
- Type in your activation key
- Click OK
Non-Internet Connected Environment
- Click Activate license
- Paste license request string and send to support@gridprosoftware.com
- When you receive license file, click Offline activation request
- Browse and select license file received and click OK
Prepare Plan and Offer for EvOps
- Login as a Service Admin on Azure Stack Administration site
- Select All services > Plans
- Click Add
- Provide a Display name eg. EvOps for Azure Stack
- Create a new Resource Group, or select an existing one, as a container for the Plan
- Click Services
- Select Gridpro.EvOps and click Select
- Click Quotas
- Select Microsoft.Storage (local), select Default Quota
- Select Microsoft.Network (local), select Default Quota
- Select Microsoft.KeyVault (local), select Unlimited
- Select Microsoft.Compute (local), select Default Quota
- Select Gridpro.EvOps(local) and click Create new quota
- Type Unlimited as Name and check Unlimited Accounts and Requests
- Click OK to save quota
- Select Unlimited and click OK
- Click Create
- Select All services > Offers
- Provide a Display name eg. EvOps for Azure Stack
- Create a new Resource Group, or select an existing one, as a container for the Offer
- Click Base plans
- Select EvOps for Azure Stack and click Select
- Click Create
- In Offer blade, click Refresh
- Select offer evops-for-azure-stack, click Change State and select Public
Create your first EvOps Account
Now you are ready to create your first EvOps account.
IMPORTANT: It is not recommended that you create EvOps account in the Subscription that hosts the EvOps infrastructure for security reasons.
Create subscription hosting your EvOps account
- Login as a Service Admin (or other account that should be the account owner) on Azure Stack Tenant site
- Select All services > Subscriptions
- Type in a name, in this example: EvOpsAdmin
- Click Offers
- Select EvOps for Azure Stack offer
- Click Create
- Click subscription you just created
- Click Resource providers
- Find Gridpro.EvOps resource provider in list and click Register
- Done
Create EvOps account principal
- Open an elevated PowerShell ISE editor and open script file:
C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x\Create-EvOpsAccountPrincipal.ps1 - Replace all variables in parameters section with environment specific data according to table below:
<PrivilegedEndpoint>
DNS name or IP address of the privileged endpoint virtual machine
ASDK: azs-ercs01.azurestack.local<ServiceAdmin>
Specify service admin login (AAD or AD FS) e.g. admin@contoso.onmicrosoft.com
<Domain>
NetBIOS name for the Azure Stack domain
ASDK: AzureStack<EvOpsAccountName>
Type in name of EvOps account you are creating the principal for.
<Azure Stack tools directory>
Azure Stack tools directory, typically C:\AzureStack-Tools-master
- Change working directory before running the script by executing the following command:
cd C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x - Click Run Script to execute script (script can take up to 60 minutes to complete)
- Enter Cloud Admin password and click OK
- Enter Service Admin password and click OK
- Confirmation box about removing certificate may pop up, click Yes to remove any temporary created certificates during script execution
- If script executes successfully, a file with .evad file extension will be generated in the installation directory that will contain all necessary information to create an EvOps account
IMPORTANT: The Evad file contains highly sensitive information about the service principal, so be sure to delete or move this file to a safe location after you have created your EvOps account.
Create EvOps account
- Select All services > EvOps accounts
- Click New
- Select EvOpsAdmin subscription
- In Resource group, click Create new and type in EvOps
- Type in a name for the account, in this example Cloud1
- Click Browse and select the Evad file that was generated in chapter Create EvOps account principal, will be in: C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x
- Click Create
- Delete or move the Evad file to a safe location since it contains highly sensitive information about the service principal
- Done
Import Sample Request Templates
The installation kit contains two samples as described below. For updated and more samples, please visit EvOps product support site.
The installation kit contains two samples as described below. For updated and more samples, please visit EvOps product support site.
- VM with approval (vm-with-approval.evpkg): Request template with an advanced wizard that contains SKU pickers, conditional visibility etc. and a workflow that contains an approval and ARM deployment for virtual machine creation.
- Support Request (support-request.evpkg): Request template creating a support request with resource picker that allows to add affected item.
Please follow the steps below to import samples.
- Select All services > EvOps accounts
- Click your EvOps account
- Click Request templates
- Click Import
- Browse to the folder where you extracted the EvOps installation files and documentation
- Select vm-with-approval.evpkg file in the list and click Open
- Change Display name and Name if required, then click OK to import
- Repeat step 4-7 for support-request.evpkg file as well
- Open each Request template and click Publish to publish to Marketplace
Upgrade
The following steps will help you upgrade EvOps for Azure Stack.
- Open an elevated PowerShell ISE editor and open script file:
C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x\Install-EvOps.ps1 - Replace all variables in parameters section with environment specific data according to table below:
<PrivilegedEndpoint>
DNS name or IP address of the privileged endpoint virtual machine
ASDK: azs-ercs01.azurestack.local<TenantSubscriptionID>
Specify Subscription ID of the subscription that will host EvOps infrastructure that was created in section “Create Subscription hosting EvOps infrastructure”
Example format: 06f64eb6-150a-4b70-a596-ad170b446ac5OPTIONAL: <Azure Stack tools directory>
Optionally pass the -AzureStackToolsDir parameter which otherwise defaults to C:\AzureStack-Tools-master
- Change working directory before running the script by executing the following command:
cd C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x - Click Run Script to execute script (script can take up to 60 minutes to complete)
- Read the EULA carefully and type Y, if you accept the terms
- Enter Cloud Admin passwords and click OK
- Enter Service Admin password and click OK
- Verify that script executed successfully based on output
- Upgrade completed
Uninstallation
The following steps will help you uninstall EvOps for Azure Stack.
- Start by removing all Plans and Offers connected to EvOps
- Open an elevated PowerShell ISE editor and open script file:
C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x\Uninstall-EvOps.ps1 - Replace all variables in parameters section with environment specific data according to table below:
<PrivilegedEndpoint>
DNS name or IP address of the privileged endpoint virtual machine
ASDK: azs-ercs01.azurestack.local<TenantSubscriptionID>
Specify Subscription ID of the subscription that will host EvOps infrastructure that was created in section “Create Subscription hosting EvOps infrastructure”.
Example format: 06f64eb6-150a-4b70-a596-ad170b446ac5OPTIONAL: <Azure Stack tools directory>
Optionally pass the -AzureStackToolsDir parameter which otherwise defaults to C:\AzureStack-Tools-master
- Change working directory before running the script by executing the following command:
cd C:\Install\Gridpro.EvOps.x.xxxx.xxxx.x\ - Click Run Script to execute script (script can take up to 60 minutes to complete)
- Type Y, on the question that you are sure you want to unregister EvOps resource provider
- Verify that script executed successfully based on output
- Uninstallation completed
Known Limitations
This section describes known issues with this version of the product.
- It is currently not possible to edit list values like "Classification, Source, Support group". This will be possible in a future release.
- Resource group- and location picker are added by default to the wizard of a new request template. For any request that does not include a Deployment Activity, the resource group and location picker can be removed.
Comments
0 comments
Article is closed for comments.