Qu’est-ce que Kubernetes ?

Comme on peut le voir dans les documents officiels. Kubernetes n’est pas un PaaS (Platform as a Service). Par exemple, PaaS serait Google App Engine ou Heroku. Ces types d’entreprises créent une couche d’abstraction entre le serveur et le client. Ainsi, le client n’a qu’à se concentrer sur le développement de l’application ou du projet et non sur l’architecture, le stockage, les serveurs ou la sécurité.

La différence entre le modèle PaaS et Kubernetes est la liberté. Par exemple, les choses que vous ne pouvez pas faire dans le modèle PaaS :

Connectez-vous via SSH pour effectuer des modifications ou des vérifications
Utiliser un logiciel personnalisé dans un cas

Ce modèle est parfait lorsque vous n’avez pas de DevOps et que vous avez juste besoin d’exécuter de simples applications Ruby, Python ou Node. C’est pourquoi il est souvent utilisé par de petites équipes.

Kubernetes, en revanche, convient à une machine plus grande.

La devise de Kubernetes est : Si vous pouvez courir dans un conteneur, vous pouvez courir à Kubernetes.

A noter que non seulement les Kubernetes existent en tant qu’orchestration de conteneurs, mais qu’il en existe aussi une grande variété, comme Swarm. Il existe également d’autres types de conteneurs (Cri-o, Rocket). Seulement, étant un projet de Google, Kubernetes a une plus grande compatibilité avec les principaux distributeurs de nuages.

Qu’est-ce que Kubernetes ?

Cas typique lors du développement d’un projet ou d’un logiciel en tant qu’application. Une application web a besoin de 2 load balancers puisque nous avons le Front-end (interface) et le Back-end (traitement).

Dans le Frontend, nous avons plusieurs machines virtuelles réparties avec un équilibreur de charge vers l’extérieur.

Dans le Backend, nous avons plusieurs bases de données distribuées avec un équilibreur de charge interne vers le Frontend.

Pourquoi l’un est-il externe et l’autre interne ? Nous devons réfléchir à la distribution et à l’architecture. Une base de données ne devrait pas être publique directement sur Internet, c’est une ressource pour utiliser les machines, elle est donc interne. D’autre part, les machines auront accès à l’internet, de sorte qu’il puisse être à l’extérieur et avoir sa propre adresse IP.

D’accord. Jusqu’à présent, tout cela a un sens. Mais nous voulons plus d’avantages et plus de rapidité. Dans ce modèle, il est très manuel, configurant chaque machine et sa réplication. En outre, il est plus coûteux parce que les ressources ne sont pas optimisées.

Avec Kubernetes, le modèle est très similaire, mais il ajoute tous les avantages que nous avons vus au début de cette entrée.