Lansarea Kubernetes 1.18, un sistem pentru gestionarea unui cluster de containere izolate

publicat lansarea platformei de orchestrare a containerelor Kubernetes 1.18, care vă permite să gestionați un cluster de containere izolate în ansamblu și oferă mecanisme pentru implementarea, întreținerea și scalarea aplicațiilor care rulează în containere. Proiectul a fost creat inițial de Google, dar apoi a fost transferat pe un site independent supravegheat de Fundația Linux. Platforma este poziționată ca o soluție universală dezvoltată de comunitate, nelegată de sisteme individuale și capabilă să lucreze cu orice aplicație în orice mediu cloud. Codul Kubernetes este scris în Go și distribuit de licențiat sub Apache 2.0.

Oferă funcții pentru implementarea și gestionarea infrastructurii, cum ar fi întreținerea bazei de date DNS, echilibrarea încărcăturii,
distribuția containerelor între nodurile clusterului (migrarea containerelor în funcție de schimbările de încărcare și de nevoile de servicii), verificări de sănătate la nivel de aplicație, gestionarea contului, actualizarea și scalarea dinamică a unui cluster care rulează, fără a-l opri. Este posibilă implementarea simultană a grupurilor de containere cu operațiuni de actualizare și anulare pentru întregul grup, precum și împărțirea logică a clusterului în părți cu împărțirea resurselor. Există suport pentru migrarea dinamică a aplicațiilor, pentru stocarea datelor a căror stocare locală și sisteme de stocare în rețea pot fi utilizate.

Versiunea Kubernetes 1.18 include 38 de modificări și îmbunătățiri, dintre care 15 au fost mutate la starea stabilă și 11 la starea beta. Sunt propuse 12 noi modificări în stare alfa. La pregătirea noii versiuni, eforturile egale au fost îndreptate atât spre rafinarea diferitelor funcționalități, cât și spre stabilizarea capacităților experimentale, precum și spre adăugarea de noi dezvoltări. Principalele modificări:

  • Kubectl
    • Adăugat O versiune alfa a comenzii „kubectl debug”, care vă permite să simplificați depanarea în pod-uri prin lansarea de containere efemere cu instrumente de depanare.
    • Declarat stabil comanda „kubectl diff”, care vă permite să vedeți ce se va schimba în cluster dacă aplicați manifestul.
    • Îndepărtat toți generatorii comenzii „kubectl run”, cu excepția generatorului pentru rularea unui singur pod.
    • Schimbat flag „--dry-run”, în funcție de valoarea acestuia (client, server și niciunul), execuția de probă a comenzii se realizează pe partea client sau server.
    • codul kubectl evidențiat la un depozit separat. Acest lucru a permis kubectl să fie decuplat de dependențele interne Kubernetes și a făcut mai ușor importarea codului în proiecte terțe.
  • Pătrundere
    • Au inceput schimbarea grupului API pentru Ingress în networking.v1beta1.
    • Adăugat câmpuri noi:
      • pathType, care vă permite să specificați cum va fi comparată calea din cerere
      • IngressClassName este un înlocuitor pentru adnotarea kubernetes.io/ingress.class, care este declarată depreciată. Acest câmp specifică numele obiectului special InressClass
    • Adăugat un obiect IngressClass, care indică numele controlerului de intrare, parametrii suplimentari ai acestuia și semnul utilizării lui implicit
  • serviciu
    • adăugat câmpul AppProtocol, în care puteți specifica ce protocol folosește aplicația
    • Tradus în stare beta și activat implicit EndpointSlicesAPI, care este un înlocuitor mai funcțional pentru Endpoint-urile obișnuite.
  • rețea
    • Sprijini IPv6 a fost mutat în starea beta.
  • Discuri permanente. Următoarea funcționalitate a fost declarată stabilă:
  • Configurarea aplicației
    • Pentru ConfigMap și obiecte Secret adăugat câmp nou „imuabil”. Setarea valorii câmpului la true previne modificarea obiectului.
  • Programator
    • Adăugat capacitatea de a crea profiluri suplimentare pentru kube-scheduler. Dacă anterior a fost necesar să rulați programatori separati suplimentari pentru a implementa algoritmi de distribuție a podului non-standard, acum este posibil să creați seturi suplimentare de setări pentru planificatorul standard și să specificați numele acestuia în același câmp de pod „.spec.schedulerName”. Stare - alfa.
    • Evacuare bazată pe pată declarat stabil
  • Scalare
    • Adăugat capacitatea de a specifica în manifestul HPA gradul de agresivitate la modificarea numărului de poduri care rulează, adică atunci când sarcina crește, lansați de N ori mai multe instanțe simultan.
  • kubelet
    • Manager de topologie a primit starea beta. Caracteristica permite alocarea NUMA, care evită degradarea performanței pe sistemele cu mai multe prize.
    • Stare beta am primit Funcția PodOverhead, care vă permite să specificați în RuntimeClass cantitatea suplimentară de resurse necesare pentru a rula podul.
    • Extins suport pentru HugePages, în stare alfa adăugată izolarea la nivel de container și suport pentru mai multe dimensiuni de pagini uriașe.
    • Șters punctul final pentru metrici /metrics/resource/v1alpha1, /metrics/resource este folosit în schimb
  • API
    • In cele din urma A fost eliminată capacitatea de a utiliza grupul API învechit apps/v1beta1 și extensii/v1beta1.
    • Aplicare ServerSide upgrade la starea beta2. Această îmbunătățire mută manipularea obiectelor de la kubectl la serverul API. Autorii îmbunătățirii susțin că aceasta va remedia multe erori existente care nu pot fi corectate în situația actuală. Au adăugat și o secțiune „.metadata.managedFields”, în care își propun să stocheze istoricul modificărilor obiectelor, indicând cine, când și ce anume s-a schimbat.
    • Anunțat API stabilă CertificateSigningRequest.
  • Suport platformă Windows.

Sursa: opennet.ru

Adauga un comentariu