Dans le développement logiciel, Kubernetes joue aujourd’hui un rôle essentiel, en particulier pour les projets agiles. La gestion des conteneurs facilite le cycle de développement, de test et de déploiement (ainsi que toutes les autres étapes intermédiaires). Kubernetes permet de déplacer facilement des conteneurs d’un niveau à l’autre et ainsi d’automatiser de nombreuses étapes de travail.
L’évolutivité est un facteur essentiel, en particulier en cas de location d’espaces de stockage externes sur le cloud : Kubernetes peut exploiter parfaitement les ressources afin de limiter les coûts. Au lieu de laisser tourner des machines inutilisées, Kubernetes peut libérer ces ressources et les utiliser pour d’autres tâches ou simplement ne pas les utiliser afin d’économiser des coûts. Grâce à l’autoscaling, Kubernetes veille à ne pas consommer plus de ressources que nécessaire. Mais une évolutivité rapide est également essentielle dans l’autre sens : lorsque l’on publie un logiciel pour la première fois, il est parfois difficile d’estimer correctement quelle sera l’affluence. Kubernetes peut rapidement fournir des instances supplémentaires pour que le système ne s’effondre pas en cas de demande extrêmement élevée.
L’avantage de Kubernetes réside également dans le fait qu’il permet d’associer sans difficulté plusieurs plateformes. Il est par exemple possible d’utiliser la solution dans un Cloud hybride. Le système est alors situé en partie sur des serveurs locaux propres et en partie dans un centre de calcul distant, à savoir le Cloud. Cette possibilité augmente à nouveau l’évolutivité : si des ressources supplémentaires sont nécessaires, il est généralement possible de les réserver rapidement et facilement auprès du fournisseur de Cloud.
Enfin, Kubernetes aide également les développeurs à garder une vue d’ensemble. Chaque conteneur est clairement identifié et permet d’obtenir des informations sur le statut de chaque instance. Kubernetes intègre également un contrôle de version. Il est donc possible de suivre les mises à jour a posteriori. En général, la publication des mises à jour est l’un des principaux avantages du système : de nouvelles versions peuvent être déployées de façon à ce qu’il n’y ait aucun temps d’arrêt. Pour ce faire, les pods sont modifiés progressivement plutôt qu’en une seule fois. Ceci s’applique à la version d’essai interne et à la publication de nouvelles versions pour les utilisateurs finaux.
La configuration autonome de nombreux aspects de la gestion par Kubernetes permet d’éviter un grand nombre de pièges pendant le travail. C’est la raison pour laquelle Kubernetes est considéré de manière générale comme un système sûr : les pannes sont peu fréquentes et si un pod ne fonctionne pas comme prévu, le maître Kubernetes en a directement connaissance et peut remplacer le pod défaillant.