[Actualización 27/04/19 16:47]
Está siendo una lucha denodada el conseguir no caer del top 5 mundial en la ejecución del laboratorio científico de la Global Azure Bootcamp, en donde buscamos explanetas como explicaba en el primer artículo.
Y hemos conseguido, entre todos, llevar a los límites de Azure en Europa al notificarnos que hemos dejado sin más capacidad de Container Instances en el Cloud.
Personálmente, tengo montadas 149 instancias de contenedor, y quiero superar el límite de vcpu que me impide montar un AKS con decenas de Pods.
Y lo he conseguido.
WebApps como contenedores Docker.
Para romper este límite y poder instanciar más contenedores, he optado por hacerlo montando la imagen del laboratorio en una Web App, y construir un script en powershel + AZ Cli para automatizar la creación:
az login az account set -s 'xxxxx-xxxx-xxxx-xxxxxxxxxx' #Bucle para construir de 10 en 10 for (($i = 0), ($j = 0); $i -lt 10; $i++) { #Global parameters $RESOURCE_GROUP="GlobalAzureBootcamp" $LOCATION="westeurope" $APP_PLAN="GABSLAppPlan" + $i $WEBAPP_NAME="GABSL" + $i $IMAGEN="globalazurebootcamp/sciencelab2019:latest" #Crear grupo de resursos #az group create -n ${RESOURCE_GROUP} -l ${LOCATION} #Crear AppPlan az appservice plan create -n ${APP_PLAN} -g ${RESOURCE_GROUP} --sku S1 --is-linux #Publicar container GABSL az webapp create -n ${WEBAPP_NAME} --plan ${APP_PLAN} -g ${RESOURCE_GROUP} --deployment-container-image-name ${IMAGEN} #Añadir las variables de contexto az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings WEBSITES_PORT=80 az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings BatchClient__Email=jc_quijano@hotmail.com az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings BatchClient__Fullname="Juan Quijano" az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings BatchClient__TeamName="Juan Quijano" az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings BatchClient__CompanyName="Juan Quijano" az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings BatchClient__CountryCode="ES" az webapp config appsettings set -n ${WEBAPP_NAME} -g ${RESOURCE_GROUP} --settings BatchClient__LabKeyCode="THE-GAB-ORG" }
Es cierto que no es el script más bonito del mundo y que podría meter las variables de contexto de forma más elegante; pero con esto, sigo aún en la lucha, y tengo montadas +50 webapps, por encima del limite de mi suscripciones en la persecución de Angel Royo para conseguir el podium global.
Por alguna razón el la aplicación no arranca sola dentro dce la WebApp en múltiples casos y he lanzado el siguiente script para que haga un request que «despierte» el cliente.
Foreach($Webapp in $rgWebApp) { #Escalar horizontalmente el App Plan $rg = $appservice.ResourceGroup Write-Host $webapp.Name $url = "https://" + $webapp.Name + ".azurewebsites.net" Invoke-WebRequest $url #-UseBasicParsing }
Ya he encontrado, al menos, dos posibles candidatos de planetas!!!!
Espero que sea de utilidad.