Izdanje Kubernetesa 1.18, sustava za upravljanje klasterom izoliranih spremnika
Objavljeno puštanje platforme za orkestraciju kontejnera Kubernetes 1.18, koji vam omogućuje upravljanje klasterom izoliranih spremnika kao cjelinom i pruža mehanizme za implementaciju, održavanje i skaliranje aplikacija koje se izvode u spremnicima. Projekt je izvorno kreirao Google, ali je zatim prebačen na neovisnu stranicu koju nadzire Linux Foundation. Platforma je pozicionirana kao univerzalno rješenje koje je razvila zajednica, nije vezano za pojedinačne sustave i sposobno je raditi s bilo kojom aplikacijom u bilo kojem okruženju oblaka. Kubernetes kod je napisan u Go i distribuira licenciran pod Apache 2.0.
Pruža funkcije za implementaciju i upravljanje infrastrukturom, kao što su održavanje DNS baze podataka, uravnoteženje opterećenja,
distribucija spremnika među čvorovima klastera (migracija spremnika ovisno o promjenama u opterećenju i potrebama usluga), provjera stanja na razini aplikacije, upravljanje računom, ažuriranje i dinamičko skaliranje pokrenutog klastera, bez njegovog zaustavljanja. Moguće je postaviti grupe spremnika s operacijama ažuriranja i poništavanja za cijelu grupu odjednom, kao i logičnu podjelu klastera na dijelove s podjelom resursa. Postoji podrška za dinamičku migraciju aplikacija, za čiju pohranu podataka se mogu koristiti i lokalni i mrežni sustavi za pohranu podataka.
Izdanje Kubernetes 1.18 uključuje 38 promjena i poboljšanja, od kojih je 15 prebačeno u stabilan status, a 11 u beta status. Predloženo je 12 novih promjena u alfa statusu. Prilikom pripreme nove verzije podjednaki su napori bili usmjereni kako na doradu različitih funkcionalnosti i stabilizaciju eksperimentalnih mogućnosti, tako i na dodavanje novih dostignuća. Glavne promjene:
Kubectl
Dodano Alfa verzija naredbe "kubectl debug", koja vam omogućuje da pojednostavite otklanjanje pogrešaka u podovima pokretanjem kratkotrajnih spremnika s alatima za uklanjanje pogrešaka.
Proglašeno stabilnim naredba “kubectl diff”, koja vam omogućuje da vidite što će se promijeniti u klasteru ako primijenite manifest.
Uklonjeno svi generatori naredbe "kubectl run", osim generatora za pokretanje jednog modula.
Promijenjeno zastavica “--dry-run”, ovisno o njezinoj vrijednosti (klijent, poslužitelj i ništa), probno izvršavanje naredbe se izvodi na strani klijenta ili poslužitelja.
kubectl kod istaknuto u zasebno spremište. To je omogućilo da se kubectl odvoji od internih kubernetes ovisnosti i olakšalo je uvoz koda u projekte trećih strana.
Ulaz
Počeo mijenjanje API grupe za Ingress u umrežavanje.v1beta1.
pathType, koji vam omogućuje da odredite kako će se putanja u zahtjevu uspoređivati
IngressClassName je zamjena za napomenu kubernetes.io/ingress.class, koja je proglašena zastarjelom. Ovo polje navodi naziv posebnog objekta InressClass
Dodano objekt IngressClass, koji označava naziv ulaznog kontrolera, njegove dodatne parametre i znak korištenja prema zadanim postavkama
Servis
dodano polje AppProtocol, u kojem možete odrediti koji protokol aplikacija koristi
Prevedeno u beta statusu i omogućen prema zadanim postavkama EndpointSlicesAPI, koji je funkcionalnija zamjena za obične Endpoints.
Na ConfigMap i Secret objekte dodano novo polje "nepromjenjivo". Postavljanje vrijednosti polja na true sprječava modificiranje objekta.
Planer
Dodano mogućnost stvaranja dodatnih profila za kube-scheduler. Ako je ranije bilo potrebno pokrenuti dodatne odvojene planere za implementaciju nestandardnih algoritama distribucije pod-a, sada je moguće stvoriti dodatne skupove postavki za standardni planer i navesti njegov naziv u istom polju pod-a “.spec.schedulerName”. Status - alfa.
Dodano mogućnost specificiranja u HPA manifestu stupnja agresivnosti pri promjeni broja pokrenutih mahuna, odnosno, kada se opterećenje poveća, lansira N puta više instanci odjednom.
kubelet
Voditelj topologije dobio beta status. Značajka omogućuje NUMA dodjelu, čime se izbjegava degradacija performansi na sustavima s više utičnica.
Beta status primljen PodOverhead funkcija, koja vam omogućuje da u RuntimeClass odredite dodatnu količinu resursa potrebnih za pokretanje modula.
Prošireno Podrška za HugePages, izolacija na razini spremnika i podrška za višestruke veličine ogromnih stranica dodane su u alfa status.
Uklonjeno umjesto toga koristi se krajnja točka za metriku /metrics/resource/v1alpha1, /metrics/resource
API
Konačno Uklonjena je mogućnost korištenja zastarjele API grupe apps/v1beta1 i extensions/v1beta1.
Primjena na strani poslužitelja nadograđen na status beta2. Ovo poboljšanje premješta manipulaciju objektima s kubectla na API poslužitelj. Autori poboljšanja tvrde da će ovo popraviti mnoge postojeće greške koje se u trenutnoj situaciji ne mogu ispraviti. Također su dodali odjeljak “.metadata.managedFields”, u kojem predlažu pohranjivanje povijesti promjena objekta, naznačujući tko, kada i što je točno promijenio.