Presentation des nouveautes kubernetes 1.18 – Ambient IT

Parlons un peu des mises à jour de Kubernetes ! De quoi s’agit-il ? Quelles sont les nouvelles fonctionnalités de Kubernetes 1.18 ? Retour sur cette nouvelle version et sa version précédente.

Qu’est-ce que Kubernetes ?

Kubernetes est une plateforme open-source extensible et portable pour la gestion de charges de travail et des services conteneurisés. 

Les principales fonctionnalités de Kubernetes sont : 

  • Une plateforme de conteneur
  • Une plateforme de microservices
  • Une plateforme cloud portable et bien plus encore

Découvrez les fonctionnalités apportées par Kubernetes 1.17 et la très récente Kubernetes 1.18 !

De la version Kubernetes 1.17 à la version Kubernetes 1.18

Qu’a apporté la version 1.17 ?

La mise à jour de kubernetes en 1.17 a inclus de nouvelles fonctions, des améliorations et des correctifs. 

En voici quelques-unes :

  • Le routage Topology aware service
  • La prise en charge de Dual Stack IPv4 / IPv6
  • L’API EndpointSlice
  • Migration des volumes vers CSI

Le routage Topology Aware service

La topologie de service optimise le trafic en le gardant entre des pods proches les uns des autres. Pour y parvenir, le service implémente une forme simple d’équilibrage de charge entre les points d’extrémité de pod disponibles. 

Le routage Topology Aware Service utilise les métadonnées de la topologie du réseau, par exemple, le nom d’hôte, la région et la zone du Cloud pour prendre les décisions de routage. Lors de l’accès au service, le trafic peut être dispersé et toucher ces différents endroits. 

Bien que le transfert de service soit à charges équilibrées, si les points d’extrémité sont éloignés, le transfert réseau a une latence élevée, ce qui affecte les performances du réseau et, dans certains cas, peut même induire des coûts de trafic supplémentaires. 

Grâce au routage de service topologique, vous pouvez optimiser l’utilisation du réseau de service à service, améliorer les performances et réduire les coûts.


Prise en charge Dual Stack IPv4 / IPv6

Les mises à jour de la version 1.17 incluent la possibilité de définir les masques de réseau IPv6 et la prise en charge de la validation de l’adresse IP du pod.

Les fonctionnalités prises en charge avec l’activation de la dual stack IPv4 / IPv6 : 

  • Mise en réseau de pods dual stack (une seule attribution d’adresse IPv4 et IPv6 par pod)
  • Services compatibles IPv4 et IPv6 (chaque service doit être pour une seule famille d’adresses) 
  • Routage de sortie hors cluster Pod (par exemple, Internet) 

L’API EndpointSlice de Kubernetes 1.17

L’API EndpointSlice rejoint l’API Endpoints existante pour permettre la gestion et l’interaction avec les destinations de service sur le réseau de cluster. 

La nouvelle API EndpointSlice a été conçue pour fonctionner parallèlement à l’API existante, avec le potentiel de la remplacer éventuellement. 

Elle permet également de fournir un cadre extensible qui peut évoluer avec les écosystèmes de Kubernetes. 

La nouvelle EndpointSliceAPI a divisé les points de terminaison en plusieurs ressources Endpoint Slice. De nombreux problèmes liés aux Endpoints objets ont ainsi pu être résolus ! 

Cette nouvelle API est aussi conçue pour prendre en charge d’autres fonctionnalités futures telles que les dual stack IPv4 / IPv6.

Migration des volumes vers CSI

L’effort de migration CSI permet le remplacement des plugins de stockage existants dans l’arborescence avec un pilote CSI correspondant. Kubernetes a remplacé le backend des API «plug-in d’arborescence» par CSI.

Kubernetes met à jour un cluster pour activer la migration CSI, ce qui ne va en soi rien changer à votre façon de travailler avec la plateforme. 

Kubernetes confie le contrôle de toutes les opérations de gestion du stockage pilotes CSI pour améliorer la fluidité.

Les nouveautés apportées par Kubernetes 1.18

Kubernetes 1.18 : la version « fit and finish »

Avec cette nouvelle mise à jour sortie le 26 mars 2020, Kubernetes a cherché à toujours plus améliorer l’expérience de ses utilisateurs. Un gros travail sur la stabilité des fonctionnalités bêta et sur le développement de nouvelles fonctionnalités qui vous plairont certainement !

Les jetons de compte de service comme méthode d’authentification générale

Auparavant, pour faire une sorte qu’un pod gère d’autres ressources Kubernetes comme un service ou un déploiement, il était nécessaire de s’associer à un compte de service et de créer des rôles et liaisons de rôles en conséquence.

Le serveur API était alors la seule source d’authentification pour les comptes de services. Mais quid des autres services en dehors d’un cluster ?

Kubernetes 1.18 vous apporte la solution avec sa fonctionnalité #1393. En transmettant un document de découverte OpenID Connect au serveur d’API, les clés publiques du jeton en plus d’autres métadonnées sont ainsi communiquées pour autoriser l’authentification.

Configuration HPA Velocity pour certains pods

HPA permet à un cluster de s’adapter automatiquement à l’affluence de trafic.

Il permet aussi d’optimiser les coûts en terminant les pods en excès s’ils ne sont pas requis.

Avec sa fonctionnalité #853, Kubernetes 1.18 offre la possibilité de configurer le comportement de mise à l’échelle via le champ de comportement HPA.

Exécution de plusieurs configurations de planificateur grâce aux profils

Vous pourrez désormais utiliser un planificateur pour le cluster via des profils différents.

Référencez les profils dans le schedulerName et évitez ainsi les situations de concurrence.

La règle d’étalement des pods au niveau du cluster

Une nouvelle fonctionnalité a été ajoutée à Even Pod Spreading, introduite à la base dans la version 1.16 et permettant d’assurer la planification des pods sur les zones de disponibilité pour maximiser les ressources.

Désormais, il sera aussi possible de définir des contraintes d’étalement par défaut aux pods n’ayant aucune contrainte topologySpreadConstraints.

Certaines versions de Windows prennent en charge le ContainerD et RuntimeClass

Petit à petit, Windows accroit sa compatibilité avec Kubernetes et Windows Server 2019 peut maintenant prendre en charge ContainerD 1.3 en tant qu’interface d’exécution de conteneur (CRI).

De même, grâce à Kubernetes 1.18, le RuntimeClass prend en charge les noeuds Windows.

Cependant, tout n’est pas encore pris en charge et un long chemin reste à parcourir…

Et vous ? Avez-vous déjà testé les nouvelles fonctionnalités de Kubernetes 1.18 ?

Votre avis sur kubernetes 1.17 - Ambient IT
Donnez-nous votre avis en commentaire !

Vous souhaitez devenir un pro du Kubernetes ?

Des formations adaptées existent :

Demandez un devis pour rejoindre une de ces formations ou contactez-nous pour plus de renseignements ! Nous répondons vite !

Vous mettez de l’agilité au cœur de vos processus de production. Découvrez de nouveaux outils dédiés au Devops et l’agilité.