Une étude récente détaille les bonnes pratiques de gestion des usages de la plateforme Kubernetes et pointe les risques et les mésusages.

Kubernetes (parfois abrégé en K8s) est le standard de facto pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Des fonctions qui remplacent ou complètent une pléiade d'outils existants.

Selon le rapport State of Cloud Native Development Report, en 2020, son adoption a augmenté de 67 % avec 6,8 millions d’utilisateurs. Cependant, selon une étude d’Humanitec, éditeur d’IDP (Internal Platform Developer), sa complexité est largement sous-estimée par les équipes concernées. Ainsi, 42,3% des organisations qui l'ont mis en œuvre s'attendaient à ce que K8s soit facile à utiliser, mais 53 % admettent qu'elles ont largement sous-évalué sa complexité. Pour 12,9% des répondants, la promesse d'une réduction des coûts ne s'est pas concrétisée. La conteneurisation est la promesse d'une portabilité accrue et 7,5% s'attendaient à ce que Kubernetes soit transparent par rapport au cloud, mais n'ont pas fait ce constat au final

Cette enquête, basée sur un indicateur KPS (Kubernetes Performance Score) élaboré par Humanitec, s’attache surtout comparer les pratiques des équipes les plus performantes avec celles qui le sont moins.

Plus des deux tiers des organisations les plus efficientes ont conteneurisé leurs applications et services. En comparaison, seulement 22,4 % des entreprises les moins performantes l’ont fait, avec des degrés variables. Parmi celles-ci, 29,7 % déclarent que seule une poignée d'ingénieurs DevOps seniors savent comment déployer ces applications sur leurs clusters Kubernetes.  

Sécurité de Kubernetes

La migration vers K8s pose de nombreux défis dans ce domaine. Il suffit d'un seul pod (instance exécutable qui contient, notamment, Docker), cluster ou même un conteneur compromis pour qu'une faille soit exploitée avec succès. Bien noter que Kubernetes n'est pas sécurisé par défaut, un aspect qui est reconnu par 70,6 % des répondants. Selon le rapport 2021 State of Kubernetes Security Report de Redhat, 94 % des répondants ont connu au moins un incident de sécurité dans leurs environnements K8S au cours des 12 derniers mois. La principale préoccupation est une mauvaise configuration de Kubernetes qui peut induire des brèches de sécurité. C’est le cas de 47 % du panel de l’enquête, un chiffre quatre fois supérieur aux conséquences d’une attaque (13%). Les vulnérabilités étant la deuxième cause d'inquiétude (31 %).  

Les principaux enseignements à retenir

L’étude d’Humanitec dégage trois principales recommandations. D’une part, si la structure de votre organisation n'est pas encore implémentée sur Kubernetes, il faut créer un plan de migration et de mise en œuvre qui reflète à la fois les prérequis et les meilleures pratiques techniques, y compris la sécurité, sans oublier les méthodes de l’entreprise.

D’autre part, il faut activer le libre-service de l’environnement pour les développeurs dans la configuration K8S. Sans cela, il y a un risque de ralentir l'ensemble du cycle de développement, en augmentant le taux d'échec des modifications, les goulots d'étranglement et les dépendances aux personnes référentes.

Enfin, pour permettre le libre-service, l’utilisation d’un IDP est recommandée pour appliquer les bonnes pratiques, en séparant les configurations spécifiques à l'environnement, en gérant les codes d’accès, etc. Sans négliger le provisionnement de l'infrastructure existante. Cet IDP doit être configuré par les équipes opérationnelles pour créer différents niveaux d'abstraction, en fonction des préférences des équipes de développement spécifiques.