INFOTHEMA

Auteur Sujet: [LJP-Infos] Exécuter des conteneurs en mode attaché, détaché, pods de débug  (Lu 3009 fois)

Animateur

  • Administrator
  • Hero Member
  • *****
  • Messages: 6326
    • Voir le profil
[LJP-Infos] Exécuter des conteneurs en mode attaché, détaché, pods de débug




Dans cette vidéo, dans un cluster Kubernetes, vous allez voir comment exécuter des conteneurs docker en mode détaché.
Avant tout, vous verrez ce qu'est le mode détaché ou attaché.
Il y a une raison à ça, on sait aujourd'hui qu'il existe des centaines de milliers de conteneurs docker et, parmi ces conteneurs, on y trouve un tas de distribution, Centos, Debian, Ubuntu, Almalinux, Rocky, Kali, bien plus que ça bien sur.
 
Pourquoi ne pas créer des conteneurs d'os, dans mes présentations de Docker ou de Kubernetes, on termine souvent en se connectant dans un conteneur.
 
Mais quand je quitte ce conteneur, il se ferme, on perd les actions qu'on y a fait.
Vous allez voir comment reprendre un conteneur et s'y reconnecter.

Ensuite on pourra alors envisager plein d'utilisations, par exemple des utilisations de tests, de développement ou pourquoi pas encore, multiplier facilement les clients.

Contenu des fichiers utilisés dans la présentation:

mkdir -p /root/yaml

cat/vi /root/yaml/debian.yaml
***************************************

apiVersion: v1
kind: Pod
metadata:
  name: debian
  labels:
    app: debian
  namespace: default # Optionnal

spec:
  containers:
  - image: debian
    command:
      - "sleep"   # Command
      - "31536000" # Arg
    imagePullPolicy: IfNotPresent
    name: debian
  restartPolicy: Always

  # Scecific for LJP-Infos servers
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
      - 192.168.1.26 # Dns perso
      - 89.2.0.1 # Dns1 FAI
      - 89.2.0.2 # Dns2 FAI
    searches:
      - loisel.loc

   
cat/vi /root/yaml/debian1.yaml
***************************************

apiVersion: v1
kind: Pod
metadata:
  name: debian1
  labels:
    app: debian
  namespace: default # Optionnal

spec:
  containers:
  - image: debian
    command: ["/bin/bash", "-c"]
    args: ["apt update && apt-get install htop -y && sleep 31536000"]
    imagePullPolicy: IfNotPresent
    name: debian
  restartPolicy: Always

  # Scecific for LJP-Infos servers
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
      - 192.168.1.26 # Dns perso
      - 89.2.0.1 # Dns1 FAI
      - 89.2.0.2 # Dns2 FAI
    searches:
      - loisel.loc


cat/vi /root/yaml/debian2.yaml
***************************************

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: my-configmap
data:
  entrypoint.sh: |-
    #!/bin/bash
    apt update
    apt install htop -y
    apt install ssh -y
    apt install inetutils-ping -y
    sleep 31536000
---
apiVersion: v1
kind: Pod
metadata:
  name: debian2
  labels:
    app: debian
  namespace: default # Optionnal
spec:
  containers:
  - name: debian2
    image: debian
    command:
    - /bin/entrypoint.sh
    volumeMounts:
    - name: configmap-volume
      mountPath: /bin/entrypoint.sh
      readOnly: true
      subPath: entrypoint.sh
  volumes:
  - name: configmap-volume
    configMap:
      defaultMode: 0700
      name: my-configmap
  restartPolicy: Always
  # Scecific for LJP-Infos servers
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
      - 192.168.1.26 # Dns perso
      - 89.2.0.1 # Dns1 FAI
      - 89.2.0.2 # Dns2 FAI
    searches:
      - loisel.loc

***************************************

Le time code:
02:06 Mon environnement
04.14 Connexion attachée détachée
08:52 Pod debug / sleep pod
14:44 On améliore les commandes passées
17:43 Pour une plus grosse config
21:42 Ou sont mes pods?
Membre de l'APRIL (www.april.org) / Membre du bureau Association "Debian Facile"  (https://debian-facile.org)