Kubernetes 1.14: Mga highlight sa kung unsa ang bag-o

Kubernetes 1.14: Mga highlight sa kung unsa ang bag-o

Karong gabii mahitabo sunod nga pagpagawas sa Kubernetes - 1.14. Sumala sa tradisyon nga naugmad alang sa among blog, naghisgot kami bahin sa hinungdanon nga mga pagbag-o sa bag-ong bersyon sa kini nga matahum nga produkto sa Open Source.

Ang impormasyon nga gigamit sa pag-andam niini nga materyal gikuha gikan sa Mga lamesa sa pagsubay sa mga pagpaayo sa Kubernetes, CHANGELOG-1.14 ug may kalabutan nga mga isyu, pull request, Kubernetes Enhancement Proposals (KEP).

Magsugod kita sa usa ka hinungdanon nga pasiuna gikan sa SIG cluster-lifecycle: dinamikong failover clusters Kubernetes (o sa mas tukma, self-hosted HA deployments) mao na karon mahimong mabuhat gamit ang pamilyar (sa konteksto sa single-node clusters) nga mga sugo kubeadm (init ΠΈ join). Sa laktud, alang niini:

  • ang mga sertipiko nga gigamit sa cluster gibalhin sa mga sekreto;
  • alang sa posibilidad sa paggamit sa etcd cluster sulod sa K8s cluster (ie pagkuha Isalikway sa kaniadto anaa sa gawas dependency) etcd-operator;
  • Idokumento ang girekomendar nga mga setting para sa external load balancer nga naghatag ug fault-tolerant nga configuration (sa umaabot giplanohan nga wagtangon kini nga dependency, apan dili niining yugtoa).

Kubernetes 1.14: Mga highlight sa kung unsa ang bag-o
Arkitektura sa Kubernetes HA cluster nga gihimo gamit ang kubeadm

Ang mga detalye sa pagpatuman makita sa sugyot sa disenyo. Kini nga bahin dugay nang gipaabot: ang alpha nga bersyon gipaabot balik sa K8s 1.9, apan nagpakita lang karon.

API

team apply ug sa kinatibuk-ang pagsulti pagdumala sa deklaratibo nga butang milabay gikan sa kubectl sa apiserver. Ang mga nag-develop mismo sa mubo nga pagpatin-aw sa ilang desisyon pinaagi sa pag-ingon niana kubectl apply - usa ka sukaranan nga bahin sa pagtrabaho sa mga pag-configure sa Kubernetes, bisan pa, "puno kini sa mga bug ug lisud nga ayohon," ug busa kini nga pagpaandar kinahanglan nga ibalik sa normal ug ibalhin sa kontrol nga eroplano. Yano ug tin-aw nga mga pananglitan sa mga problema nga anaa karon:

Kubernetes 1.14: Mga highlight sa kung unsa ang bag-o

Ang mga detalye bahin sa pagpatuman naa sa GIPANGITA ni KEP. Ang pagkaandam karon kay alpha (promosyon sa beta giplano alang sa sunod nga pagpagawas sa Kubernetes).

Gihimo nga magamit sa alpha nga bersyon oportunidad gamit ang OpenAPI v3 scheme para sa paghimo ug pagmantala sa OpenAPI nga dokumentasyon para sa CustomResources (CR), gigamit sa pag-validate (server-side) K8s user-defined resources (CustomResourceDefinition, CRD). Ang pagpatik sa OpenAPI para sa CRD nagtugot sa mga kliyente (e.g. kubectl) paghimo og validation sa imong kilid (sa sulod kubectl create ΠΈ kubectl apply) ug pag-isyu og dokumentasyon sumala sa laraw (kubectl explain). Mga Detalye - sa GIPANGITA ni KEP.

