Page 102 of 159

Kong avec Microsoft Azure

Salut,

Aujourd’hui, je vous présente comment déployer Kong au sein d’une plateforme de Cloud Azure. Kong est une solution Api Management open-source basée sur Nginx, permettant de répondre à d’importants volumes de requêtes (La société Mashape éditrice de Kong offre un catalogue de 1500 APIs, générant un volume de plusieurs milliards de calls d’APIs par mois).

 

Afin de garantir la persistence des données, Kong permet d’utiliser Cassandra (comme dans cet article) ou PostgreSQL.

Dans un premier temps, nous allons cloner le repo de Kong pour Azure. Ce template a comme objectif de déployer une nouvelle VM : Ubuntu incluant Cassandra.

$ git clone https://github.com/Mashape/kong-dist-azure

Au sein du script deploy.ps1 nous allons éditer les informations suivantes :

  • $subscriptionId = « Votre id de souscription »;
  • $location = « Votre région Azure » #Par exemple West Europe ou encore Canada East pour Québec City

Exécuter le script deploy.ps1 :

 . .\deploy.ps1

Nous allons ensuite éditer les paramètres du fichier azuredeploy.parameters.json :

  • newStorageAccountName : Nom de votre compte de stockage Azure
  • adminUsername : Le nom d’utilisateur admin pour la connexion ssh
  • sshKeyData : ssh key data, vous pouvez suivre le tutorial suivant pour générer votre clé ssh.
  • dnsNameForPublicIP : Nom DNS Publique de la machine

Valider le bon fonctionnement de Kong :

$ curl  http://<DNS>.<Location>.cloudpapp.azure.com:8001

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
« Older posts Newer posts »

© 2025 ZiGMaX IT Blog

Theme by Anders NorenUp ↑