Overview
By default it will create a pool with a max size of 2 running Ubuntu 18.04. The pools is called testpool
.
Azure specific configuration in a pool file.
Authentication
By default we require client_id, client_secret subscription_id and tenant_id which is needed for create an the instance.
You can create an application or use an existing one here. On your application Overview
page you can view the client id. Then you can add a new secret under certificates and secrets
.
Find your tenant_id by going to the Azure portal here.
Find your subsription_id by going to the Azure portal and selecting your subscription here. You will then need to add permissions to your application under IAM. You will need to add the Owner role to your application. To do this, click on your subscription, then click the IAM link on the left hand side, then add a new role. Select your application (not user), Assign the owner role, save.
Pool Spec
Cloud specific configuration.
|
|
More information on user_data and user_data_path can be found custom cloud-init
account
Contains the Azure account configuration.
|
|
image
Contains Azure base image configuration:
|
|
Recommended images
Ubuntu 18.04
This is the default image for the runner.
image:
username: XXXXXXX
password: XXXXXXX
publisher: Canonical
offer: UbuntuServer
sku: 18.04-LTS
version: latest
Windows Server 2019 with containers
You must use virtual machines with container support enabled.
NB: be sure to set the platform to windows
version: "1"
instances:
- name: ubuntu-azure
default: true
type: azure
platform:
os: windows
spec:
account:
client_id: XXXXXXX
client_secret: XXXXXXX
subscription_id: XXXXXXX
tenant_id: XXXXXXX
location: eastus2
size: Standard_F2s
zones: ["1"]
tags:
tagName: tag
image:
username: XXXXXXX
password: XXXXXXX
publisher: MicrosoftWindowsServer
offer: WindowsServer
sku: 2019-Datacenter-with-Containers
version: latest
Azure does not support running custom scripts for windows out of the box (linux has cloudinit). We use extensions to do this, this unfortunately adds to the spin up time.
Example pool setup
EG, This pool.yml
file configures a pool with a pool size of 1 and a limit of 4.
|
|