Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Comment installer Kubernetes sur Ubuntu avec K3s

Vous souhaitez installer Kubernetes sur Ubuntu sans configurer un cluster complexe à partir de zéro ? K3s est une distribution Kubernetes légère qui simplifie le processus, ce qui en fait un choix pratique pour les développeurs qui apprennent à utiliser Kubernetes sur un VPS.

Dans ce guide, vous apprendrez à installer Kubernetes sur Ubuntu 24.04 avec K3s, à créer un cluster à nœud unique, à déployer une application Nginx et à vérifier que tout fonctionne.

Vous n’aurez pas besoin d’installer Docker ni de configurer un moteur d’exécution de conteneurs distinct.

Qu’est-ce que K3s et pourquoi l’utiliser ?

K3s est une distribution Kubernetes légère, certifiée par la CNCF, conçue pour simplifier l’installation et l’exploitation de Kubernetes.

Elle regroupe les composants essentiels, notamment un moteur d’exécution de conteneurs et les fonctionnalités réseau du cluster, dans une installation simplifiée.

Contrairement à une installation Kubernetes classique avec kubeadm, K3s prend automatiquement en charge une grande partie de la configuration initiale.

Une installation K3s sur un seul nœud constitue un cluster Kubernetes fonctionnel, adapté au développement, aux tests et à l’apprentissage.

Si vous ne connaissez pas encore les concepts de Kubernetes tels que les Pods et les Deployments, consultez d’abord notre guide Qu’est-ce que Kubernetes ?.

Installer Kubernetes sur Ubuntu avec K3s

Prérequis

Avant de commencer, vous aurez besoin des éléments suivants :

  • Un serveur sous Ubuntu 24.04 LTS.
  • Un accès SSH avec les privilèges sudo.
  • Au moins 2 cœurs CPU et 2 Go de RAM.
  • De préférence 4 Go de RAM ou plus pour apprendre dans de bonnes conditions.
  • Un espace de stockage SSD suffisant et un accès à Internet pour télécharger les images de conteneurs.

K3s indique officiellement que la configuration minimale requise pour un nœud serveur est de 2 cœurs CPU et 2 Go de RAM. Les charges de travail réelles peuvent nécessiter davantage de ressources.

Besoin d’un VPS Ubuntu pour Kubernetes ?
Déployez K3s avec un accès root et des ressources serveur adaptables.
Découvrir les VPS Ubuntu →

Remarque sur la sécurité : Maintenez l’accès SSH disponible et restreignez l’accès à l’API Kubernetes sur le port 6443. Vous n’avez pas besoin d’ouvrir publiquement ce port pour ce tutoriel. Si vous utilisez UFW ou un autre pare-feu, consultez les exigences réseau officielles de K3s avant l’installation.

Étape 1 : mettre à jour votre serveur Ubuntu

Connectez-vous à votre serveur Ubuntu en SSH et actualisez les informations sur les paquets :

sudo apt update
sudo apt upgrade -y

Vérifiez la version d’Ubuntu :

lsb_release -a

Ubuntu 24.04 LTS devrait s’afficher.

Redémarrez le serveur si les mises à jour du système l’exigent, puis reconnectez-vous en SSH.

K3s installe son propre moteur d’exécution de conteneurs : Docker Engine n’est donc pas nécessaire.

Étape 2 : installer Kubernetes sur Ubuntu avec K3s

K3s fournit un script d’installation officiel.

La commande d’installation standard est la suivante :

curl -sfL https://get.k3s.io | sh -

Cette commande télécharge et exécute le programme d’installation de K3s. Consultez les instructions d’installation officielles et examinez le programme d’installation avant de l’exécuter, en particulier sur un serveur de production.

L’installation configure K3s en tant que service systemd et installe les utilitaires de gestion de Kubernetes.

Une fois le processus terminé, vérifiez le service :

sudo systemctl status k3s

Recherchez l’indication suivante :

Active: active (running)

Appuyez sur q pour quitter l’affichage de l’état.

Si le service est en cours d’exécution, votre installation de Kubernetes a démarré correctement.

Étape 3 : vérifier votre cluster Kubernetes

K3s inclut son propre outil en ligne de commande kubectl pour gérer les ressources Kubernetes.

Exécutez la commande suivante :

sudo k3s kubectl get nodes

Une fois le cluster initialisé, vous verrez une sortie semblable à celle-ci :

NAME        STATUS   ROLES                  AGE   VERSION
ubuntu-vps  Ready    control-plane,master   2m    v1.xx.x+k3s1

Votre nom d’hôte et votre version de Kubernetes seront différents.

La valeur importante est Ready : elle indique que Kubernetes considère le nœud comme disponible pour les charges de travail.

Vérifiez ensuite les Pods système :

sudo k3s kubectl get pods -A

Cette commande répertorie les Pods de tous les espaces de noms, y compris ceux des services système de Kubernetes.

L’initialisation de certains composants peut prendre un peu de temps. Vérifiez à nouveau s’ils sont toujours en cours de démarrage.

Maintenant que vous avez installé Kubernetes sur Ubuntu avec K3s, votre cluster est prêt à exécuter des applications conteneurisées. Déployons Nginx pour confirmer que tout fonctionne.

Étape 4 : déployer votre première application

Maintenant que le cluster fonctionne, déployons un simple serveur web Nginx.

Créez un Deployment :

sudo k3s kubectl create deployment demo-nginx --image=nginx:stable

Kubernetes crée un Deployment qui gère un conteneur Nginx.

Vérifiez sa progression :

sudo k3s kubectl get deployments

Attendez que le Deployment affiche une réplique disponible.

Vous pouvez également examiner son Pod :

sudo k3s kubectl get pods

Le Pod devrait finir par afficher l’état Running, avec son conteneur prêt.

