Kubernetes 1.16: Quisque ornare quid novi

Kubernetes 1.16: Quisque ornare quid novi

hodie, mercurii; tenendum proximam emissionem Kubernetes - 1.16. Secundum traditionem quae pro nostro diario processit, hoc decumo anniversario tempore loquimur de notissimis mutationibus in nova versione.

Informationes usus ad hanc materiam praeparandam sumta est Kubernetes enhancements tracking tables, Changelog-1.16 et quaestiones cognatae, petitiones collige, et proposita Kubernetes amplificatio (KEP). Eamus igitur!

Noctes

Innovationum notabilium numerus vere magnus (in alpha versionis status) sistitur in latere nodis K8s botri (Kubelet).

Uno modo, quod dicitur Β«durantia vasaΒ» (Ephemeral Containers), Debugging simpliciorem reddere processibus in legumine. Novus mechanismus permittit ut specialia vasa mitteres quae sub nomine siliquae existendi et paulisper vivebant. Propositum eorum est cum aliis siliquis et vasis ad solvendas quaslibet difficultates et debug. Novum mandatum ad haec factura implemented est kubectl debug, similis essentia est kubectl exec: Tantum pro processu currit in vase (sicut in exec) vas in vasculum immittit. Exempli gratia, hoc mandatum novum vasculum cum vasculo coniunget:

kubectl debug -c debug-shell --image=debian target-pod -- bash

Singula de vasis ephemeralibus (et exemplis eorum usus) reperiri possunt correspondentes KEP. Praesens exsecutio (in K8s 1.16) versio alpha est, et inter criteria translationis ad versionem betam est "temptare Ephemeralia API pro emissione 2 saltem [Kubernetes]."

NB: Pluma in essentia sua et etiam nomine suo assimilatur plugin iam existenti kubectl-debugde quo nos iam scripsit. Optandum est, adveniente vasis ephemeralibus, progressum plugin externum separatum cessaturum esse.

Alia innovatio - PodOverhead - disposito providere mechanism pro colligendis caput costs pro siliquaequi variare multum pro temporis usu. Exemplum, auctores hoc KEP resultare in Kata Vasis, quae requirunt nucleum hospitem, kata agentis, systema init, etc. Cum supra caput ita magnum fit, ignorari non potest, quod significat necesse est esse rationem habendam ulterius quotas, consilio, etc. Ad efficiendum in PodSpec ager additae Overhead *ResourceList (Conparat data in * RuntimeClasssi una adhibetur).

Alius innovatio insignis est nodi topology procurator (Node Acta Procurator)destinavit accessum ad bene-tuntionem augendam destinatio subsidiorum ferrariorum pro variis componentibus in Kubernetes. Hoc inceptum urgetur crescente necessitate variarum systematum modernorum (ex campo telecommunicationum, machinarum doctrinarum, operarum nummariarum, etc.) ad altas operas parallelas computandi et extenuandi moras in operationibus execu- tione, pro quibus CPU et provectis utuntur. hardware accelerationis facultatem. Tales optimizationes in Kubernetes actenus peractae sunt propter disparatis componentibus (CPU procurator, procurator Fabricae, CNI), et nunc adicientur unum internus internus, qui accessum coniungat et nexum novorum similium - sic dictarum topology- simplicet. vei - tium in Kubelet parte. Singula - in correspondentes KEP.

Kubernetes 1.16: Quisque ornare quid novi
Acta Procurator Component Diagram

Proxima pluma - reprehendo vasa dum currunt (satus specillum). Ut scis, de vasis quae longum tempus ad deducendum capiunt, difficile est ut statutum hodiernum obtineant: aut "occisi" sunt antequam actu inciperent, aut in deadlock diu finiunt. Novum reprehendo (enabled per pluma porta dicta StartupProbeEnabled) destruit - immo differt - cuiuslibet alterius impedimenti effectum usque ad momentum leguminis currens finivit. Quam ob rem principaliter appellatum est pluma pod-satus vita-inquirere holdoff. Siliquae enim quae longum tempus ad satus capiunt, in comparatione brevi temporis intervallis rempublicam tondere potes.

Praeterea emendatio RuntimeClass statim praesto est in statu betae, addens auxilium pro "botris heterogeneis". C RuntimeClass Scheduling Nunc non est omnino necessarium singulis nodi singulis RuntimeClass sustentationem habere: siliquas enim eligere potes RuntimeClass sine cogitatione topologiae botri. Antea ad hoc assequendum - ut siliquae in nodis finiantur subsidio ad omnia quae egent - necesse fuit opportunas regulas NodeSelectori et tolerationes assignare. IN' CAP De usu et exemplis sic loquitur, sane singula exsequenda.

network

