Guest User

Untitled

a guest
Jan 27th, 2018
399
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. version: 2
  2. jobs:
  3.  
  4. provision_cluster:
  5. docker:
  6. - image: azuresdk/azure-cli-python
  7. environment:
  8. RESOURCE_GROUP: aks-poc-euw-rg
  9. CLUSTER_LOCATION: westeurope
  10. CONTAINER_REPOSITORY: akspoc
  11. KEYVAULT_NAME: aks-poc-keyvault-euw
  12. CLUSTER_NAME: aks-poc-euw
  13. steps:
  14. # LOGIN ONTO AZURE WITH EXISTING SERVICE PRINCIPAL
  15. - run: |
  16. az login --service-principal -u $SERVICE_PRINCIPAL --password $SERVICE_PRINCIPAL_PASS --tenant $SERVICE_TENANT
  17. az account set --subscription $SUBSCRIPTION_NAME_OR_ID
  18.  
  19. # CREATE RESOURCE GROUP
  20. - run: az group create --name $RESOURCE_GROUP --location $CLUSTER_LOCATION
  21.  
  22. # GENERATE SSH KEY
  23. - run: ssh-keygen -t rsa -b 2048 -N '' -f ./cluster-ssh
  24.  
  25. # CREATE CONTAINER REPOSITORY (IDEALLY THIS WOULD BE REGION AGNOSTIC)
  26. - run: az acr create --name $CONTAINER_REPOSITORY --resource-group $RESOURCE_GROUP --sku Basic
  27. # CHECK FOR A BETTER WAY TO AUTOMATICALLY ENABLE AUTH
  28. - run: az acr update -n $CONTAINER_REPOSITORY --admin-enabled true
  29.  
  30. # CREATE KEYVAULT AND UPLOAD SSH KEY
  31. - run: az provider register -n Microsoft.KeyVault
  32. - run: az keyvault create --name $KEYVAULT_NAME --resource-group $RESOURCE_GROUP --location $CLUSTER_LOCATION
  33. - run: az keyvault secret set --vault-name $KEYVAULT_NAME --name cluster-ssh --file ./cluster-ssh
  34. - run: az keyvault secret set --vault-name $KEYVAULT_NAME --name cluster-ssh-pub --file ./cluster-ssh.pub
  35.  
  36. # CREATE AKS CLUSTER, THEN DELETE SSH KEY
  37. - run: az provider register -n Microsoft.ContainerService
  38. - run: az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --location $CLUSTER_LOCATION --ssh-key-value ./cluster-ssh.pub --service-principal $SERVICE_PRINCIPAL --client-secret $SERVICE_PRINCIPAL_PASS #--kubernetes-version 1.8.2
  39.  
  40. - run: kubectl create secret docker-registry acr-credentials --docker-server=$CONTAINER_REPOSITORY.azurecr.io --docker-username=$CONTAINER_REPOSITORY --docker-password=$(az acr credential show --name $CONTAINER_REPOSITORY --out table | tail -n1 | sed 's/ /|/g' | sed 's/||/|/g' | sed 's/||/|/g' | cut -f 2 -d '|') --docker-email=any@email.c.o
  41.  
  42. # DELETE GENERATED SSH KEYS
  43. - run: rm cluster-ssh*
  44.  
  45.  
  46. delete_all_resources:
  47. docker:
  48. - image: azuresdk/azure-cli-python
  49. environment:
  50. RESOURCE_GROUP: aks-poc2-euw-rg
  51. steps:
  52. - run: |
  53. az login --service-principal -u $SERVICE_PRINCIPAL --password $SERVICE_PRINCIPAL_PASS --tenant $SERVICE_TENANT
  54. az account set --subscription $SUBSCRIPTION_NAME_OR_ID
  55. az group delete --yes --name $RESOURCE_GROUP
  56.  
  57.  
  58. workflows:
  59. version: 2
  60.  
  61. on_demand_provisioning:
  62. jobs:
  63. - provision_cluster
  64.  
  65. nightly:
  66. triggers:
  67. - schedule:
  68. cron: "0 0 * * *"
  69. filters:
  70. branches:
  71. only:
  72. - master
  73. jobs:
  74. - delete_all_resources
Add Comment
Please, Sign In to add comment