Skip to content

Déploiement cluster Kubernetes sur AWS avec Ansible(Software) et Terraform (Hardware)

Notifications You must be signed in to change notification settings

zulo278/TP_Final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

THE HARD WAY KUBERNETES IN AWS

SUJET

Crée from scratch un VPC, subnet, 1 virtual machine (Controller), 2 virtural machine (Worker) sur aws en utilisant Terraform et installer kubernetes sur chaqu'une de vm en utilisant Ansible.

PREREQUIS

Installer Python3

Installation

Install my-project with npm

Pour Mac

-  brew tap hashicorp/tap
-  brew install hashicorp/tap/terraform

Pour linux

- wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
- echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
- sudo apt update && sudo apt install terraform

Pour windows install Binary download for Windows

Terraform

installation Ansible

- pip3 install --include-deps ansible

TERRAFORM

Pour build l'architecture aws :

Pour initialisé le projet en terraform

Terraform init

Pour crée un plan d'éxécution

Terraform plan

Pour appliqué

Terraform apply

ANSIBLE

Pour se connecté à une instance

ssh -i ansible "<key.pem>" user@ipv4

Pour installer les dépendances sur chacune des instances

ansible-playbook -i hosts role-kube.yml --verbose

Tree

Dossiers

  • Anisble/group_vars :

  • Ansible/roles/cni/tasks: Pour l'installation de kubctl

  • Ansible/roles/cni/vars : Pour l'installation de python2.7

  • Ansible/roles/common/ : Pour installer le setup kubernetes cluster

  • Ansible/roles/master : Pour installer le master node de kubernetes

  • Ansible/roles/node : Pour joindre le node master au node worker de kubernetes

  • Ansible/roles/os-facts : Pour installer les dépendences dans les différents Os

  • Ansible/roles/runtime :

  • Anisble/ansible.cfg: Fichier de configuration

  • Ansible/hosts : ip connection pour le master et les workers

  • Ansible/requirements.yml : Pour Build Kubernetes cluster avec kubeadm

  • Ansible/role-kube.yml : pour installer toutes les dépendences

  • Terraform/compute.tf : Instances ec2 aws

  • Terraform/network.tf : [VPC, Subnet, route_table, security_groups]

  • Terraform/variables.tf : les variables utiliser pour les différents fichiers précédents

About

Déploiement cluster Kubernetes sur AWS avec Ansible(Software) et Terraform (Hardware)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages