INFOTHEMA

Auteur Sujet: [LJP-Infos] Installer Docker sur Centos, Alma Linux ou Rocky Linux 8-9  (Lu 2543 fois)

Animateur

  • Administrator
  • Hero Member
  • *****
  • Messages: 6856
    • Voir le profil
[LJP-Infos] Installer Docker sur Centos, Alma Linux ou Rocky Linux 8-9



Cette vidéo présente comment installer Docker sur les distributions RedHat et, puisque ça a évolué ces dernières années, sur des distributions récentes comme Alma 9 ou Rocky 9. Centos, Alma Linux, Rocky Linux sont des clones de Redhat si l'installation est valide pour les uns elle l'est pour les autres.

L'installation démontrée l'est en vue de mettre ensuite un orchestrateur Kubernetes dessus.

Dans le cas d'un simple Docker, l'installation pourrait être un peu plus simple mais reste très proche de ce qui est montré.
Comme l'installation est valide pour Kubernetes, elle l'est pour Docker.

Afin de ne pas chercher les commandes, un document est disponible ici: https://drive.google.com/file/d/1p2bgvL9Pz01xNGc56hG160cGAwFpCFKk/view et reprends les différentes actions mais surtout donne les paquets et chemins d'installation.

Ce document présente comment installer Docker sur les distributions RedHat.

L'installation est faite en vue de mettre ensuite un orchestrateur (Kubernetes).

Dans le cas d'un simple Docker, elle pourrait être un peu plus simple mais reste très proche.
Dans ce cas, on prévoit pour y installer Kubertnettes par la suite.

Ce document est disponible ici: https://drive.google.com/file/d/1p2bgvL9Pz01xNGc56hG160cGAwFpCFKk/view?usp=share_link


LJP-Infos le 27/11/2022



== Prérequis pour docker et kubernetes
=============================================================================================

1. On vérifie les mises à jour (on rédémarre si besoin)

dnf -y upgrade

2. On désactive la sécurité SELinux renforcée. Ce n'est pas le sujet de ce document, on va donc se le permettre.

setenforce 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

3. On active le masquage transparent et on facilite le VLAN étendu (VxLAN) pour la communication entre les pods du cluster Kubernetes.

modprobe br_netfilter

4. Comme le firewall est activité sur Redhat on va devoir activer le masquage transparent.

firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

5. On va bridger les packets pour traverser iptables. ici on met l'ip V6 pour l'éventualité ou elle serait employée.

# Cat ou vi.. on ajoute les lignes dans "k8s.conf"
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

6. Puis on recharge les règles. (on voit si la règle est appliquée)

sysctl --system

7. Suivant le cas, il est conseillé de désactivier le swap pour Kubernettes. Sinon on devra l'indiquer dans la conf de kubeadm.
Dans le cas d'un simple Docker on pourra laisser le swap

# Désactiver le swap dans le fichier fstab
vi /etc/fstab
#... swap

# Si on utilise le système sans le redémarrer on peut désactiver le swap pour la session.
swapoff -a


== Installation de docker
== (dans le cas de kubernetles on l'installera sur tous les noeuds)
=============================================================


1. On ajoute le repos Docker pour les packets.

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

2. On installe container.io qui n'est pas fourni avec les paquets d'installation de Docker.

dnf install -y https://download.docker.com/linux/centos/9/x86_64/stable/Packages/containerd.io-1.6.12-3.1.el9.x86_64.rpm 
# dnf install -y https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.12-3.1.el8.x86_64.rpm
# dnf install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.12-3.1.el7.x86_64.rpm

2.1 On pourrait aussi faire: (dnf grouplist)

dnf groupinstall "Gestion des conteneurs"

3. On installe Docker (ici l'édition communautaire) depuis son repos.

dnf install docker-ce -y

4. On change Docker pour utiliser les drivers systemd cgroup (nécessaire pour kubectl plus tard).

4.1 Si le dossier /etc/docker n'existe pas on pourra avoir à le créer
mkdir -p /etc/docker

echo '{
  "exec-opts": ["native.cgroupdriver=systemd"]
}' > /etc/docker/daemon.json

5. On démarre (ou on redémarre) et on active le service Docker.

systemctl enable docker --now

== On teste, on vérifie, on utilise docker
==============================================================================================

1 On vérifie la version de Docker.

docker version

2 On peut lister les images Docker (s'il on l'a déjà utilisé).

docker images

2.1 On lance un traditionnel "Hello World!"

docker run hello-world

3. Petit clean avant de finir avec Docker
yum clean all && history -c && history -w && init 0

Time code:

01:18 Architecture et méthode utilisée
01:59 Prérequis pour Docker et Kubernetes
07:42 Désactiver le Swap
09:11 Ajouter le dépôt et installer Docker
15:01 Tester et vérifier Docker
16:22 Préparer la prochaine étape
Membre de l'APRIL (www.april.org) / Membre du bureau Association "Debian Facile"  (https://debian-facile.org)