Nag-una nga mga troso karon nagbukas uban sa bandila O_APPEND (pero dili O_TRUNC) aron malikayan ang pagkawala sa mga troso sa pipila ka mga sitwasyon ug alang sa kasayon ​​​​sa pagputol sa mga troso nga adunay mga eksternal nga gamit alang sa rotation.

Usab sa konteksto sa Kubernetes API, matikdan nga sa PodSandbox ΠΈ PodSandboxStatus gidugang uma runtime_handler sa pagrekord sa impormasyon mahitungod sa RuntimeClass sa pod (basaha ang dugang bahin niini sa teksto bahin sa Ang Kubernetes 1.12 nga pagpagawas, diin kini nga klase nagpakita isip alpha version), ug sa Admission Webhooks gipatuman abilidad sa pagtino kung unsang mga bersyon AdmissionReview gisuportahan nila. Sa katapusan, ang mga lagda sa Admission Webhooks na karon mahimong limitado ang gilapdon sa ilang paggamit pinaagi sa mga namespace ug cluster frameworks.

Mga pasilidad sa pagtipig

PersistentLocalVolumes, nga adunay beta status sukad sa pagpagawas K8s 1.10, gipahibalo stable (GA): kini nga feature gate dili na disabled ug tangtangon sa Kubernetes 1.17.

Abilidad gamit ang environment variables nga gitawag Ubos nga API (pananglitan, ang pod nga ngalan) alang sa mga ngalan sa mga direktoryo nga gitaod isip subPath, naugmad - sa porma sa usa ka bag-ong uma subPathExpr, nga gigamit karon aron mahibal-an ang gusto nga ngalan sa direktoryo. Ang bahin sa sinugdan nagpakita sa Kubernetes 1.11, apan alang sa 1.14 nagpabilin kini sa status nga bersyon sa alpha.

Sama sa miaging pagpagawas sa Kubernetes, daghang mahinungdanong kausaban ang gipaila alang sa aktibong pagpalambo sa CSI (Container Storage Interface):

CSI

Nahimong magamit (isip bahin sa alpha nga bersyon) pagsuporta pag-usab sa gidak-on alang sa mga volume sa CSI. Aron magamit kini kinahanglan nimo nga i-enable ang feature gate nga gitawag ExpandCSIVolumes, ingon man ang pagkaanaa sa suporta alang niini nga operasyon sa usa ka piho nga drayber sa CSI.

Laing bahin alang sa CSI sa alpha nga bersyon - oportunidad direkta nga i-refer (i.e. nga walay paggamit sa PV/PVC) sa mga volume sa CSI sulod sa pod specification. Kini gitangtang ang pagdili sa paggamit sa CSI isip eksklusibo nga hilit nga pagtipig sa datos, nag-abli sa mga pultahan sa kalibutan alang kanila lokal nga ephemeral volume. Alang sa paggamit (pananglitan gikan sa dokumentasyon) kinahanglan nga mahimo CSIInlineVolume feature gate.

Adunay usab pag-uswag sa "internals" sa Kubernetes nga may kalabutan sa CSI, nga dili kaayo makita sa mga end user (system administrators) ... Sa pagkakaron, ang mga developers napugos sa pagsuporta sa duha ka bersyon sa matag storage plugin: usa - "sa daan", sulod sa K8s codebase (sa -tree), ug ang ikaduha - isip bahin sa bag-ong CSI (basaha ang dugang bahin niini, pananglitan, sa dinhi). Kini ang hinungdan sa masabtan nga mga kahasol nga kinahanglan nga sulbaron samtang ang CSI mismo nagpalig-on. Dili mahimo nga i-deprecate lang ang API sa internal (in-tree) nga mga plugins tungod sa may kalabutan nga palisiya sa Kubernetes.