Si vous voyez ContainerCreating, il se peut que l’image du conteneur soit encore en cours de téléchargement.

Étape 5 : créer un Service Kubernetes

Un Service Kubernetes fournit un point d’accès réseau stable à une application, même si ses Pods sont remplacés.

Rendez le Deployment Nginx accessible au sein du cluster :

sudo k3s kubectl expose deployment demo-nginx --type=ClusterIP --port=80

Vérifiez le Service :

sudo k3s kubectl get services

Vous devriez voir un Service nommé demo-nginx, avec une adresse ClusterIP et le port 80.

Le type ClusterIP rend l’application accessible au sein du cluster Kubernetes. Il n’expose pas directement Nginx à l’Internet public.

Étape 6 : tester votre application Nginx

Nous allons utiliser la redirection de port de Kubernetes pour tester l’application sans configurer d’équilibreur de charge public.

Exécutez la commande suivante :

sudo k3s kubectl port-forward service/demo-nginx 8080:80

Laissez cette session SSH ouverte.

La commande redirige le port 8080 de l’interface de bouclage du serveur vers le port 80 du Service Nginx.

Ouvrez une deuxième connexion SSH au même serveur et exécutez :

curl http://127.0.0.1:8080

Vous devriez recevoir du HTML contenant la page d’accueil par défaut de Nginx.

Bravo ! Vous avez installé Kubernetes sur Ubuntu avec K3s, déployé une application conteneurisée et accédé à celle-ci au moyen d’un Service Kubernetes.

Appuyez sur Ctrl+C dans la première session pour arrêter la redirection de port.

Ce test vérifie uniquement l’accès local. La publication d’une application sur Internet nécessite une configuration supplémentaire du réseau, du DNS, de TLS et de la sécurité.

Problèmes courants lors de l’installation de K3s

Le service K3s ne démarre pas

Consultez les journaux du service :

sudo journalctl -u k3s -n 50

Recherchez d’éventuels problèmes d’autorisations ou de réseau, ou des composants défaillants.

Le nœud Kubernetes affiche NotReady

Vérifiez les détails du nœud :

sudo k3s kubectl describe node

Examinez les conditions signalées, l’utilisation des ressources système et le réseau.

Le Pod Nginx ne fonctionne pas

Examinez le Pod :

sudo k3s kubectl get pods

Consultez ensuite les événements du Deployment :

sudo k3s kubectl describe deployment demo-nginx

Des échecs de téléchargement d’images, des ressources insuffisantes ou des problèmes de réseau du cluster peuvent empêcher les Pods de démarrer.

La redirection de port ne fonctionne pas

Assurez-vous que le Pod Nginx est prêt et que le Service existe.

N’oubliez pas que la commande de redirection de port doit rester en cours d’exécution pendant que vous testez l’application depuis la deuxième session SSH.

Faut-il Docker pour exécuter K3s ?

Non. K3s inclut containerd, un moteur d’exécution de conteneurs utilisé pour exécuter les charges de travail Kubernetes.

Vous pouvez déployer des images de conteneurs compatibles, notamment des images créées avec Docker, sans installer Docker Engine sur le serveur K3s.

Que faire ensuite ?

Votre cluster à nœud unique convient pour explorer les concepts de Kubernetes, mais il ne constitue pas automatiquement un environnement prêt pour la production et à haute disponibilité.

Avant de déployer des applications essentielles à votre activité, prévoyez :

  • Le contrôle d’accès au cluster et les mises à jour de sécurité.
  • Le stockage persistant et les procédures de sauvegarde.
  • La surveillance et les limites de ressources.
  • L’exposition sécurisée des applications avec HTTPS.
  • La reprise après une défaillance du nœud ou du serveur.

Gardez à l’esprit qu’un cluster à nœud unique dépend toujours d’une seule machine physique ou virtuelle. Kubernetes ne peut pas éliminer ce point de défaillance unique.

Questions fréquentes

K3s est-il identique à Kubernetes ?

K3s est une distribution Kubernetes certifiée. Elle met en œuvre les fonctionnalités de Kubernetes tout en simplifiant l’installation et en réduisant la charge d’exploitation.

Puis-je installer Kubernetes sur un VPS ?

Oui. Vous pouvez exécuter K3s sur un VPS Linux disposant de ressources CPU, de RAM et de stockage suffisantes, ainsi que d’un accès administrateur.

K3s convient-il à la production ?

K3s peut être utilisé en production, mais sa fiabilité dépend de l’architecture du cluster, de sa capacité, du réseau, de la sécurité et de la configuration des sauvegardes.

Puis-je désinstaller K3s ultérieurement ?

Oui. K3s fournit un script de désinstallation, mais son exécution peut supprimer les ressources du cluster et les données locales des charges de travail. Sauvegardez toutes les données importantes avant de désinstaller K3s.

Conclusion

Vous savez maintenant comment installer Kubernetes sur Ubuntu avec K3s, vérifier votre cluster à nœud unique et déployer une application Nginx.

Avec K3s, vous avez créé un environnement Kubernetes fonctionnel sur un seul nœud, déployé Nginx, rendu l’application accessible au moyen d’un Service et vérifié son fonctionnement grâce à la redirection de port.

Vous pouvez maintenant explorer les Deployments, la mise à l’échelle, la configuration et la gestion du cluster à mesure que vous gagnez en expérience.

Table of Content

Un proxy inverse Nginx reçoit les requêtes des visiteurs d’un site web et les transmet

Une erreur 502 Bad Gateway dans Nginx signifie généralement que Nginx n’a pas pu recevoir

Une erreur 504 Gateway Timeout se produit lorsqu’un serveur agissant comme passerelle ou proxy ne

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Défiler vers le haut