Infrastructure

📚 Virtualisation Cloud Docker Kubernetes Proxmox VMware

Proxmox VE, Docker, Kubernetes K3s, VMware ESXi, AWS — déployer et orchestrer l'infrastructure virtualisée.

Proxmox VEDockerKubernetesK3sVMwareAWSLXC

Proxmox VE — Gestion des VMs

Proxmox VE est une plateforme de virtualisation open-source basée sur KVM et LXC. Elle s'administre via une interface web ou en ligne de commande.

proxmox-cli.sh
# Lister les VMs et conteneurs
qm list
pct list

# Démarrer / Arrêter / Redémarrer une VM
qm start 100
qm stop  100
qm reset 100

# Créer un snapshot avant une mise à jour risquée
qm snapshot 100 snap-avant-maj --description "Avant MAJ Debian"

# Restaurer un snapshot
qm rollback 100 snap-avant-maj

# Cloner une VM (clone complet)
qm clone 100 101 --name vm-clone --full

# Shell dans un conteneur LXC
pct exec 200 -- bash

# Sauvegarde d'une VM
vzdump 100 --storage local --mode snapshot --compress zstd

# État du cluster
pvecm status
pvesh get /nodes

Docker — Commandes essentielles

CommandeDescription
Conteneurs
docker ps -aLister tous les conteneurs (actifs + stoppés)
docker run -d -p 80:80 --name web nginxLancer nginx en arrière-plan, port 80
docker exec -it <id> bashOuvrir un shell dans un conteneur en cours
docker logs -f <id>Suivre les logs d'un conteneur en temps réel
docker stop <id> && docker rm <id>Arrêter puis supprimer un conteneur
docker inspect <id>Infos détaillées JSON d'un conteneur
Images
docker imagesLister les images locales
docker pull nginx:alpineTélécharger une image depuis Docker Hub
docker build -t monapp:v1 .Construire une image depuis un Dockerfile
docker rmi <image>Supprimer une image locale
Réseaux et volumes
docker network lsLister les réseaux Docker
docker volume lsLister les volumes persistants
docker system prune -aNettoyer images, conteneurs et volumes inutilisés

Docker Compose — Exemple complet

docker-compose.yml
version: "3.9"

services:
  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./certs:/etc/nginx/certs:ro
    networks:
      - frontend
    depends_on:
      - app

  app:
    build: ./app
    environment:
      - DB_HOST=postgres
      - DB_NAME=myapp
    networks:
      - frontend
      - backend
    depends_on:
      - postgres

  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: appuser
      POSTGRES_PASSWORD: SecretPass!
    volumes:
      - pgdata:/var/lib/postgresql/data
    networks:
      - backend

networks:
  frontend:
  backend:

volumes:
  pgdata:

Kubernetes (K3s) — Ressources de base

ℹ️
K3s est une distribution Kubernetes allégée, idéale pour les labs et les environnements edge. Installation en une seule commande.
k3s-install.sh
# Installer K3s (master)
curl -sfL https://get.k3s.io | sh -

# Récupérer le token pour les workers
cat /var/lib/rancher/k3s/server/node-token

# Ajouter un worker
curl -sfL https://get.k3s.io | K3S_URL=https://master-ip:6443 K3S_TOKEN=<token> sh -

# Vérifier le cluster
kubectl get nodes
kubectl get pods -A
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80
  type: LoadBalancer
Commande kubectlDescription
kubectl get pods -ATous les pods de tous les namespaces
kubectl get nodesÉtat des nœuds du cluster
kubectl apply -f fichier.yamlAppliquer une configuration
kubectl describe pod <nom>Détails d'un pod (events, erreurs)
kubectl logs -f <pod>Logs d'un pod en temps réel
kubectl exec -it <pod> -- bashShell interactif dans un pod
kubectl scale deploy nginx-deploy --replicas=5Passer à 5 réplicas
kubectl delete pod <nom>Supprimer un pod (recreé automatiquement)
helm install monapp ./chartInstaller une application via Helm

AWS — Services essentiels pour SysAdmin

Service AWSÉquivalent on-premiseRôle
EC2Serveur physique / VMInstances de calcul (VMs)
VPCRéseau LAN/VLANRéseau privé isolé dans le cloud
S3NAS / partage fichiersStockage objet scalable
IAMActive DirectoryGestion identités et permissions
Security GroupsFirewall / ACLFirewall stateful par instance
Route 53Serveur DNSDNS managé haute disponibilité
CloudWatchZabbix / NagiosMonitoring, logs, alertes
RDSMySQL/PostgreSQL localBase de données managée
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google