[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?