create an .env file using the example
see parameters and variables for details.
source the env file
source .env
there are multiple deployment options, using az cli, powershell, from variables/parameters or from parameter file
use
deployment using default parameters
or
deployment using customized parameters
if not already done,
source your .env file
source .env
if not already done,
create an ssh keypair for the environment
ssh-keygen -t rsa -f ~/${JUMPBOX_NAME} -C ${ADMIN_USERNAME}
deployment using the default parameters only passes a minimum required parameters to the az command. all other values are set to their default.
az group create --name ${JUMPBOX_RG} --location ${AZURE_REGION}
az group deployment create --resource-group ${JUMPBOX_RG} \
--template-uri https://raw.githubusercontent.com/bottkars/pks-jump-azure/$BRANCH/azuredeploy.json \
--parameters \
adminUsername=${ADMIN_USERNAME} \
sshKeyData="$(cat ~/${JUMPBOX_NAME}.pub)" \
keyVaultName=${AZURE_VAULT} \
keyVaultRG=${VAULT_RG} \
JumphostDNSLabelPrefix=${JUMPBOX_NAME} \
clientSecret=${AZURE_CLIENT_SECRET} \
clientID=${AZURE_CLIENT_ID} \
tenantID=${AZURE_TENANT_ID} \
subscriptionID=${AZURE_SUBSCRIPTION_ID} \
envName=${ENV_NAME} \
PKSDomainName=${PKS_DOMAIN_NAME} \
PKSSubdomainName=${PKS_SUBDOMAIN_NAME} \
opsmanUsername=${PKS_OPSMAN_USERNAME} \
_artifactsLocation=${ARTIFACTS_LOCATION} \
vmSize=${VMSIZE}
az group create --name ${JUMPBOX_RG} --location ${AZURE_REGION}
az group deployment validate --resource-group ${JUMPBOX_RG} \
--template-uri https://raw.githubusercontent.com/bottkars/pks-jump-azure/$BRANCH/azuredeploy.json \
--parameters \
availabilityMode=${AVAILABILITY_MODE} \
adminUsername=${ADMIN_USERNAME} \
sshKeyData="$(cat ~/${JUMPBOX_NAME}.pub)" \
keyVaultName=${AZURE_VAULT} \
keyVaultRG=${VAULT_RG} \
JumphostDNSLabelPrefix=${JUMPBOX_NAME} \
envName=${ENV_NAME} \
opsmanImage=${OPS_MANAGER_IMAGE} \
PKSDomainName=${PKS_DOMAIN_NAME} \
PKSSubdomainName=${PKS_SUBDOMAIN_NAME} \
opsmanUsername=${PCF_OPSMAN_USERNAME} \
notificationsEmail=${PKS_NOTIFICATIONS_EMAIL} \
PKSAutopilot=${PKS_AUTOPILOT} \
PKSVersion=${PKS_VERSION} \
HarborVersion=${HARBOR_VERSION} \
net16bitmask=${NET_16_BIT_MASK} \
useSelfCerts=${USE_SELF_CERTS} \
_artifactsLocation=${ARTIFACTS_LOCATION} \
vmSize=${VMSIZE} \
opsmanImage=${OPS_MANAGER_IMAGE} \
WavefrontAPIUrl=${WAVEFRONT_API} \
WavefrontToken=${WAVEFRONT_TOKEN} \
opsmanImageRegion=${OPS_MANAGER_IMAGE_REGION}
installation using customized parameter set´s all required parameters from variables in your .env file
az group create --name ${JUMPBOX_RG} --location ${AZURE_REGION}
az group deployment create --resource-group ${JUMPBOX_RG} \
--template-uri https://raw.githubusercontent.com/bottkars/pks-jump-azure/$BRANCH/azuredeploy.json \
--parameters \
availabilityMode=${AVAILABILITY_MODE} \
adminUsername=${ADMIN_USERNAME} \
sshKeyData="$(cat ~/${JUMPBOX_NAME}.pub)" \
keyVaultName=${AZURE_VAULT} \
keyVaultRG=${VAULT_RG} \
JumphostDNSLabelPrefix=${JUMPBOX_NAME} \
envName=${ENV_NAME} \
opsmanImage=${OPS_MANAGER_IMAGE} \
PKSDomainName=${PKS_DOMAIN_NAME} \
PKSSubdomainName=${PKS_SUBDOMAIN_NAME} \
opsmanUsername=${PCF_OPSMAN_USERNAME} \
notificationsEmail=${PKS_NOTIFICATIONS_EMAIL} \
PKSAutopilot=${PKS_AUTOPILOT} \
PKSVersion=${PKS_VERSION} \
HarborVersion=${HARBOR_VERSION} \
net16bitmask=${NET_16_BIT_MASK} \
useSelfCerts=${USE_SELF_CERTS} \
_artifactsLocation=${ARTIFACTS_LOCATION} \
vmSize=${VMSIZE} \
opsmanImage=${OPS_MANAGER_IMAGE} \
WavefrontAPIUrl=${WAVEFRONT_API} \
WavefrontToken=${WAVEFRONT_TOKEN} \
opsmanImageRegion=${OPS_MANAGER_IMAGE_REGION}
tbd
see this table for Parameters and Variables
watching the JUMPHost resource group creation
watch az resource list --output table --resource-group ${JUMPBOX_RG}
watching the pks resource group creation
watch az resource list --output table --resource-group ${ENV_NAME}