The release of Kubernetes 1.18, the container orchestration system for isolated containers.

Published release of the container orchestration platform Kubernetes 1.18, enabling unified management of a cluster of isolated containers and providing mechanisms for deploying, maintaining, and scaling applications running in containers. The project was originally created by Google but was later transitioned to an independent space overseen by the Linux Foundation. The platform is positioned as a community-driven universal solution, independent of specific systems and capable of working with any applications in any cloud environments. The Kubernetes code is written in Go and is distributed under the Apache 2.0 license.

Offers capabilities for deploying and managing infrastructure, such as DNS management, load balancing,
distributing containers across cluster nodes (migrating containers based on changes in load and service needs), application-level health checks, account management, updating and dynamically scaling the running cluster without downtime. It is possible to deploy groups of containers to perform updates and rollbacks at once for the entire group, as well as logically partition the cluster with resource separation. Support is provided for dynamic migration of applications, which can utilize both local storage and network storage systems.

The release of Kubernetes 1.18 includes 38 changes and improvements, of which 15 have been promoted to stable status, and 11 to beta status. 12 new changes are proposed in alpha status. During the preparation of the new version, equal efforts were directed towards both refining various functionalities and stabilizing experimental features, as well as adding new developments. Key changes include:

  • Kubectl
    • Added the alpha version of the "kubectl debug" command, which simplifies debugging in pods by launching ephemeral containers with debugging tools.
    • Declared stable the "kubectl diff" command, allowing you to see what will change in the cluster if you apply the manifest.
    • Removed all generators of the "kubectl run" command, except for the single pod launch generator.
    • Changed The flag "--dry-run", depending on its value (client, server, and none), executes a trial run of the command on the client or server side.
    • The kubectl code has been isolated into a separate repository. This allowed separating kubectl from the internal dependencies of Kubernetes and made it easier to import code into third-party projects.
  • Ingress
    • Started the API group change for Ingress to networking.v1beta1.
    • Additional new fields:
      • pathType, which allows specifying how the path in the request will be compared
      • IngressClassName — a replacement for the annotation kubernetes.io/ingress.class, which has been declared deprecated. This field specifies the name of a special IngressClass object
    • Added the IngressClass object, which specifies the name of the ingress controller, its additional parameters, and a flag indicating its default usage
  • Service
    • Added the AppProtocol field, where you can indicate which protocol the application uses
    • Converted to beta status, and the EndpointSlicesAPI, which is a more functional replacement for standard Endpoints, is enabled by default.
  • Network
    • Support IPv6 has been converted to beta status.
  • Persistent disks. The following functionality has been declared stable:
  • Application configuration
    • In ConfigMap and Secret objects added a new field "immutable". Setting this field to true prevents the modification of the object.
  • Scheduler
    • Added the ability to create additional profiles for kube-scheduler. Previously, it was necessary to run additional separate schedulers to implement non-standard pod distribution algorithms, but now it is possible to create additional configuration sets for the standard scheduler and specify its name in the same pod field ".spec.schedulerName". Status — alpha.
    • Taint Based Eviction has been declared stable
  • Scaling
    • Added the ability to specify in the HPA manifest the degree of aggressiveness when changing the number of running pods, that is, when load increases, to immediately launch N times more instances.
  • Kubelet
    • Topology Manager has received beta status. The function includes NUMA distribution, which helps avoid performance degradation on multi-socket systems.
    • Beta status has received the PodOverhead function, allowing you to specify in RuntimeClass the additional amount of resources required to run the pod.
    • Expanded HugePages support, with alpha status introduced container-level isolation and support for multiple hugepage sizes.
    • Removed The endpoint for metrics /metrics/resource/v1alpha1 has been replaced with /metrics/resource
  • API
    • Final The ability to use deprecated API groups apps/v1beta1 and extensions/v1beta1 has been removed.
    • ServerSide Apply upgraded to beta2 status. This enhancement shifts object manipulation from kubectl to the API server. The authors of the enhancement claim that it will fix many existing bugs that cannot be addressed in the current situation. They also added a section ‘.metadata.managedFields’ to store the history of object changes, indicating who, when, and what exactly was changed.
    • Declared stable CertificateSigningRequest API.
  • Support for the Windows platform.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster