Au menu:
- C'est quoi Bicep ?
- Les basiques du langage
- Conversion ARM vers Bicep
- Deploiement d'une petite plateforme
TLDR : Bicep in Nutshell (Or with one picture)
- Prerequis & installation
- Souscription Azure
- VS Code avec son extension Bicep
- Azure CLI
- Bicep
Verification:
az bicep version >> Bicep CLI version 0.4.63
Pour les retardataires:
choco install bicep
choco install azure-cli
choco install vscode
- Les liens
NOTE Sources dans le dépot
Goals
- Déclarer un RG + une resource Azure
- Variables et paramètres
- Rapide comparaison avec Terraform
- Deployer son premier template
Structure d'une resouce
resource myResouceName 'Microsoft.Resources/<type>@<api>' = {
name: <name>
}
resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: rgName
location: location
}
Variable et param
param myParam type = 'xxx'
var myVariable = '${var1}-string'
- Créez un fichier rg.bicep
- Creer un resouce group "Prod-labBicep01-rg"
- Créez un fichier storage.bicep
- Creer un storage account
- Activez cette option pour la config réseau:
- Déployez le resouceGroup
- Déployez le Storage Account
Help
Goals
- Organisation en module
- Dépendances, gestion des outputs les boucles
- Un resource group labBicep02
- Un Virtual Network (simple)
- Une VM VM1 indépendante
- Deux VM VM2 VM3 déployées via une boucle
- Créez un fichier main.bicep
- Déployer un resouce group labBicep02
- Créer plusieurs fichiers Bicep pour chaque type de resource
- Network, VM
- Appellez vos resources depuis le main.bicep via des modules
- Pour le réseau, simplifiez: Un seul address space , un seul subnet (création en boucle dans le module 4)
- Pour les VM
- Credential hardcodé
- Créez une première VM unitairement
- Créez ensuite deux VM en utilisant une boucle sur le module VM
Deployez entre chaque étape. Ne pas hésitez à supprimer le RG/change son nom
Help
Proprietés pour VM
offer | publisher | sku | vmSize |
---|---|---|---|
WindowsServer | MicrosoftWindowsServer | 2019-Datacenter | Standard_D2s_v3 |
Tips VM : Il faut une network interface avant de créer la VM
Bicep is ARM
Convertisez un de vos précédents fichiers Bicep en ARM et observez le template ARM
bicep build main.bicep
Convertir un template ARM en fichier Bicep
bicep decompile templateARM.json
Convertir un template réel ARM exporté du portail en Bicep
bicep decompile container.json
Help
Reprennez le module 2 pour réaliser les évolutions suivantes: (ordre libre, les changements sont indépendant)
Network
- Modularisez entièrement la partie network
- Gérer les subjets crées avec un tableau
- Variabilisez la partie choix du subnet dans les VM
VM
- Récupérez le password dans un key vault existant
- Déployez au moins 2 VM dans chaque subnet. Utilisez une boucle basée sur un index
- Ajoutez un load balancer sur l'un des bloc de VM
Azure DevOps
- Deployer votre infra Bicep dans un pipeline
- Option 1 - Directement depuis un .bicep
- Option 2 - En convertisant le .bicep en json ARM