lancement de la plateforme d'orchestration de conteneurs , permettant de gérer un cluster de conteneurs isolés en tant qu'entité unique et fournissant des mécanismes pour le déploiement, la maintenance et la mise à l'échelle des applications exécutées dans des conteneurs. Le projet a été initialement créé par Google, mais a ensuite été transféré sur une plateforme indépendante, gérée par la Linux Foundation. La plateforme se positionne comme une solution universelle développée par la communauté, non attachée à des systÚmes spécifiques et capable de fonctionner avec n'importe quelles applications dans n'importe quels environnements cloud. Le code de Kubernetes est écrit en Go et sous licence Apache 2.0.
fournit des fonctions pour le déploiement et la gestion de l'infrastructure, telles que la gestion de la base de données DNS, le chargement d'équilibrage,
la distribution des conteneurs sur les nĆuds du cluster (migration des conteneurs en fonction des changements de charge et des besoins en services), le contrĂŽle de la santĂ© au niveau des applications, la gestion des comptes, la mise Ă jour et la mise Ă l'Ă©chelle dynamique du cluster actif, sans interruption. Il est possible de dĂ©ployer des groupes de conteneurs en effectuant des opĂ©rations de mise Ă jour et d'annulation des modifications pour l'ensemble du groupe, ainsi qu'une sĂ©paration logique du cluster en parties avec rĂ©partition des ressources. Le support de la migration dynamique des applications est disponible, pour le stockage des donnĂ©es desquelles peuvent ĂȘtre utilisĂ©s des systĂšmes de stockage locaux ou rĂ©seaux.
La version Kubernetes 1.18 comprend 38 modifications et amĂ©liorations, dont 15 ont Ă©tĂ© transfĂ©rĂ©es au statut stable, et 11 au statut bĂȘta. 12 nouvelles modifications sont proposĂ©es en statut alpha. Pour la prĂ©paration de cette nouvelle version, des efforts Ă©gaux ont Ă©tĂ© consacrĂ©s Ă la finalisation des diffĂ©rentes fonctionnalitĂ©s et Ă la stabilisation des capacitĂ©s expĂ©rimentales, ainsi qu'Ă l'ajout de nouveaux dĂ©veloppements. Changements principaux :
- Kubectl
- version alpha de la commande « kubectl debug », qui facilite le débogage dans les pods, en lançant des conteneurs éphémÚres avec des outils de débogage.
- la commande « kubectl diff », permettant de voir ce qui changera dans le cluster si le manifeste est appliqué.
- tous les générateurs de la commande « kubectl run », à l'exception du générateur de lancement d'un seul pod.
- le drapeau «âdry-run», selon sa valeur (client, server et none), exĂ©cute le test de la commande du cĂŽtĂ© du client ou du serveur.
- Code kubectl dans un dépÎt séparé. Cela a permis de dissocier kubectl des dépendances internes de Kubernetes et d'alléger l'importation du code dans des projets tiers.
- Ingress
- le changement de groupe API pour Ingress vers networking.v1beta1.
- de nouveaux champs :
- pathType, permettant de spĂ©cifier la mĂ©thode de comparaison du chemin dans la requĂȘte
- IngressClassName â remplace l'annotation kubernetes.io/ingress.class, qui a Ă©tĂ© dĂ©clarĂ©e obsolĂšte. Ce champ spĂ©cifie le nom de l'objet spĂ©cial IngressClass
- l'objet IngressClass, dans lequel le nom du contrÎleur d'ingress est spécifié, ainsi que ses paramÚtres supplémentaires et l'indicateur de son utilisation par défaut
- Service
- le champ AppProtocol, dans lequel il est possible d'indiquer quel protocole utilise l'application
- au statut bĂȘta et inclus par dĂ©faut EndpointSlicesAPI, qui est un remplacement plus fonctionnel des Endpoints ordinaires.
- Réseau
- IPv6 est passĂ©e au statut bĂȘta.
- Disques persistants. La fonctionnalité suivante a été déclarée stable :
- Configuration de l'application
- Dans les objets ConfigMap et Secret un nouveau champ «immutable». DĂ©finir la valeur du champ sur true empĂȘche la modification de l'objet.
- Planificateur
- la possibilitĂ© de crĂ©er des profils supplĂ©mentaires pour kube-scheduler. Auparavant, il Ă©tait nĂ©cessaire de lancer des planificateurs distincts supplĂ©mentaires pour mettre en Ćuvre des algorithmes non standard de distribution des pods, mais dĂ©sormais il est possible de crĂ©er des ensembles de configurations supplĂ©mentaires pour le planificateur standard et de spĂ©cifier son nom dans le mĂȘme champ du pod «.spec.schedulerName». Statut â alpha.
- déclarée stable
- Mise Ă lâĂ©chelle
- la possibilité de spécifier dans le manifeste HPA le degré d'agressivité lors de la modification du nombre de pods en cours d'exécution, c'est-à -dire d'augmenter la charge en lançant immédiatement N fois plus d'exemplaires (instance).
- Kubelet
- est passĂ© au statut bĂȘta. La fonction inclut la distribution NUMA, Ă©vitant ainsi une dĂ©gradation des performances sur des systĂšmes multi-sockets.
- Statut bĂȘta La fonction PodOverhead permet de spĂ©cifier dans RuntimeClass un nombre supplĂ©mentaire de ressources nĂ©cessaires au dĂ©ploiement d'un pod.
- le support de HugePages, l'isolement au niveau du conteneur a été ajouté en statut alpha et le support de plusieurs tailles de hugepages.
- le point de terminaison pour les métriques /metrics/resource/v1alpha1, à la place, /metrics/resource est utilisé.
- API
- la possibilité d'utiliser les groupes API obsolÚtes apps/v1beta1 et extensions/v1beta1 a été supprimée.
- a Ă©tĂ© portĂ© au statut bĂȘta2. Cette amĂ©lioration dĂ©place la manipulation des objets de kubectl vers l'API du serveur. Les auteurs de cette amĂ©lioration affirment que cela permettra de corriger de nombreuses erreurs existantes qu'il est impossible de rĂ©soudre dans la situation actuelle. Ils ont Ă©galement ajoutĂ© la section « .metadata.managedFields », qui propose de conserver l'historique des modifications de l'objet, en indiquant qui, quand et quoi exactement a Ă©tĂ© modifiĂ©.
- stable pour l'API CertificateSigningRequest.
- Support de la plateforme Windows.
- Le soutien pour les nĆuds Windows continue de s'Ă©tendre. Des versions alpha ont Ă©tĂ© ajoutĂ©es :
- Le support de Group Managed Service Account a été porté au statut stable.
- Le soutien pour les nĆuds Windows continue de s'Ă©tendre. Des versions alpha ont Ă©tĂ© ajoutĂ©es :
Source : opennet.ru