Kining tanan misangpot sa kamatuoran nga ang alpha version nakaabot proseso sa paglalin internal nga plugin code, gipatuman isip in-tree, sa CSI plugins, salamat nga ang mga kabalaka sa mga developers mapakunhod ngadto sa pagsuporta sa usa ka bersyon sa ilang mga plugins, ug ang pagkaangay sa daan nga mga API magpabilin ug sila mahimong ideklarar nga wala na sa naandan nga senaryo. Gilauman nga sa sunod nga pagpagawas sa Kubernetes (1.15) ang tanan nga cloud provider plugins ibalhin, ang pagpatuman makadawat og beta status ug ma-activate sa K8s installations sa default. Alang sa mga detalye, tan-awa sugyot sa disenyo. Kini nga paglalin miresulta usab sa ΠΎΡ‚ΠΊΠ°Π· gikan sa mga limitasyon sa gidaghanon nga gihubit sa piho nga cloud providers (AWS, Azure, GCE, Cinder).

Dugang pa, suporta alang sa block device nga adunay CSI (CSIBlockVolume) gibalhin sa beta nga bersyon.

Nodes/Kubelet

Alpha nga bersyon gipresentar bag-ong endpoint sa Kubelet, gidisenyo alang sa ibalik ang mga sukatan sa yawe nga mga kapanguhaan. Sa kinatibuk-an nga pagsulti, kung ang Kubelet kaniadto nakadawat mga estadistika sa paggamit sa sudlanan gikan sa cAdvisor, karon kini nga datos gikan sa container runtime environment pinaagi sa CRI (Container Runtime Interface), apan ang pagkaangay sa pagtrabaho sa mga daan nga bersyon sa Docker gipreserbar usab. Kaniadto, ang mga estadistika nga nakolekta sa Kubelet gipadala pinaagi sa REST API, apan karon usa ka endpoint nga nahimutang sa /metrics/resource/v1alpha1. Long-term nga estratehiya sa mga developers naglangkob mao ang pagminus sa set sa metrics nga gihatag sa Kubelet. Pinaagi sa dalan, kini nga mga sukatan mismo karon nanawag sila dili "kinauyokan nga mga sukatan", apan "sukaranan sa kahinguhaan", ug gihulagway nga "unang klase nga mga kapanguhaan, sama sa cpu, ug memorya".

Usa ka makapaikag kaayo nga nuance: bisan pa sa tin-aw nga performance nga bentaha sa gRPC endpoint kon itandi sa lainlaing mga kaso sa paggamit sa Prometheus format (tan-awa ang resulta sa usa sa mga benchmark sa ubos), gipalabi sa mga tagsulat ang format sa teksto sa Prometheus tungod sa klaro nga pagpangulo niining sistema sa pagmonitor sa komunidad.

"Ang gRPC dili compatible sa mga mayor nga monitoring pipelines. Mapuslan lang ang Endpoint sa paghatud sa mga sukatan sa Metrics Server o pag-monitor sa mga sangkap nga direktang nag-integrate niini. Ang pasundayag sa format sa teksto sa Prometheus kung gigamit ang caching sa Metrics Server maayo nga igo aron atong palabihon ang Prometheus kay sa gRPC tungod sa kaylap nga pagsagop sa Prometheus sa komunidad. Sa higayon nga ang OpenMetrics format mahimong mas lig-on, kita makahimo sa pagduol sa gRPC performance uban sa usa ka proto-based nga format.

Kubernetes 1.14: Mga highlight sa kung unsa ang bag-o
Usa sa mga comparative performance tests sa paggamit sa gRPC ug Prometheus formats sa bag-ong Kubelet endpoint para sa metrics. Dugang nga mga graph ug uban pang mga detalye makita sa GIPANGITA ni KEP.

