Release van Kubernetes 1.18, een systeem voor het beheren van een cluster van geïsoleerde containers

gepubliceerd release van containerorkestratieplatform Kubernetes 1.18, waarmee u een cluster van geïsoleerde containers als geheel kunt beheren en mechanismen biedt voor het implementeren, onderhouden en schalen van applicaties die in containers draaien. Het project is oorspronkelijk gemaakt door Google, maar vervolgens overgebracht naar een onafhankelijke site onder toezicht van de Linux Foundation. Het platform is gepositioneerd als een universele oplossing die door de gemeenschap is ontwikkeld, niet gebonden is aan individuele systemen en in staat is om met elke applicatie in elke cloudomgeving te werken. Kubernetes-code is geschreven in Go en gedistribueerd door gelicentieerd onder Apache 2.0.

Biedt functies voor het implementeren en beheren van infrastructuur, zoals onderhoud van DNS-databases, taakverdeling,
distributie van containers over clusterknooppunten (containermigratie afhankelijk van veranderingen in belasting en servicebehoeften), gezondheidscontroles op applicatieniveau, accountbeheer, updaten en dynamisch schalen van een draaiend cluster, zonder het te stoppen. Het is mogelijk om groepen containers in te zetten met bewerkingen voor het bijwerken en ongedaan maken voor de hele groep in één keer, evenals een logische verdeling van het cluster in delen met verdeling van bronnen. Er is ondersteuning voor dynamische migratie van applicaties, voor dataopslag waarbij zowel lokale opslag- als netwerkopslagsystemen gebruikt kunnen worden.

De Kubernetes 1.18-release bevat 38 wijzigingen en verbeteringen, waarvan er 15 zijn verplaatst naar de stabiele status en 11 naar de bètastatus. Er worden 12 nieuwe wijzigingen voorgesteld in de alfastatus. Bij het voorbereiden van de nieuwe versie waren gelijke inspanningen gericht op zowel het verfijnen van verschillende functionaliteiten en het stabiliseren van experimentele mogelijkheden, als op het toevoegen van nieuwe ontwikkelingen. Belangrijkste wijzigingen:

  • kubectl
    • Toegevoegd Een alfaversie van de opdracht 'kubectl debug', waarmee u foutopsporing in pods kunt vereenvoudigen door kortstondige containers met foutopsporingshulpmiddelen te starten.
    • Stabiel verklaard de opdracht “kubectl diff”, waarmee u kunt zien wat er in het cluster verandert als u het manifest toepast.
    • VERWIJDERD alle generatoren van de opdracht "kubectl run", behalve de generator voor het uitvoeren van een enkele pod.
    • gewijzigd flag “--dry-run”, afhankelijk van de waarde ervan (client, server en geen), wordt de proefuitvoering van de opdracht uitgevoerd aan de client- of serverzijde.
    • kubectl-code gemarkeerd naar een aparte opslagplaats. Hierdoor kon kubectl worden losgekoppeld van interne kubernetes-afhankelijkheden en werd het eenvoudiger om code in projecten van derden te importeren.
  • Ingress
    • begon API-groep voor Ingress wijzigen in Networking.v1beta1.
    • Toegevoegd nieuwe velden:
      • pathType, waarmee u kunt opgeven hoe het pad in de aanvraag wordt vergeleken
      • IngressClassName is een vervanging voor de annotatie kubernetes.io/ingress.class, die verouderd is verklaard. Dit veld specificeert de naam van het speciale object InressClass
    • toegevoegd een IngressClass-object, dat de naam van de ingangscontroller aangeeft, de aanvullende parameters en het teken dat deze standaard wordt gebruikt
  • Service
    • Toegevoegd door het veld AppProtocol, waarin u kunt opgeven welk protocol de applicatie gebruikt
    • Vertaald in bètastatus en standaard ingeschakeld EndpointSlicesAPI, wat een meer functionele vervanging is voor reguliere eindpunten.
  • Сеть
  • Permanente schijven. De volgende functionaliteit is stabiel verklaard:
  • Applicatieconfiguratie
    • Naar ConfigMap- en geheime objecten toegevoegd nieuw veld "onveranderlijk". Als u de veldwaarde op true instelt, wordt wijziging van het object voorkomen.
  • Планировщик
    • Toegevoegd mogelijkheid om extra profielen te maken voor kube-scheduler. Als het voorheen nodig was om extra afzonderlijke planners uit te voeren om niet-standaard algoritmen voor poddistributie te implementeren, is het nu mogelijk om extra sets instellingen voor de standaardplanner te maken en de naam ervan in hetzelfde podveld “.spec.schedulerName” op te geven. Status - alfa.
    • Op smet gebaseerde uitzetting stabiel verklaard
  • scaling
    • Toegevoegd de mogelijkheid om in de HPA de mate van agressiviteit te specificeren bij het wijzigen van het aantal actieve pods, dat wil zeggen, wanneer de belasting toeneemt, N keer meer exemplaren tegelijk lanceren.
  • kubus
    • topologie manager bètastatus gekregen. De functie maakt NUMA-toewijzing mogelijk, waardoor prestatieverlies op systemen met meerdere sockets wordt voorkomen.
    • Bètastatus ik kreeg PodOverhead-functie, waarmee u in RuntimeClass de extra hoeveelheid bronnen kunt opgeven die nodig is om de pod uit te voeren.
    • Uitgebreid ondersteuning voor HugePages, in alfastatus isolatie op containerniveau toegevoegd en ondersteuning voor meerdere hugepages-formaten.
    • Verwijderd eindpunt voor metrische gegevens /metrics/resource/v1alpha1, in plaats daarvan wordt /metrics/resource gebruikt
  • API
    • Eindelijk De mogelijkheid verwijderd om de verouderde API-groep apps/v1beta1 en extensies/v1beta1 te gebruiken.
    • ServerSide toepassen geüpgraded naar bèta2-status. Deze verbetering verplaatst objectmanipulatie van kubectl naar de API-server. De auteurs van de verbetering beweren dat hierdoor veel bestaande fouten zullen worden opgelost die in de huidige situatie niet kunnen worden gecorrigeerd. Ze hebben ook een sectie “.metadata.managedFields” toegevoegd, waarin ze voorstellen om de geschiedenis van objectwijzigingen op te slaan, waarbij wordt aangegeven wie, wanneer en wat er precies is gewijzigd.
    • Aangekondigd stabiele CertificateSigningRequest API.
  • Ondersteuning voor Windows-platform.

Bron: opennet.ru

Voeg een reactie