Comparer les révisions

...

23 Révisions

Auteur SHA1 Message Date
Mickael Asseline 1c34ac6cd8 docs: update Virtualisation 2023-06-16 12:37:08 +00:00
Quentin JOLY 71d8d042b1 docs: update Virtualisation/Packer/Explication 2023-06-16 12:05:44 +00:00
Quentin JOLY bedb9362e0 docs: create Virtualisation/Packer/Explication 2023-06-16 12:01:08 +00:00
Quentin JOLY 1d2630e52c docs: update Virtualisation 2023-06-16 11:46:14 +00:00
Quentin JOLY d060b4d88f docs: create Virtualisation/Packer 2023-06-16 11:42:05 +00:00
Quentin JOLY 330c83950a docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 11:26:46 +00:00
Mickael Asseline 8ec432571f docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 08:11:36 +00:00
Mickael Asseline d64373049a docs: update Conteneurisation 2023-06-16 08:11:07 +00:00
Mickael Asseline 981b595ec1 docs: update README 2023-06-16 07:58:46 +00:00
Mickael Asseline dcb4f6be43 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:46:04 +00:00
Mickael Asseline fb1c3862df docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:45:28 +00:00
Mickael Asseline 595cc2957a docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:45:16 +00:00
Mickael Asseline f64b506869 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:44:11 +00:00
Mickael Asseline 287a5191be docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:41:04 +00:00
Mickael Asseline d8381498b2 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:40:25 +00:00
Mickael Asseline 29997f0cf5 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:37:28 +00:00
Mickael Asseline 23334a9063 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:35:34 +00:00
Mickael Asseline 9257b72066 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:34:34 +00:00
Mickael Asseline 42d6ace007 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:28:29 +00:00
Mickael Asseline 623204d0cf docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:25:46 +00:00
Mickael Asseline c34b0f0183 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:24:35 +00:00
Mickael Asseline 0d5fe51603 docs: update Conteneurisation 2023-06-16 07:20:57 +00:00
Mickael Asseline 42d86ff287 docs: update Conteneurisation/k8s/Cheat-sheet 2023-06-16 07:19:54 +00:00
6 fichiers modifiés avec 299 ajouts et 38 suppressions

Voir le fichier

