Repository with samples for Terraform/Ansible/Powershell related to Microsoft Azure
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Ansible
Powershell
Terraform
vscode
LICENSE
README.md
_config.yml
ansible.code-workspace

README.md

Azure

Pour utiliser les scripts Ansible ou Terraform, un Service Principal dans Azure est nécessaire.
Si vous ne savez pas le faire, voici un article sur le blog de Stanislas Quastana.

1. Ansible

Le dossier contiens des playbook Ansible pour Azure

Si vous n'avez pas de compte sur Azure creer un compte gratuit ici

1. ansible_playbook_azure_inventory.yml

Ce playbook permet de verifier si le SDK Pyton Azure est bien configuré.

Il faut telecharger les fichier "azure_rm.py" et "azure_rm.ini" depuis le repo git de Ansible ou utiliser mon script d'instalation ici

Syntaxe :

  ansible-playbook -i azure_rm.py ansible_playbook_azure_inventory.yml 

2. ansible_playbook_azure_create_vm.yml

Dans le playbook vous devez indiquer une machine avec les modules Azure a la ligne "hosts" et qui doit etre presente dans /etc/ansible/hosts

Ce playbook cree une machine virtuelle dans Azure. Syntaxe :

  ansible-playbook ansible_playbook_azure_create_vm.yml --syntax-check
  ansible-playbook ansible_playbook_azure_create_vm.yml --check
  ansible-playbook ansible_playbook_azure_create_vm.yml

2. Powershell

Le dossier Powershell contiens quelques scripts pour Azure en Powershell.

1. Get-cAzureSubscription Function :

PS C:\WINDOWS\system32> Get-cAzureSubscription
Azure connected successfully
Select the subscription for the azure backup deployement
Subscription 1 :

         Subscription Name
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX


Subscription 2 :

         Subscription Name
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX


What is the Id of the subscription?

1
Here is the Subscription choosed :

         Subscription Name
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX

3. Terraform Folder

1. IaaS

Le dossier contient des fichiers terraform pour Azure en mode quick & dirty, je vous recommande de ne pas les utiliser tels quels en production sans les rendre secure !

1. TF-Ubuntu-16.04-LTS

Deploie une machine Ubuntu 16.04 LTS dans un Ressource Group avec :

  • 1 Vnet
  • 1 Subnet
  • 1 Public ip
  • 1 Network Security Group
  • 1 Network Interface
  • 1 Storage account
  • 1 Availability Set
  • 1 Storage Container
  • 1 Machine Virtuelle

Example usage :

  terraform plan TF-Ubuntu-16.04-LTS
  terraform apply TF-Ubuntu-16.04-LTS

2. Ansible

Le dossier Ansible contient un fichier Terraform pour créer une machine virtuelle dans Azure, installer et configurer Ansible dans celle-ci

Vous devez modifier le fichier TF a deux endroit :

  • Ligne 2 a 5 : il est necessaire de mettre des " "
provider "azurerm" {
 subscription_id = "<subscription_id>"
 client_id       = "<client_id>"
 client_secret   = "<secret>"
 tenant_id       = "<tenant_id>"
}
  • Ligne 163 : il ne faut pas de " "
 settings = <<SETTINGS
{
   "fileUris": ["https://raw.githubusercontent.com/EtienneDeneuve/Azure/master/Terraform/02%20-%20Ansible/ansible.sh"],
   "commandToExecute": "sh ansible.sh -s <subscription_id> -c <client_id> -k <secret> -t <tenant_id>",
   "timestamp": "19"
}
SETTINGS

3. Note

  • Le script ansible.sh est utilisable séparément.

Utilisation :

  cd /tmp/ 
  wget https://raw.githubusercontent.com/EtienneDeneuve/Azure/master/Terraform/02%20-%20Ansible/ansible.sh
  chmod +x ansible.sh
  ./ansible -s YOUR-SUBSCRIPTION-XXXX-XXXX-XXXX \ 
    -c CLIENT-ID-VIA-SERVICE-PRINCIPAL \ 
    -k SECURITY_KEY \ 
    -t TENANT_ID