Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/EtienneDeneuve/Azure
Repository with samples for Terraform/Ansible/Powershell related to Microsoft Azure
https://github.com/EtienneDeneuve/Azure
ansible azure azurerm powershell
Last synced: 3 months ago
JSON representation
Repository with samples for Terraform/Ansible/Powershell related to Microsoft Azure
- Host: GitHub
- URL: https://github.com/EtienneDeneuve/Azure
- Owner: EtienneDeneuve
- License: mit
- Created: 2017-01-09T17:24:56.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T14:28:17.000Z (11 months ago)
- Last Synced: 2024-05-28T04:12:57.225Z (6 months ago)
- Topics: ansible, azure, azurerm, powershell
- Language: Python
- Homepage: http://etienne.deneuve.xyz
- Size: 61.5 KB
- Stars: 4
- Watchers: 4
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - EtienneDeneuve/Azure - Repository with samples for Terraform/Ansible/Powershell related to Microsoft Azure (Python)
README
# 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](https://stanislas.io/2017/01/02/modeliser-deployer-et-gerer-des-ressources-azure-avec-terraform-de-hashicorp/).## 1. Ansible
Le dossier contiens des playbook [Ansible](https://www.ansible.com/) pour [Azure](https://azure.microsoft.com/fr-fr/)
> Si vous n'avez pas de compte sur Azure creer un compte gratuit [ici](https://azure.microsoft.com/fr-fr/free/)### 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](https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/) ou utiliser mon script d'instalation [ici](https://raw.githubusercontent.com/EtienneDeneuve/Azure/master/Terraform/02%20-%20Ansible/ansible.sh)
Syntaxe :
```bash
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/hostsCe playbook cree une machine virtuelle dans Azure.
Syntaxe :
```bash
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 :
```Powershell
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-XXXXXXXXSubscription 2 :
Subscription Name
XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXWhat 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 VirtuelleExample usage :
```bash
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 " "
>```terraform
>provider "azurerm" {
> subscription_id = ""
> client_id = ""
> client_secret = ""
> tenant_id = ""
>}
>```
> - Ligne 163 : il ne faut pas de " "
>```terraform
> settings = <{
> "fileUris": ["https://raw.githubusercontent.com/EtienneDeneuve/Azure/master/Terraform/02%20-%20Ansible/ansible.sh"],
> "commandToExecute": "sh ansible.sh -s -c -k -t ",
> "timestamp": "19"
>}
>SETTINGS
>```#### 3. Note
+ Le script ansible.sh est utilisable séparément.Utilisation :
```bash
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
```