@ -2,7 +2,7 @@
title: Conteneurisation
description: Utiliser correctement, Docker, Kubernetes, etc..
published: true
date: 2023-06-16T06:43:17.320Z
date: 2023-06-16T08:11:01.713Z
tags:
editor: markdown
dateCreated: 2021-05-30T17:44:27.966Z
@ -38,6 +38,7 @@ dateCreated: 2021-05-30T17:44:27.966Z
- [📌 Gestion des pods *Comprendre la gestion des pods de Kubernetes*](/Conteneurisation/k8s/Pods)
- [🌐 Gestion du réseau *Comprendre la gestion du réseau de Kubernetes*](/Conteneurisation/k8s/Réseau)
- [📦 Gestion du stockage *Comprendre la gestion du stockage de Kubernetes*](/Conteneurisation/k8s/Stockage)
- [💾 Sauvegarde et restauration *Assurer les sauvegardes de son cluster K8S*](/Conteneurisation/k8s/Sauvegarde)
- [🛠️ Outils tiers utiles *Découverte et configuration d'outils externe pour administrer un cluster K8S*](/Conteneurisation/k8s/outils-utiles)
- [🐳 POC - Déployer un site WordPress *Déployer son premier conteneur*](/Conteneurisation/k8s/POC-WordPress)
- [💎 POC - Gestion de la haute disponibilité *Mettre en place de la haute disponibilité*](/Conteneurisation/k8s/POC-HA)

Voir le fichier

@ -2,13 +2,72 @@
title: Kubernetes - Cheat Sheet
description: Un petit pense bête pour les principales commandes de K8S
published: true
date: 2023-06-16T07:00:45.096Z
date: 2023-06-16T11:26:39.666Z
tags: cheatsheet, k8s
editor: markdown
dateCreated: 2023-06-16T07:00:45.096Z
---
# Gestion de cluster
![logo](https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Kubernetes_logo.svg/2560px-Kubernetes_logo.svg.png =400x)
# Autocompletion
## Bash
### tables {.tabset}
#### <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 384 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"/></svg> Macos
Installer `bash-completion`
```bash
brew install bash-completion
echo "[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion" >> ~/.bash_profile
```
Ajouter la completion pour kubectl
```bash
echo "source <(kubectl completion bash)" >> ~/.bashrc
```
Sourcer le fichier
```bash
source ~/.bashrc
```
#### <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"/></svg> Linux
Installer `bash-completion`
```bash
sudo apt-get install -y bash-completion
```
Ajouter la completion pour kubectl
```bash
echo "source <(kubectl completion bash)" >> ~/.bashrc
```
Sourcer le fichier
```bash
source ~/.bashrc
```
## Zsh
Ajouter la completion pour kubectl
```bash
echo '[[ $commands[kubectl] ]] && source <(kubectl completion zsh)' >> ~/.zshrc
```
## FISH
Ajouter la completion pour kubectl
```bash
kubectl completion fish > ~/.config/fish/completions/kubectl.fish
```
## Powershell
Ajouter la completion pour kubectl
```powershell
kubectl completion powershell > $HOME\.kube\completion.ps1
Add-Content $PROFILE "$HOME\.kube\completion.ps1"
```
# kubectl
## Gestion de cluster
Afficher les informations d'endpoint sur le maître et les services dans le cluster
@ -46,9 +105,11 @@ Lister tout
kubectl get all --all-namespaces
```
# Daemonsets
## Daemonsets
> Shortcode = ds
{.is-info}
Shortcode = ds
Lister un ou plusieurs daemonsets
@ -86,9 +147,11 @@ Afficher l'état détaillé des daemonsets dans un espace de noms
kubectl describe ds <daemonset_name> -n <namespace_name>
```
# Déploiements
## Déploiements
> Shortcode = deploy
{.is-info}
Shortcode = deploy
Lister un ou plusieurs déploiements
@ -126,9 +189,11 @@ Voir l'état de déploiement d'un déploiement
kubectl rollout status deployment <deployment_name>
```
# Événements
## Événements
> Shortcode = ev
{.is-info}
Shortcode = ev
Lister les événements récents pour toutes les ressources du système
@ -160,7 +225,7 @@ Filtrer les événements normaux d'une liste d'événements
kubectl get events --field-selector type!=Normal
```
# Journaux
## Journaux
Afficher les journaux pour un pod
@ -210,23 +275,10 @@ Afficher les journaux pour un pod précédemment en panne
kubectl logs --previous <pod_name>
```
> Pour les journaux, nous recommandons également l'utilisation d'un outil développé par Johan Haleby appelé Kubetail. Il s'agit d'un script bash qui vous permettra d'obtenir des journaux à partir de plusieurs pods simultanément. Vous pouvez en savoir plus à son dépôt Github. Voici quelques commandes d'exemple utilisant Kubetail.
> Pour les journaux, nous recommandons également l'utilisation d'un outil développé par Johan Haleby appelé Kubetail. Il s'agit d'un script bash qui vous permettra d'obtenir des journaux à partir de plusieurs pods simultanément. Vous pouvez en savoir plus sur son dépôt Github. Voir [kubetail](#kubetail)
{.is-info}
Obtenir les journaux pour tous les pods nommés avec le préfixe pod
```
kubetail <pod_prefix>
```
Inclure les 5 dernières minutes de journaux
```
kubetail <pod_prefix> -s 5m
```
# Fichiers de manifeste
## Fichiers de manifeste
> Une autre option pour modifier les objets est d'utiliser des fichiers de manifeste. Nous recommandons vivement d'utiliser cette méthode. Elle consiste à utiliser des fichiers YAML avec toutes les options nécessaires pour configurer les objets. Nous avons nos fichiers YAML stockés dans un référentiel Git, afin de pouvoir suivre les modifications et rationaliser les modifications.
{.is-info}
@ -262,7 +314,7 @@ Supprimer un objet
kubectl delete -f manifest_file.yaml
```
# Namespace
## Namespace
> Shortcode = ns
{.is-info}
@ -304,7 +356,7 @@ Afficher l'utilisation des ressources (CPU/mémoire/stockage) pour un espace de
kubectl top namespace <namespace_name>
```
# Noeuds
## Noeuds
> Shortcode = no
{.is-info}
@ -376,7 +428,7 @@ Ajouter ou mettre à jour les étiquettes d'un ou plusieurs nœuds
kubectl label node
```
# Pods
## Pods
> Shortcode = po
{.is-info}
@ -436,7 +488,7 @@ Ajouter ou mettre à jour l'étiquette d'un pod
kubectl label pod <pod_name>
```
# Contrôleurs de réplication
## Contrôleurs de réplication
> Shortcode = rc
{.is-info}
@ -454,7 +506,7 @@ Lister les contrôleurs de réplication par espace de noms
kubectl get rc --namespace="<namespace_name>"
```
# ReplicaSets
## ReplicaSets
> Shortcode = rs
{.is-info}
@ -478,7 +530,7 @@ Mettre à l'échelle un ReplicaSet
kubectl scale --replicas=[x]
```
# Secrets
## Secrets
Créer un secret
@ -504,7 +556,7 @@ Supprimer un secret
kubectl delete secret <secret_name>
```
# Services
## Services
> Shortcode = svc
{.is-info}
@ -534,4 +586,127 @@ Modifier et mettre à jour la définition d'un ou plusieurs services
kubectl edit services
```
## Service Accounts
> Shortcode = sa
{.is-info}
Liste des comptes de service
```
kubectl get serviceaccounts
```
Afficher l'état détaillé d'un ou plusieurs comptes de service
```
kubectl describe serviceaccounts
```
Remplacer un compte de service
```
kubectl replace serviceaccount
```
Supprimer un compte de service
```
kubectl delete serviceaccount <service_account_name>
```
## StatefulSet
> Shortcode = sts
{.is-info}
Liste des StatefulSet
```
kubectl get statefulset
```
Supprimer uniquement le StatefulSet (pas les pods)
```
kubectl delete statefulset/[stateful_set_name] --cascade=false
```
## Options courantes
Dans Kubectl, vous pouvez spécifier des indicateurs facultatifs avec les commandes. Voici quelques-uns des plus courants et utiles.
- **-o Format de sortie.** Par exemple, si vous souhaitez répertorier tous les pods dans le format de sortie ps avec plus d'informations.
```
kubectl get pods -o wide
```
- **-n Raccourci pour --namespace.** Par exemple, si vous souhaitez répertorier tous les pods dans un Namespace spécifique, vous exécuteriez cette commande :
```
kubectl get pods --namespace=[namespace_name]
```
ou
```
kubectl get pods -n=[namespace_name]
```
- **-f Nom de fichier, répertoire ou URL vers les fichiers à utiliser pour créer une ressource.** Par exemple, lors de la création d'un pod en utilisant des données dans un fichier nommé newpod.json.
```
kubectl create -f ./newpod.json
```
- **-l Sélecteur de filtre, prend en charge '=', '==' et '!='.**
## Aide pour kubectl
```
-h
```
# kubetail
Obtenir les journaux pour tous les pods nommés avec le préfixe pod
```
kubetail <pod_prefix>
```
Inclure les 5 dernières minutes de journaux
```
kubetail <pod_prefix> -s 5m
```
# kubens et kubectx
Pour simplifier le changement de context/namespace par défault *(pouvant se faire nativement par la commande `kubectl config set-context –current –namespace=toto`)*, il est possible d'utiliser les utilitaires **kubens** et **kubectx** qui permettre de rapidement modifier la configuration de votre *KUBECONFIG*.
## Installation
### MacOS
```bash
brew install kubectx
```
### Linux (manuel)
```bash
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
```
## Usage
### Changer de contexte (kubectx)
```bash
kubectx prod # Utiliser le contexte prod
kubectx - # Revenir sur le précédent contexte
```
### Changer de namespace par défaut
```bash
kubens kube-system # basculer sur le namespace kube-system
kubens - # Revenir au précédent namespace
```
## Autre
Il est possible d'utiliser kubens et kubectx en interactif avec **fzf** disponible sur votre path.
- Exemple:
![Kubectx en interactif avec fzf](https://github.com/ahmetb/kubectx/raw/master/img/kubectx-interactive.gif)
###
# k9s
A venir 😜

Voir le fichier

@ -2,7 +2,7 @@
title: README
description:
published: true
date: 2021-08-27T08:26:09.933Z
date: 2023-06-16T07:58:39.306Z
tags:
editor: markdown
dateCreated: 2021-05-24T10:33:08.929Z
@ -45,7 +45,7 @@ Partagez vos connaissances ! (sans oublier de respecter les règles 😉)
- Ne supprimer pas du contenu, modifier le uniquement si cela vous semble essentiel.
- Respectez le travail des autres contributeurs.
- Respecter la mise en page du site en général.
- Support du Markdown et du HTML. (préférez le Markdown si possible)
- Ecrivez en Markdown uniquement.
- Si vous souhaitez créer une page ou aborder un sujet qui ne rentre pas dans une catégories existantes, n’hésitez pas à m'en parler (Discord : PAPAMICA #0001)
# Mode d'emploi du site
@ -62,11 +62,40 @@ Ecrivez en bon français, on est pas à l'abris de quelques fautes, mais ne parl
Pour simplifier la gestion du repo github, **il est important de télécharger les images dans le dossier “Images”**.
Par défaut l'image est centrée mais vous pouvez changer cela directement dans l'éditeur visuel.
Par défaut l'image est centrée mais vous pouvez changer cela directement dans le markdown.
## Mise en page
Je vous invite à lire la documentation Wikijs pour la gestion du [Markdown](https://docs.requarks.io/editors/markdown) et de l'[éditeur visuel](https://docs.requarks.io/editors/visualeditor) .
Je vous invite à lire la documentation Wikijs pour la gestion du [Markdown](https://docs.requarks.io/editors/markdown).
Vous pouvez utiliser des balises spéciales pour les liens, voici celle disponible actuellement :
### tables {.tabset}
#### Github
https://github.com/PAPAMICA
{.github}
```bash
https://github.com/PAPAMICA
{.github}
```
#### Amazon
[Serveur conseillé](https://amzn.to/3p1JHZg)
{.amazon}
```bash
[Serveur conseillé](https://amzn.to/3p1JHZg)
{.amazon}
```
#### Autre
[infomaniak.com](https://infomaniak.com)
{.lien}
```bash
[infomaniak.com](https://infomaniak.com)
{.lien}
```
###
Si vous souhaitez que j'en ajoute d'autres, n'hésitez pas à m'en faire la demande.
![kaamelott GIF](https://media0.giphy.com/media/rhQENGnznnBT2/giphy.gif?cid=ecf05e47gtkr3znsehjzw6rme97npbr6c3ew83v9gtc32r1u&rid=giphy.gif&ct=g)

Voir le fichier

@ -2,7 +2,7 @@
title: Virtualisation
description: Les différents hyperviseurs accompagnés de leurs tutoriels !
published: true
date: 2022-05-09T13:11:59.034Z
date: 2023-06-16T12:37:01.059Z
tags:
editor: markdown
dateCreated: 2021-05-24T15:05:35.418Z
@ -34,4 +34,13 @@ dateCreated: 2021-05-24T15:05:35.418Z
# Proxmox
# VirtualBox
# VirtualBox
# Packer
- [🚧 Philosophie de Packer *Pourquoi utiliser Packer ? Pour quels besoins ?* ](/Virtualisation/Packer/Explication)
- [🚧 Installation de Packer *Installer Packer sur votre poste (Linux/MacOS/Windows)* ](/Virtualisation/Packer/Installation)
- [🚧 Lexique *Parler le packer pour mieux l'utiliser*](/Virtualisation/Packer/Lexique)
- [🚧 Premier déploiement *Exemples pour déployer machine sur un hyperviseur*](/Virtualisation/Packer/Premier-deploiement)
- [🚧 Coupler Packer à un gestionnaire de configuration *Coupler Packer à Ansible*](/Virtualisation/Packer/Premier-deploiement)
{.links-list}

16
Virtualisation/Packer.md Fichier normal
Voir le fichier

@ -0,0 +1,16 @@
---
title: Packer
description: Packer, un outil IaC permettant de créer une template de machine virtuelle
published: true
date: 2023-06-16T11:41:58.383Z
tags: packer virtualisation cloud terraform hashicorp
editor: markdown
dateCreated: 2023-06-16T11:41:58.383Z
---
# 🌀 Packer
- 🚧 [*Philosophie de Packer*](/Virtualisation/Packer/Explication)
- 🚧 [*Installation de Packer*](/Virtualisation/Packer/Installation)
- 🚧 [*Lexique*](/Virtualisation/Packer/Lexique)
- 🚧 [*Premier déploiement*](/Virtualisation/Packer/Premier-deploiement)
- 🚧 [*Coupler Packer à un gestionnaire de configuration*](/Virtualisation/Packer/Premier-deploiement)

Voir le fichier

@ -0,0 +1,31 @@
---
title: Philosophie derrière Packer
description:
published: true
date: 2023-06-16T12:05:41.765Z
tags:
editor: markdown
dateCreated: 2023-06-16T12:01:04.079Z
---
# La philosophie de Packer
Si Hashicorp est devenu une référence dans le développement d'outils liés au **DevOps**, c'est principalement grace à [Terraform](https://terraform.io), [Vault](https://www.vaultproject.io/) ainsi que [Vagrant](https://www.vagrantup.com/) qui sont indiscutablement approuvés dans le monde de la production.
Packer est un peu plus discret que ses frères mais il ne fait pas exception et possède également un certain succès.
Sans réinventer la roue, Packer répond à un besoin très précis : **celui de créer une machine virtuelle à partir de code.**
Dans la pratique, Packer va se charger de piloter un hyperviseur *(ou cloud)* afin de choisir les ressources, la taille de disque et même l'ISO servant à l'installation du système.
*Si nous sommes dans le cas où notre infrastructure est dans un cloud, Packer peut utiliser l'image préinstallée disponible (AMI pour AWS, Flavor pour OpenStack) pour y ajouter des outils, configuration, agents...*
# Quel objectif à utiliser Packer ?
Il est normal de se demander si notre usage de la virtualisation est bien complémentaire avec Packer.
À cette question, imaginez le cadre d'un **P**lan de **R**eprise d'**A**ctivité après un incident : Allez-vous installer manuellement chaque machine virtuelle ? Bien sûr que non ! Allez-vous prendre le risque de créer une template à la main et oublier une dépendance cruciale ? Allez-vous réimporter un fichier *qcow2* très ancien car complexe à maintenir ?
Si vous vous êtes senti visé par l'une de ces questions: Packer est effectivement un outil qui peut vous simplifier la vie.
Celui-ci est facile à maintenir (*code*), automatise la création d'une VM à partir d'une ISO récente qu'il peut lui-même télécharger *(ou non si vous le désirez)* et celui-ci ne possède presque aucun pré-requis technique.