uvolnění platformy pro orchestraci kontejnerů , která umožňuje řídit cluster izolovaných kontejnerů jako celek a poskytuje mechanismy pro nasazení, údržbu a škálování aplikací běžících v kontejnerech. Projekt byl původně vytvořen společností Google, ale poté byl převeden na nezávislou platformu podporovanou organizací Linux Foundation. Platforma je prezentována jako komunitní řešení, které není vázáno na konkrétní systémy a může fungovat s jakýmikoli aplikacemi v jakýchkoli cloudových prostředích. Kód Kubernetes je napsán v Go a pod licencí Apache 2.0.
poskytuje funkce pro nasazení a správu infrastruktury, jako je správa DNS, vyvažování zátěže,
rozložení kontejnerů mezi uzly clusteru (migrování kontejnerů v závislosti na změnách zátěže a potřebách služeb), kontrola funkčnosti na úrovni aplikací, správa účtů, aktualizace a dynamické škálování běžícího clusteru bez jeho zastavení. Je možné nasazení skupin kontejnerů s prováděním operací aktualizací a vrácení změn najednou pro celou skupinu, stejně jako logické rozdělení clusteru na části s oddělením zdrojů. Podporována je dynamická migrace aplikací, pro ukládání jejich dat mohou být použity jak lokální úložiště, tak síťové úložné systémy.
Verze Kubernetes 1.18 obsahuje 38 změn a vylepšení, z nichž 15 bylo převedeno do stabilního stavu a 11 do beta stavu. 12 nových změn bylo navrženo v alfa stavu. Při přípravě nové verze byly veškeré úsilí zaměřeny jak na vylepšení různých funkcí a stabilizaci experimentálních možností, tak na přidání nových vývojů. Hlavní změny:
- Kubectl
- alfa-verze příkazu „kubectl debug“, který usnadňuje ladění v podech spuštěním efemérních kontejnerů s nástroji pro ladění.
- příkazu „kubectl diff“, který umožňuje zobrazit, co se změní v clusteru, pokud se použije manifest.
- všechny generátory příkazu „kubectl run“, kromě generátoru pro spuštění jediného podu.
- flag „—dry-run“, v závislosti na jeho hodnotě (client, server a none) se zkušební provedení příkazu provádí na straně klienta nebo serveru.
- Kód kubectl do samostatného repozitáře. To umožnilo oddělit kubectl od interních závislostí kubernetes a usnadnilo import kódu do externích projektů.
- Ingress
- změna skupiny API pro Ingress na networking.v1beta1.
- nové řádky:
- pathType, což umožňuje určit způsob, jakým bude cesta porovnávána v požadavku
- IngressClassName — náhrada za anotaci kubernetes.io/ingress.class, která byla označena jako zastaralá. V tomto poli se uvádí název speciálního objektu IngressClass
- objekt IngressClass, ve kterém se uvádí název ingresses kontroléru, jeho další parametry a znak použití jako výchozí
- Služba
- pole AppProtocol, ve kterém lze uvést, jaký protokol používá aplikace
- do stavu beta a zahrnut jako výchozí EndpointSlicesAPI, který je funkčnější náhradou za běžné Endpoints.
- Síť
- IPv6 byl převeden do stavu beta.
- Trvalé disky. Byla označena za stabilní následující funkcionalita:
- Konfigurace aplikace
- Do objektů ConfigMap a Secret nové pole „immutable“. Nastavení hodnoty tohoto pole na true zakazuje změnu objektu.
- Plánovač
- možnost vytvářet další profily pro kube-scheduler. Pokud bylo dříve nutné spouštět další samostatné plánovače pro implementaci nestandardních algoritmů rozdělování podů, nyní je možné vytvořit další sady nastavení pro standardní plánovač a uvést jeho název v poli podu „.spec.schedulerName“. Stav — alfa.
- byl označen za stabilní
- Škálování
- možnost uvést v manifestu HPA úroveň agresivity při změně počtu spuštěných podů, tedy při zvýšení zátěže spouštět okamžitě Nkrát více instancí.
- Kubelet
- obdržel status beta. Funkce zahrnuje NUMA rozložení, což umožňuje vyhnout se degradaci výkonu na vícenačelových systémech.
- Status beta Funkce PodOverhead, která umožňuje v RuntimeClass specifikovat dodatečné množství zdrojů potřebných pro spuštění podu.
- podpora HugePages, v alfa stavu byla přidána izolace na úrovni kontejneru a podpora více velikostí hugepages.
- endpoint pro metriky /metrics/resource/v1alpha1, místo toho se používá /metrics/resource
- API
- byla odstraněna možnost používat zastaralé API skupiny apps/v1beta1 a extensions/v1beta1.
- byla zvýšena na beta2. Toto vylepšení přesouvá manipulaci s objekty z kubectl na API server. Autoři vylepšení tvrdit, že to povede k opravě mnoha existujících chyb, které není možné opravit v aktuální situaci. Také přidali sekci „.metadata.managedFields“, ve které navrhují uchovávat historii změn objektu, včetně toho, kdo, kdy a co přesně změnil.
- stabilní CertificateSigningRequest API.
- Podpora platformy Windows.
- Pokračuje v rozšiřování podpora Windows nodu. Byly přidány alfa verze:
- Byla převedena podpora
- Pokračuje v rozšiřování podpora Windows nodu. Byly přidány alfa verze:
Zdroj: opennet.ru