Lakip sa ubang mga pagbag-o:

  • Kubelet karon (usa ka higayon) naningkamot sa paghunong mga sudlanan sa usa ka wala mailhi nga kahimtang sa wala pa i-restart ug tangtangon ang mga operasyon.
  • Sa paggamit PodPresets karon sa init nga sudlanan gidugang parehas nga impormasyon sama sa usa ka regular nga sudlanan.
  • kubelet nagsugod sa paggamit usageNanoCores gikan sa CRI statistics provider, ug para sa mga node ug container sa Windows gidugang estadistika sa network.
  • Ang impormasyon sa operating system ug arkitektura karon natala sa mga label kubernetes.io/os ΠΈ kubernetes.io/arch Mga butang sa node (gibalhin gikan sa beta ngadto sa GA).
  • Abilidad sa pagtino sa usa ka piho nga grupo sa tiggamit sa sistema alang sa mga sudlanan sa usa ka pod (RunAsGroup, nagpakita sa K8s 1.11) abante sa wala pa ang beta (gipaandar pinaagi sa default).
  • du ug pangitaa nga gigamit sa cAdvisor, gipulihan on Go pagpatuman.

CLI

Sa cli-runtime ug kubectl gidugang -k flag para sa integration sa ipahiangay (sa dalan, ang pag-uswag niini karon gihimo sa usa ka bulag nga repositoryo), i.e. aron maproseso ang dugang nga mga file sa YAML gikan sa espesyal nga mga direktoryo sa kustomization (alang sa mga detalye sa paggamit niini, tan-awa GIPANGITA ni KEP):

Kubernetes 1.14: Mga highlight sa kung unsa ang bag-o
Pananglitan sa yano nga paggamit sa file pagpahiangay (usa ka mas komplikado nga aplikasyon sa kustomize posible sa sulod ang nagaobra)

Dugang pa:

  • Gidugang bag-ong team kubectl create cronjob, kansang ngalan nagsulti alang sa iyang kaugalingon.
  • Π’ kubectl logs karon mahimo nimo aron managsama mga bandera -f (--follow alang sa streaming logs) ug -l (--selector alang sa pangutana sa label).
  • kubectl nagtudlo kopyaha ang mga file nga gipili pinaagi sa wild card.
  • Sa team kubectl wait gidugang bandera --all aron mapili ang tanan nga mga kapanguhaan sa namespace sa piho nga tipo sa kapanguhaan.

Ang uban

Ang mosunod nga mga kapabilidad nakadawat og stable (GA) nga kahimtang:

Ang ubang mga pagbag-o nga gipaila sa Kubernetes 1.14:

  • Ang default nga polisiya sa RBAC dili na motugot sa API access discovery ΠΈ access-review tiggamit nga walay authentication (wala gipamatud-an).
  • Opisyal nga suporta sa CoreDNS gisiguro Linux lamang, mao nga kung gamiton ang kubeadm aron i-deploy kini (CoreDNS) sa usa ka cluster, ang mga node kinahanglan nga modagan lamang sa Linux (nodeSelectors ang gigamit alang niini nga limitasyon).
  • Default nga CoreDNS configuration mao na karon naggamit unahan nga plugin imbes nga proxy. Usab, sa CoreDNS gidugang ReadinessProbe, nga nagpugong sa pagbalanse sa load sa angay (dili andam sa serbisyo) pod.
  • Sa kubeadm, sa mga hugna init o upload-certs, nahimong posible load ang mga sertipiko nga gikinahanglan aron makonektar ang bag-ong control-plane sa kubeadm-certs secret (gamita ang bandila --experimental-upload-certs).
  • Usa ka alpha nga bersyon ang nagpakita alang sa Windows installations suporta gMSA (Group Managed Service Account) - espesyal nga mga account sa Active Directory nga magamit usab sa mga sudlanan.
  • Alang sa G.C.E. gi-activate mTLS encryption tali sa etcd ug kube-apiserver.
  • Mga update sa gigamit/nagsalig nga software: Lakaw 1.12.1, CSI 1.1, CoreDNS 1.3.1, Docker 18.09 nga suporta sa kubeadm, ug ang minimum nga gisuportahan nga Docker API nga bersyon karon 1.26.

PS

Basaha usab sa among blog:

Source: www.habr.com

Idugang sa usa ka comment