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

  1. Se connecter sur une machine disposant du même système d’exploitation que la machine sur laquelle va être installée Cyberwatch.

  2. Créer un répertoire microk8s_sources qui contiendra toutes les dépendances :

    mkdir microk8s_sources; cd microk8s_sources
    
  3. Télécharger les paquets :

    1. Sur une distribution basée sur Red Hat :

      1. Installer yum-utils :

        sudo yum install yum-utils curl epel-release
        
      2. Télécharger les sources nécessaires à l’installation du paquet snapd :

        sudo yumdownloader --resolve snapd
        
      3. Installer les paquets snapd :

        sudo yum install snapd
        
      4. Installer podman :

        sudo yum install podman
        export CONTAINER_DOWNLOADER=podman
        
    2. Sur une distribution basée sur Debian :

      1. 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")
        
      2. Installer snapd :

        sudo apt install snapd
        
      3. Installer docker :

        sudo apt install docker.io
        export CONTAINER_DOWNLOADER=docker
        
  4. Récupérer les sources nécessaires à l’installation des paquets snaps microk8s et helm :

    sudo snap download core
    sudo snap download microk8s --channel=1.24/stable
    
    sudo snap download core18
    sudo snap download helm --channel=3.5/stable
    
  5. 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
    
  6. Archiver les sources :

    cd ..
    sudo tar czvf microk8s_sources.tar.gz microk8s_sources
    

Installer MicroK8s

  1. Transférer l’archive sur la machine déconnectée d’internet.

  2. Passer avec l’utilisateur root :

    sudo su
    
  3. Décompresser les sources :

    tar xvzf microk8s_sources.tar.gz
    cd microk8s_sources
    
  4. Installer snapd :

    1. Sur une distribution basée sur Red Hat :

      yum install *.rpm
      
    2. Sur une distribution basée sur Debian :

      dpkg -i *.deb
      
  5. Activer le démon snap et son mode classic :

    systemctl enable snapd --now
    ln -s /var/lib/snapd/snap /snap
    
  6. Installer microk8s et helm :

    ls *.assert | xargs -n 1 snap ack
    ls *.snap | xargs -n 1 snap install --classic
    
  7. Démarrer MicroK8s :

    /snap/bin/microk8s start
    
  8. Charger les images des conteneurs depuis leurs archives :

    ls *.tar| xargs -n 1 -I {} /snap/bin/microk8s ctr i import $(pwd)/{}
    

Retour en haut