Duae notae retiaculae significantes quae primum apparuerunt (per versionem alpha) in Kubernetes 1.16 sunt:

  • Support dual network acervus - IPv4/IPv6 - eiusque respondet "intellectus" in ambitu siliquarum, nodi, officiorum. Includit IPv4-ad-IPv4 et IPv6-ad-IPv6 interoperabilitatem inter siliquas, ab siliquas ad officia externa, exsecutiones referentias (intra pontem CNI, PTP CNI et Hostiam-Locum IPAM plugins), ac vicissim Compatible cum racemis Kubernetes IPv4 vel IPv6 tantum. Exsequendam singula sunt in CAP.

    Exemplum proponendi IP inscriptiones duorum generum (IPv4 et IPv6) in indice siliquarum:

    kube-master# kubectl get pods -o wide
    NAME               READY     STATUS    RESTARTS   AGE       IP                          NODE
    nginx-controller   1/1       Running   0          20m       fd00:db8:1::2,192.168.1.3   kube-minion-1
    kube-master#

  • Nova API ad Endpoint - EndpointSlice API. Solvit quaestiones perficiendi/scalability existentis Endpoint API, qui varias partes in re-plano (apiservis, etc. Novus API ad Inventionis API coetus addetur et in singulis ministeriis in botro constans milia nodi poterit ministrare decem milia terminorum punctorum retrogradorum. Ad hoc unumquodque Officium provisum est ad N objecta EndpointSlicequorum unumquodque per defaltam non plus quam 100 terminos habet (pretii configurabilis). API EndpointSlice etiam occasiones futurae suae progressionis praebebit: subsidium multiplex IP inscriptiones pro singulis vasculis, novis civitatibus pro terminis (non solum Ready ΠΈ NotReady), dynamica subsetting pro terminis.

Illa quae in novissima emissione pervenit ad versionem beta finaliser, nomine service.kubernetes.io/load-balancer-cleanup et coniuncta cuiusque generis LoadBalancer. In tempore tale servitium delendi impedit ipsam deletionem subsidii donec "mundum" omnium facultatum librariorum pertinentium compleatur.

API Machinery

Realis "miliarius stabilis" est in finibus Kubernetorum API servitoris et commercii cum eo. Hoc factum est late gratias ad statum firmum transferendo eos qui speciali introductione non egent CustomResourceDefinitions (CRD), quae beta statum habuit ab Kubernetibus 1.7 diebus distantibus (et hoc est Iunii 2017!). Eadem stabilitas accessit ad lineamenta cognata:

  • "subresources" ex /status ΠΈ /scale for CustomResources;
  • transformatio versiones pro CRD, telae externa innixae;
  • nuper presented (In K8s 1.15) default values (default) et in ipso agro remotionem (putatio) for CustomResources;
  • potestatem Schema OpenAPI v3 utens ad creandum et edendum Documenta OpenAPI ad convalidandum CRD facultates in calculonis servi.

Aliud mechanismum quod iam pridem administratoribus Kubernetibus familiariter factus est; admissio webhook - etiam in beta statu diu permansit (ex quo K8s 1.9) et nunc stabulum declaratum est.

Duae aliae notae betae attigerunt: server, latus applicare ΠΈ vigilate bookmarks.

Et solum innovatio significativa in versione alpha erat defectum, ex SelfLink - specialis URI representing certum obiectum et ens pars ObjectMeta ΠΈ ListMeta (i.e. partem alicujus rei in Kubernetes). Cur eam deseris? Causam simpliciter sonos ut absentia verae (praegrandis) rationes huius campi adhuc exstent. Plures rationes formales perficiendi sunt ad optimize faciendum (ablato agro supervacaneo) et simpliciorem opus apiseratoris generici, quod peculiari modo talem agrum tractare cogatur (hoc est solum campus qui ante obiectum positus est. serialized). Vera obsolescentia (in beta) SelfLink fiet a Kubernetes versione 1.20, et finali - 1.21.

notitia repono

Praecipuum opus in repono, sicut in superioribus solvo, observatur in area CSI auxilium. Praecipuae mutationes hic erant:

  • primum (per alpha version) apparuit CSI plugin auxilium pro Fenestra operarius lymphaticorum: current modus operandi cum repositione etiam plugins in arbore in Kubernetes nucleo et FlexVolume plugins repone ex Microsoft innixus Powershell;

    Kubernetes 1.16: Quisque ornare quid novi
    Schema exsequendi CSI plugins in Kubernetes pro Fenestra

  • potestatem resizing CSI voluminain K8s 1.12 invexit, ad beta versionem excrevit;
  • Similis "promotio" (ab alpha ad beta) consecuta est facultatem utendi CSI ad libros ephemerales locales creandi (.CSI Inline Volume Support).

Introductio in priorem versionem Kubernetes volumen exquisitis functionibus (Per existentium PVC ut DataSource creare novum PVC) etiam nunc beta statum accepit.

Scheduler

Duae notabiles mutationes scheduling (utraque in alpha);

  • EvenPodsSpreading - occasio uti siliquas pro logica applicatione unitates pro "aequa distributione" onerat (sicut instruere et ReplicaSet) et hanc distributionem accommodare (velut difficile postulationem vel conditionem mollem, i.e. prioritatem). Pluma distributio existentium facultates siliquas cogitavit, nunc per optiones limitata PodAffinity ΠΈ PodAntiAffinitydans administratores imperium in hac re melius, quod melius significat optimam promptitudinem et consummationem resource optimized. Singula - in CAP.
  • usum BestFit Policy Π² RequestedToCapacityRatio prioritate Function durante vasculo consilio, quod permitteret adhibere bin sarcina ("sarcina in vasis") tam praecipuae facultates (processus, memoriae) et extensae (sicut GPU). For more details, see CAP.

    Kubernetes 1.16: Quisque ornare quid novi
    Siliquas scheduling: ante consilium optimum apta utens (protinus per default scheduler) et cum eius usu (per extensionem scheduler)

Praeterea, provisum facultas creandi tua cedularum plugins extra principale Kubernetes evolutionis arboris (ex-of-arbor).

aliae mutationes

Etiam in Kubernetibus 1.16 notare potes marte for * adductio praesto metrics in plena ordineaut pressius, secundum publica judicia ad K8s instrumentis. Illi multum confidunt in correspondentes Prometheus documentum. Inconstantiae ob varias causas ortae sunt (exempli gratia quaedam metri simpliciter creatae ante instructiones praesentes) et tincidunt constituerunt tempus esse omnia ad unum vexillum deducere, "secundum reliquam partem Promethei oecosystematis". Praesens exsecutio huius incepti in alpha status est, qui gradatim promovebitur in subsequentibus versionibus Kubernetes ad beta (1.17) et stabilis (1.18).

Praeterea sequentes mutationes notari possunt;

  • Fenestrae progressionis firmamentum с aspectum Kubeadm utilitates huic OS (versio alpha); occasio RunAsUserName pro Fenestra continentia (versio alpha); melius Group Managed Service Account (gMSA) support up to beta version, auxilium Mount/attach for vSphere volumes.
  • Recycled notitia compressionem mechanism in API respondeo. Antea HTTP colum ad haec adhibita est, quae plures restrictiones imposuit quae impedirent quominus per defaltam posset. "Perspicuus postulatio compressionis" nunc operatur: clientes mittens Accept-Encoding: gzip in capite, responsionem compressam GZIP recipiunt, si magnitudo eius 128 KB excedit. Ite clientes automatice compressionem sustinent (capitulum requisitum mittit), ut statim reductionem in mercatura animadvertent. (Moderationes leves aliis linguis necessariae).
  • fieri potest scalas HPA a / ut nulla siliquae secundum externa metrics. Si scandas in objectis/externas metris fundatum, tunc cum laboribus vacant, automatice ad 0 replicas ad facultates salvandas automatice conscendere potes. Pluma haec maxime utilis esse debet in casibus in quibus opifices opes GPU petunt, et numerus diversorum operariorum otiosorum numerum GPUs promptorum excedit.
  • Novus cliens - k8s.io/client-go/metadata.Client - nam "communis" accessus ad obiecta. Hoc natum est ut metadata facile recuperare (i.e. subsection metadata) e gregariis opibus et purgamenta congeriem et quota opera cum illis faciunt.
  • aedificare Kubernetes nunc potes sine legato ("in arbore in-structum) nubes aliqua (versio alpha).
  • Ad kubeadm utilitatem additae experimentalem (versio alpha) facultatem adhibere in res orci customize init, join ΠΈ upgrade. Disce magis quomodo uti vexillum --experimental-kustomizeVide in CAP.
  • Novus terminus pro apiserver - readyz, - permittit te informationes exportare de promptitudine eius. Etiam nunc servo API vexillum est --maximum-startup-sequence-durationpermittens te eius restarts regere.
  • duo features pro caeruleus declaravit firmum: auxilio disponibilitate zonis (Disponibilitate Zonae) et crucis resource group (RG). praeterea Azure adiecit:
  • AWS nunc habet auxilium nam EBS in Fenestra et optimized EC2 API vocat DescribeInstances.
  • Kubeadm nunc independens migrat Configuratio CoreDNS cum upgrading in CoreDNS versio.
  • Binarii etc in correspondentes Docker imaginem factum mundus exsecutabilis, qui permittit ut hanc imaginem currere sine iurium radicis necessitate. Item, migratio imaginis etc substitit etcd2 versioni auxilio.
  • Π’ Botrus Autoscaler 1.16.0 switched ad utens diffidens ut basis imaginis, effectus melioris, novas nubes provisores addidit (DigitalOcean, Magnum, Packet).
  • Renovationes in programmate adhibito/dependens: Go 1.12.9, etc 3.3.15, CoreDNS 1.6.2.

PS

Lege etiam in nostro diario:

Source: www.habr.com