
Hier, l’équipe responsable de son développement a indiqué la disponibilité de Kubernetes 1.14 qui comprend 31 améliorations. Les principaux thèmes de cette version sont l'extensibilité et la prise en charge de davantage de charges de travail sur Kubernetes, avec trois fonctionnalités principales passant à la disponibilité générale et une fonctionnalité de sécurité importante passant à la version bêta.
« Ce dont je suis le plus fier, c'est que cette version apporte les améliorations les plus stables de toutes les versions de Kubernetes », a déclaré Aaron Crickenberger, ingénieur principal des tests chez Google. « Vous avez entendu dire que Kubernetes était axé sur la stabilité et la maturité et je pense que vous commencez à voir les résultats de ce travail avec cette version ».
« Cet effort a vraiment été centré sur la modification des proxy Kubelet et Kube afin que Windows soit pris en charge en tant que système d'exploitation et que la capacité de Docker sur Windows soit correctement prise en compte », a déclaré Michael Michael de Microsoft.
Extension de l'écosystème de Linux uniquement à la prise en charge des conteneurs Windows
Kubernetes a deux composants clés: un ensemble de noeuds maîtres agissant en tant que plan de contrôle et un ensemble de noeuds jouant le rôle de chevaux de trait exécutant des charges de travail conteneurisées. Lorsqu'une charge de travail composée de plusieurs conteneurs est déployé sur Kubernetes, le plan de contrôle choisit un ou plusieurs noeuds de travail pour héberger les conteneurs. Jusqu'à présent, les nœuds maître et travailleur ne pouvaient s'exécuter que sur les distributions de systèmes d'exploitation Linux classiques telles qu'Ubuntu, Red Hat Enterprise Linux et CentOS. Cela signifie que les applications ayant un besoin spécifique pour Microsoft Windows ne peuvent pas être déployées sur Kubernetes.
Il y a quelques années, Microsoft s'est embarqué dans un voyage pour faire des conteneurs des citoyens de première classe dans le monde Windows. Il s'est associé à Docker pour apporter à Windows un moteur de conteneur compatible afin de fournir aux développeurs et aux opérateurs un flux de travail familier et cohérent. La société a retenu les services de Brendan Burns, l'un des cofondateurs de Kubernetes, chez Google, pour se concentrer exclusivement sur les conteneurs Windows et le service Azure Kubernetes (AKS). Depuis lors, Microsoft contribue activement à Kubernetes et à l'écosystème natif du cloud.
La prise en charge de Microsoft Windows dans la dernière version de Kubernetes permet aux clients de mélanger et d’apparier des machines Linux et Windows dans le même cluster. Ils peuvent désormais créer des applications cloud computing basées sur des microservices qui utilisent le runtime .NET traditionnel avec des plateformes modernes telles que Go. Microsoft est censé annoncer la prise en charge des nœuds Windows Server sur son service Kubernetes géré, AKS.
Red Hat s’est réjoui de cette avancé en ces termes

La deuxième grande partie concernait l'infrastructure de réseau. Avec l’ajout de la CNI (Container Networking Interface), l’infrastructure réseau devait également bien fonctionner sous Windows. Cela impliquait une intégration avec de nombreux fournisseurs de réseaux et plug-ins de réseau pour garantir la publication d'une version de leurs interfaces réseau qui fonctionne également sous Windows. Cet effort est en cours.
Kubernetes 1.14 comprend:
- la prise en charge de Windows Server 2019 pour les nœuds de travail et les conteneurs
- la prise en charge de la mise en réseau en dehors de l'arbre avec Azure-CNI, OVN-Kubernetes et Flannel, les travaux se poursuivant pour inclure Calico ainsi que d'autres fournisseurs de réseaux populaires
- la prise en charge améliorée des pods, types de service, contrôleurs de charge de travail et métriques / quotas afin de mieux correspondre aux fonctionnalités offertes par les conteneurs Linux
Selon Michael, la plupart des entreprises combinent des charges de travail Windows et Linux, ce qui stimule la demande de support Windows.
« Si vous êtes une entreprise et que vous avez à la fois des applications Linux et Windows, vous ne voulez pas utiliser deux orchestrateurs différents. Vous souhaitez adopter des méthodologies natives pour le cloud dans vos deux écosystèmes », a-t-il déclaré.
Les autres améliorations
Parmi les améliorations:
- La documentation de kubectl a été réécrite en mettant l’accent sur la gestion des ressources à l’aide de la configuration déclarative des ressources. Elle est disponible sous forme de livre avec un lien depuis la documentation principale de Kubernetes. Il existe également un logo et une mascotte kubectl appelés kubee-cuddle.
- Les capacités de création déclaratives de la configuration des ressources de l'outil de configuration kustomize YAML sont disponibles dans kubectl à l'aide de l'indicateur -k pour des commandes telles que apply. Kustomize aide les utilisateurs à écrire et à réutiliser Resource Config à l'aide des concepts natifs de Kubernetes. La documentation de ces nouvelles fonctionnalités est disponible.
- Le mécanisme kubectl est désormais disponible en version stable. Il permet aux développeurs de publier leurs propres sous-commandes kubectl personnalisées en tant que fichiers binaires autonomes.
- Les volumes locaux persistants sont maintenant en version stable. Ils rendent disponible le stockage attaché localement en tant que source de volume persistant.
- Les ID de processus (PID) passent à la version bêta. Cette solution permet aux administrateurs de fournir une isolation PID de pod à pod en définissant par défaut le nombre de PID par pod. Une fonctionnalité alpha supplémentaire est la possibilité de réserver un certain nombre de PID alloués aux pods utilisateurs.
- La priorité et la préemption des pods permettent au planificateur Kubernetes de planifier le travail par priorité et de supprimer les pods moins importants si nécessaire.
- Pod Readiness Gates Introduit un point d’extension pour les commentaires externes sur l’état de préparation des pods.
- Cette version apporte le renforcement par défaut des liaisons de rôle de cluster de découverte RBAC. Cela était largement motivé par la vulnérabilité de Kubernetes identifiée en novembre. Elle supprime la découverte de l'ensemble des API permettant un accès non authentifié par défaut.
Au total, la version inclut 31 améliorations: 10 qui sont désormais en versions stables, 12 en version bêta et sept nouvelles.
Crickenberger a commenté en ce sens
[QUOTE=Crickenberger]L'inclusion de Windows en tant que charge de travail potentielle signifie que nous avons vraiment dû définir plus précisément ce que Kubernetes prend en charge et ne[/quote=crickenberger]...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.