Release av Kubernetes 1.18, ett system för att hantera ett kluster av isolerade behållare

publiceras frigivning av containerorkestreringsplattform Kubernetes 1.18, som låter dig hantera ett kluster av isolerade behållare som helhet och tillhandahåller mekanismer för att distribuera, underhålla och skala applikationer som körs i behållare. Projektet skapades ursprungligen av Google, men överfördes sedan till en oberoende webbplats övervakad av Linux Foundation. Plattformen är positionerad som en universell lösning utvecklad av communityn, inte bunden till individuella system och som kan arbeta med vilken applikation som helst i vilken molnmiljö som helst. Kubernetes-koden är skriven i Go och levererad av licensierad under Apache 2.0.

Tillhandahåller funktioner för att distribuera och hantera infrastruktur, såsom underhåll av DNS-databas, lastbalansering,
distribution av containrar mellan klusternoder (containermigrering beroende på förändringar i belastning och servicebehov), hälsokontroller på applikationsnivå, kontohantering, uppdatering och dynamisk skalning av ett körande kluster, utan att stoppa det. Det är möjligt att distribuera grupper av containrar med uppdaterings- och ångringsoperationer för hela gruppen på en gång, samt logisk uppdelning av klustret i delar med uppdelning av resurser. Det finns stöd för dynamisk migrering av applikationer, för datalagring där både lokal lagring och nätverkslagringssystem kan användas.

Kubernetes 1.18-versionen innehåller 38 ändringar och förbättringar, varav 15 har flyttats till stabil status och 11 till betastatus. 12 nya ändringar föreslås i alfastatus. Vid utarbetandet av den nya versionen inriktades lika stora ansträngningar på att både förfina olika funktioner och stabilisera experimentella möjligheter, samt lägga till nya utvecklingar. Huvudändringar:

  • Kubectl
    • Lagt till En alfaversion av kommandot "kubectl debug", som låter dig förenkla felsökning i pods genom att starta tillfälliga behållare med felsökningsverktyg.
    • Förklarad stabil kommandot "kubectl diff", som låter dig se vad som kommer att förändras i klustret om du använder manifestet.
    • Tog bort alla generatorer för kommandot "kubectl run", utom generatorn för att köra en enda pod.
    • Ändrats flagga "--dry-run", beroende på dess värde (klient, server och ingen), utförs provkörningen av kommandot på klient- eller serversidan.
    • kubectl kod markerad till ett separat förvar. Detta gjorde att kubectl kunde frikopplas från interna kubernetes-beroenden och gjorde det lättare att importera kod till tredjepartsprojekt.
  • Ingress
    • Började ändrar API-grupp för Ingress till networking.v1beta1.
    • Lagt till nya fält:
      • pathType, som låter dig ange hur sökvägen i begäran ska jämföras
      • IngressClassName är en ersättning för kubernetes.io/ingress.class-anteckningen, som förklaras föråldrad. Detta fält anger namnet på specialobjektet InressClass
    • tillsatt ett IngressClass-objekt, som anger namnet på ingångskontrollern, dess ytterligare parametrar och tecken på att använda den som standard
  • Service
    • Inkom fältet AppProtocol, där du kan ange vilket protokoll applikationen använder
    • Översatt i betastatus och aktiverat som standard EndpointSlicesAPI, som är en mer funktionell ersättning för vanliga Endpoints.
  • Сеть
    • Support IPv6 har flyttats till betastatus.
  • Permanenta diskar. Följande funktionalitet har förklarats stabil:
  • Applikationskonfiguration
    • Till ConfigMap och hemliga objekt Lagt till nytt fält "oföränderligt". Att ställa in fältvärdet på sant förhindrar modifiering av objektet.
  • Schemaläggare
    • Lagt till möjlighet att skapa ytterligare profiler för kube-scheduler. Om det tidigare var nödvändigt att köra ytterligare separata schemaläggare för att implementera icke-standardiserade poddistributionsalgoritmer, är det nu möjligt att skapa ytterligare uppsättningar inställningar för standardschemaläggaren och ange dess namn i samma podfält ".spec.schedulerName". Status - alfa.
    • Taint Based Eviction förklaras stabil
  • Skalning
    • Lagt till förmågan att specificera i HPA manifestera graden av aggressivitet när du ändrar antalet löpande pods, det vill säga när belastningen ökar, starta N gånger fler instanser på en gång.
  • kubelet
    • Topologichef fått betastatus. Funktionen möjliggör NUMA-allokering, vilket undviker prestandaförsämring på system med flera uttag.
    • Betastatus mottagen PodOverhead-funktion, som låter dig ange i RuntimeClass den extra mängd resurser som krävs för att köra podden.
    • Expanderat stöd för HugePages, i alfastatus tillagd isolering på behållarnivå och stöd för flera stora sidor.
    • raderade slutpunkt för metrics /metrics/resource/v1alpha1, /metrics/resource används istället
  • API
    • Till sist Tog bort möjligheten att använda de föråldrade API-gruppapparna/v1beta1 och extensions/v1beta1.
    • ServerSide Apply uppgraderad till beta2-status. Denna förbättring flyttar objektmanipulation från kubectl till API-servern. Författarna till förbättringen hävdar att detta kommer att åtgärda många befintliga fel som inte kan korrigeras i den nuvarande situationen. De lade också till en sektion ".metadata.managedFields", där de föreslår att historiken för objektändringar ska lagras, vilket anger vem, när och exakt vad som ändrades.
    • Meddelat stabil CertificateSigningRequest API.
  • Windows-plattformsstöd.

Källa: opennet.ru

Lägg en kommentar