Installer MicroK8s en mode hors-ligne (déprécié)
Ce document détaille la procédure à suivre pour installer MicroK8s sur une machine hors-ligne.
Prérequis
La procédure d’installation de Cyberwatch nécessite :
- une machine satisfaisant les prérequis techniques
- une machine disposant d’un accès à internet avec un système d’exploitation identique à celle n’ayant pas d’accès à internet
Récupérer les fichiers nécessaires
Se connecter sur une machine disposant du même système d’exploitation que la machine sur laquelle va être installée Cyberwatch
Créer un répertoire
microk8s_sources
qui contiendra toutes les dépendances :mkdir microk8s_sources; cd microk8s_sources
Télécharger les paquets :
Sur une distribution basée sur Red Hat :
Installer
yum-utils
:sudo yum install yum-utils curl epel-release
Télécharger les sources nécessaires à l’installation du paquet
snapd
:sudo yumdownloader --resolve snapd
Installer les paquets
snapd
:sudo yum install snapd
Installer
podman
:sudo yum install podman export CONTAINER_DOWNLOADER=podman
Sur une distribution basée sur Debian :
Télécharger les sources nécessaires à l’installation du paquet
snapd
:Cette commande télécharge l’ensemble de l’arbre de dépendances pour être certain de pouvoir effectuer l’installation sur la machine hors-ligne.
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests \ --no-conflicts --no-breaks --no-replaces --no-enhances \ --no-pre-depends snapd | grep "^\w")
Installer
snapd
:sudo apt install snapd
Installer
docker
:sudo apt install docker.io export CONTAINER_DOWNLOADER=docker
Récupérer les sources nécessaires à l’installation des paquets snaps
microk8s
ethelm
:sudo snap download core sudo snap download microk8s --channel=1.24/stable sudo snap download core18 sudo snap download helm --channel=3.5/stable
Récupérer les images des conteneurs nécessaires au bon fonctionnement de MicroK8s :
sudo $CONTAINER_DOWNLOADER pull docker.io/calico/cni:v3.21.4 sudo $CONTAINER_DOWNLOADER pull docker.io/calico/pod2daemon-flexvol:v3.21.4 sudo $CONTAINER_DOWNLOADER pull docker.io/calico/kube-controllers:v3.21.4 sudo $CONTAINER_DOWNLOADER pull docker.io/calico/node:v3.21.4 sudo $CONTAINER_DOWNLOADER pull docker.io/coredns/coredns:1.9.0 sudo $CONTAINER_DOWNLOADER pull k8s.gcr.io/pause:3.1 sudo $CONTAINER_DOWNLOADER save docker.io/calico/cni:v3.21.4 -o cni.tar sudo $CONTAINER_DOWNLOADER save docker.io/calico/pod2daemon-flexvol:v3.21.4 -o pod2daemon.tar sudo $CONTAINER_DOWNLOADER save docker.io/calico/kube-controllers:v3.21.4 -o kube-controllers.tar sudo $CONTAINER_DOWNLOADER save docker.io/calico/node:v3.21.4 -o node.tar sudo $CONTAINER_DOWNLOADER save docker.io/coredns/coredns:1.9.0 -o coredns.tar sudo $CONTAINER_DOWNLOADER save k8s.gcr.io/pause:3.1 -o pause.tar
Archiver les sources :
cd .. sudo tar czvf microk8s_sources.tar.gz microk8s_sources
Installer MicroK8s
Transférer l’archive sur la machine déconnectée d’internet
Passer avec l’utilisateur
root
:sudo su
Décompresser les sources :
tar xvzf microk8s_sources.tar.gz cd microk8s_sources
Installer
snapd
:Sur une distribution basée sur Red Hat :
yum install *.rpm
Sur une distribution basée sur Debian :
dpkg -i *.deb
Activer le démon snap et son mode classic :
systemctl enable snapd --now ln -s /var/lib/snapd/snap /snap
Installer
microk8s
ethelm
:ls *.assert | xargs -n 1 snap ack ls *.snap | xargs -n 1 snap install --classic
Démarrer MicroK8s :
/snap/bin/microk8s start
Charger les images des conteneurs depuis leurs archives :
ls *.tar| xargs -n 1 -I {} /snap/bin/microk8s ctr i import $(pwd)/{}