k8s-snap (Canonical Kubernetes) pour un déploiement simple et rapide d’un cluster k8s : application à Ollama …

Karim
5 min readFeb 25, 2024

--

Focus sur Canonical Kubernetes, une distribution Kubernetes minimaliste (à l’image de k0s/k3s) livrée en quelques clics via Snap. L’accent est notamment mis sur des opérations simplifiées et une posture de sécurité renforcée sur n’importe quelle infrastructure.

Pour cela, déploiement sur une instance Ubuntu 22.04 LTS dans OVH qui autorise la virtualisation imbriquée :

Je commence par y installer Multipass pour lancer un groupe de trois machines virtuelles :

Dès lors lancement des trois VMs Ubuntu 22.04 LTS pour initier l’ossature du futur cluster k8s :

Dans la première machine virtuelle qui va supporter la plan de contrôle, installation de k8s-snap rapidement via Snap :

Le cluster k8s est initialisé et prêt pour rattacher un noeud Worker :

Pour cela génération d’un token :

Dès lors, il est possible de rattacher le nouveau noeud Worker au cluster via ce token généré précedemment :

Rattachement d’un autre noeud Worker avec ce même token :

Les noeuds Worker sont alors opérationnels dans le cluster :

Il est possible de récupérer le fichier kubeconfig pour pouvoir utiliser le client kubectl :

Lancement d’un Pod Ubuntu très rapidement :

qui va servir ici au lancement d’Ollama :

Ollama est une plateforme qui permet aux utilisateurs d’exécuter de grands modèles de langages (LLM), tels que Mistral, Gemma, Llama 2 de Research Lab et d’autres … , directement sur leurs ordinateurs personnels plutôt que de dépendre uniquement de services en nuage. Il permet de télécharger des modèles pré-entraînés compatibles avec différents systèmes d’exploitation, notamment macOS, Linux et des versions préliminaires pour Windows. Les utilisateurs peuvent également personnaliser et développer leurs propres applications en utilisant ces modèles.

avec une petite interrogation :

avec une faible consommation de ressources …

Canonical Kubernetes est donc un moyen très rapide et très simple de déployer un cluster Kubernetes entièrement conforme.

Cette distribution ajoute des pièces manquantes (par exemple, Ingress, DNS, Réseau) pour une expérience “Zéro-op”. Pour les clusters à un seul nœud, elle peut être déployée avec deux commandes. Et Ajouter de nouveaux nœuds avec seulement deux autres commandes …

À suivre !

--

--