Frigivelse af Kubernetes 1.18, et system til håndtering af en klynge af isolerede containere

offentliggjort frigivelse af containerorkestreringsplatform Kubernetes 1.18, som giver dig mulighed for at administrere en klynge af isolerede containere som helhed og giver mekanismer til at implementere, vedligeholde og skalere applikationer, der kører i containere. Projektet blev oprindeligt skabt af Google, men blev derefter overført til et uafhængigt websted overvåget af Linux Foundation. Platformen er placeret som en universel løsning udviklet af fællesskabet, ikke bundet til individuelle systemer og i stand til at arbejde med enhver applikation i ethvert cloudmiljø. Kubernetes kode er skrevet i Go og distribueret af licenseret under Apache 2.0.

Leverer funktioner til implementering og styring af infrastruktur, såsom vedligeholdelse af DNS-database, belastningsbalancering,
fordeling af containere blandt klynge noder (container migration afhængig af ændringer i belastning og servicebehov), sundhedstjek på applikationsniveau, kontostyring, opdatering og dynamisk skalering af en kørende klynge, uden at stoppe den. Det er muligt at implementere grupper af containere med opdaterings- og fortrydelsesoperationer for hele gruppen på én gang, samt logisk opdeling af klyngen i dele med opdeling af ressourcer. Der er understøttelse af dynamisk migrering af applikationer, til datalagring, hvoraf både lokal lagring og netværkslagringssystemer kan bruges.

Kubernetes 1.18-udgivelsen indeholder 38 ændringer og forbedringer, hvoraf 15 er blevet flyttet til stabil status og 11 til betastatus. Der foreslås 12 nye ændringer i alfastatus. Ved udarbejdelsen af ​​den nye version blev der rettet en lige stor indsats mod både at forfine forskellige funktionaliteter og stabilisere eksperimentelle muligheder samt tilføje nye udviklinger. Vigtigste ændringer:

  • kubectl
    • Tilføjet En alfaversion af kommandoen "kubectl debug", som giver dig mulighed for at forenkle fejlfinding i pods ved at starte flygtige beholdere med fejlfindingsværktøjer.
    • Erklæret stabil kommandoen "kubectl diff", som giver dig mulighed for at se, hvad der vil ændre sig i klyngen, hvis du anvender manifestet.
    • Fjernet alle generatorer af kommandoen "kubectl run", undtagen generatoren til at køre en enkelt pod.
    • Ændret flag "--dry-run", afhængigt af dets værdi (klient, server og ingen), udføres prøveudførelsen af ​​kommandoen på klient- eller serversiden.
    • kubectl kode fremhævet til et separat depot. Dette gjorde det muligt for kubectl at blive afkoblet fra interne kubernetes-afhængigheder og gjorde det lettere at importere kode til tredjepartsprojekter.
  • Ingress
    • Begyndte ændre API-gruppe for Ingress til networking.v1beta1.
    • Tilføjet nye felter:
      • pathType, som giver dig mulighed for at angive, hvordan stien i anmodningen skal sammenlignes
      • IngressClassName er en erstatning for kubernetes.io/ingress.class-annotationen, som er erklæret forældet. Dette felt angiver navnet på specialobjektet InressClass
    • Tilføjet et IngressClass-objekt, som angiver navnet på ingresscontrolleren, dens yderligere parametre og tegn på at bruge det som standard
  • Service
    • Добавлено feltet AppProtocol, hvor du kan angive, hvilken protokol applikationen bruger
    • Oversat i beta-status og aktiveret som standard EndpointSlicesAPI, som er en mere funktionel erstatning for almindelige Endpoints.
  • netværk
    • Support IPv6 er blevet flyttet til beta-status.
  • Permanente diske. Følgende funktionalitet er blevet erklæret stabil:
  • Applikationskonfiguration
    • Til ConfigMap og hemmelige objekter tilføjet nyt felt "uforanderligt". Indstilling af feltværdien til sand forhindrer ændring af objektet.
  • Planlægger
    • Tilføjet mulighed for at oprette yderligere profiler til kube-scheduler. Hvis det tidligere var nødvendigt at køre yderligere separate planlæggere for at implementere ikke-standard pod-distributionsalgoritmer, er det nu muligt at oprette yderligere sæt indstillinger for standardplanlæggeren og angive dens navn i det samme pod-felt ".spec.schedulerName". Status - alfa.
    • Skadebaseret udsættelse erklæret stabil
  • Skalering
    • Tilføjet evnen til at specificere i HPA manifest graden af ​​aggressivitet ved ændring af antallet af kørende pods, det vil sige, når belastningen øges, lancere N gange flere forekomster på én gang.
  • kubelet
    • Topologichef modtaget betastatus. Funktionen muliggør NUMA-allokering, som undgår ydeevneforringelse på multi-socket-systemer.
    • Beta status jeg har modtaget PodOverhead-funktion, som giver dig mulighed for i RuntimeClass at angive den ekstra mængde ressourcer, der kræves for at køre poden.
    • Udvidet understøttelse af HugePages, i alfastatus tilføjet isolering på containerniveau og understøttelse af flere hugepages-størrelser.
    • Slettet slutpunkt for metrics /metrics/resource/v1alpha1, /metrics/resource bruges i stedet
  • API
    • Endelig Fjernede muligheden for at bruge de forældede API-gruppeapps/v1beta1 og extensions/v1beta1.
    • ServerSide Anvend opgraderet til beta2-status. Denne forbedring flytter objektmanipulation fra kubectl til API-serveren. Forfatterne af forbedringen hævder, at dette vil rette mange eksisterende fejl, som ikke kan rettes i den nuværende situation. De tilføjede også en sektion ".metadata.managedFields", hvori de foreslår at gemme historikken for objektændringer, der angiver hvem, hvornår og hvad der præcist ændrede sig.
    • Meddelt stabil CertificateSigningRequest API.
  • Windows platform support.

Kilde: opennet.ru

Tilføj en kommentar