Catégorie : Azure (Page 91 of 112)

Automatiser votre infrastructure Azure avec Terraform

Salut !

Aujourd’hui, je vais vous présenter un outil d’infrastructure as code permettant d’automatiser le déploiement de vos infrastructures dans Azure.

Terraform (Mozilla Public License 2.0, soutenu par la société Hashicorp) est outil multi clouds vendors (Azure, Google Cloud, …) qui vous permet d’en décrire leur configuration dans un outil unique. Terraform repose sur le langage HCL.

Les 3 principales commandes de Terraform sont :

  • terraform plan : Cette commande permet de visualiser le plan d’exécution (les actions qui seront faites) sans les appliquer (mode Dry Run).
  • terraform apply : Permet d’appliquer le plan d’exécution en créant, mettant à jour ou supprimant les éléments de l’infrastructure gérés.
  • terraform destroy : Permet de supprimer les éléments d’infrastructure gérés par Terraform.

Ci-dessous un exemple d’un fichier de configuration permettant de faire le déploiement d’une VM  : Windows Server 2016 avec SQL Server 2016.

# Configure the Microsoft Azure Provider
provider "azurerm" {
subscription_id = "your_subscription_id"
client_id = "your_client_id"
client_secret = "your_client_secret"
tenant_id = "your_tenant_id"
}

Création d’un compte de stockage:

# Create a storage account
resource "azure_storage_service" "storage" {
name = "defaultstor1"
location = "Central US"
description = "Default storage account"
account_type = "Standard_LRS"
}

Création d’un réseau virtuel:

# Create a virtual network
resource "azure_virtual_network" "default" {
name = "test-network"
address_space = ["10.1.2.0/24"]
location = "Central US"

subnet {
name = "subnet1"
address_prefix = "10.1.2.0/25"
 }
}

Création d’une VM : Windows Server 2016 avec SQL Server 2016

# Create a Windows VM with SQL2016
resource "azure_instance" "windows" {
depends_on = ["azure_virtual_network.default"]
name = "mytf-win-254${count.index}"
image = "SQL Server 2016 RTM Developer on Windows Server 2016"
size = "Basic_A1"
storage_service_name = "${azure_storage_service.storage.name}"
location = "Central US"
username = "MonSuperUsername"
password = "MonSuperMotdePasse_SuperSecure!"
time_zone = "Europe/Amsterdam"
virtual_network = "${azure_virtual_network.default.name}"
count = "1"

Création d’un endpoint : On expose le port RDP : TCP/3389

# Create the endpoint to connect to
endpoint {
name = "RDP"
protocol = "tcp"
public_port = 3389
private_port = 3389
 }
}

On affiche les IPs

# Create IP address outputs

output "azure-windows-vips" {
value = "${join(",", azure_instance.windows.*.name)}:${join(",", azure_instance.windows.*.vip_address)}"
}
output "azure-windows-ips" {
value = "${join(",", azure_instance.windows.*.name)}:${join(",", azure_instance.windows.*.ip_address)}"

Créer une Docker Registry dans Azure

Hello,

Aujourd’hui nous allons voir ensemble quelques commandes utiles afin d’utiliser Azure CLI 2.0 pour mettre en place une Docker Registry dans Azure.

Créer une Container Registry (dans notre exemple: MaxRegistry)

az acr create -n MaxRegistry -g myResourceGroup -l southcentralus

Créer un service principal et assigner un accès à la registry :

az ad sp create-for-rbac --scopes /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/Microsoft.ContainerRegistry/registries/MaxRegistry --role Owner --password myPassword

Activer un admin user pour registry existante :

az acr update -n MaxRegistry --admin-enabled true

Désactiver l’utilisateur admin de la registry :

az acr update -n MaxRegistry --admin-enabled false

Kubernetes dans Azure !

Hello 🙂 !

Depuis quelques semaines Kubernetes est désormais disponible au sein : « Azure Container Service ».

Architecture

Créer un resource group

RESOURCE_GROUP=my-resource-group
LOCATION=westus

az group create --name=$RESOURCE_GROUP --location=$LOCATION

Créer un cluster

RESOURCE_GROUP=my-resource-group
DNS_PREFIX=some-unique-value
CLUSTER_NAME=any-acs-cluster-name

az acs create \
--orchestrator-type=kubernetes \
--resource-group $RESOURCE_GROUP \ 
--name=$CLUSTER_NAME \
--dns-prefix=$DNS_PREFIX \ 
--ssh-key-value ~/.ssh/id_rsa.pub \
--admin-username=azureuser \
--master-count=1 \
--agent-count=5 \
--agent-vm-size=Standard_D1_v2

Se connecter sur le cluster

az acs kubernetes install-cli
az acs kubernetes get-credentials --resource-groupe=$RESOURCE_GROUP --name=$CLUSTER_NAME
« Older posts Newer posts »

© 2025 ZiGMaX IT Blog

Theme by Anders NorenUp ↑