{"id":30272,"date":"2019-10-31T21:34:36","date_gmt":"2019-10-31T18:34:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\/"},"modified":"2019-10-31T21:34:36","modified_gmt":"2019-10-31T18:34:36","slug":"kubernetes-1-14-obzor-osnovnyh-novshestv","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","title":{"rendered":"Kubernetes 1.14: oversigt over hovednyhederne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes 1.14: oversigt over hovednyhederne\" src=\"\/wp-content\/uploads\/2019\/03\/8fb5be29668f55ec42d31eb47200b639.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI aften <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14#timeline\">i efter\u00e5ret i \u00e5r. Specifikt drejer det sig om version 69, som vil v\u00e6re tilg\u00e6ngelig i september. I ESR-versioner af Firefox vil Flash-underst\u00f8ttelsen blive opretholdt indtil slutningen af 2020. I de almindelige versioner kan man dog tvinge aktivering af Flash via about:config.<\/a><\/noindex> endnu en udgivelse af Kubernetes \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14\">1.14<\/a><\/noindex>. Som en tradition for vores blog, vil vi fort\u00e6lle om de vigtigste \u00e6ndringer i den nye version af dette fantastiske Open Source-produkt.<\/p>\n<p>Oplysningerne, der er brugt til at forberede dette materiale, er taget fra <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/u\/1\/d\/116X6E-lmDJG5UZPlqDAFw8hN9vS6SNY4qRNZ9fKtsMU\/edit#gid=0\">Kubernetes enhancements tracking tabel<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/blob\/release-1.14\/CHANGELOG-1.14.md\">CHANGELOG-1.14<\/a><\/noindex> og de relevante issues, pull requests, Kubernetes Enhancement Proposals (KEP).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Lad os begynde med en vigtig introduktion fra SIG cluster-lifecycle: <b>dynamiske fejltolerante klynger<\/b> Kubernetes (eller mere pr\u00e6cist, self-hosted HA deployments) kan nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/357\">oprettes<\/a><\/noindex> ved hj\u00e6lp af de velkendte (i forbindelse med enkelt-node klynger) kommandoer <code>kubeadm<\/code> (<code>init<\/code> og <code>sammenf\u00f8je<\/code>). Kort fortalt, for at g\u00f8re dette:<\/p>\n<ul>\n<li> de anvendte klyngecertifikater flyttes til hemmeligheder;<\/li>\n<li> for muligheden for at anvende etcd i K8s-klyngen (dvs. fjerne den eksisterende eksterne afh\u00e6ngighed) er <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/etcd-operator\">etcd-operator<\/a><\/noindex>;<\/li>\n<li> dokumenteret de anbefalede konfigurationer for en ekstern load balancer, der sikrer en fejltolerant konfiguration (muligheden for at fjerne denne afh\u00e6ngighed planl\u00e6gges senere, men ikke p\u00e5 nuv\u00e6rende tidspunkt).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: oversigt over hovednyhederne\" src=\"\/wp-content\/uploads\/2019\/03\/0e82b7e8db1ad117dc87f68fa4669431.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Architektur for HA-klyngen Kubernetes, oprettet med kubeadm<\/i><\/p>\n<p>Med detaljer om implementeringen kan findes i <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1P3oUJ_kdaRSTlGONujadGBpYegjn4RjBNZLHZ4zU7lI\/edit#\">design proposal<\/a><\/noindex>. Denne funktion har virkelig v\u00e6ret ventet: alpha-versionen blev forventet allerede i K8s 1.9, men den er f\u00f8rst kommet nu.<\/p>\n<h2>API<\/h2>\n<p>\nKommandoen <code>apply<\/code> og generelt <b>deklarativ styring af objekter<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/555\">er blevet flyttet<\/a><\/noindex> af <code>kubectl<\/code> til apiserver. Selve udviklerne forklarer kort deres beslutning ved, at <code>kubectl apply<\/code> \u2014 en grundl\u00e6ggende del af arbejdet med konfigurationer i Kubernetes, men \"fuld af fejl og sv\u00e6rt at rette\", hvorfor denne funktionalitet skal bringes i orden og flyttes til control plane. Enkle og klare eksempler p\u00e5 eksisterende problemer i dag:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: oversigt over hovednyhederne\" src=\"\/wp-content\/uploads\/2019\/03\/379b0d830491bbb0e7ac3c3ccfff71c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDetaljer om implementeringen \u2014 i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/0006-apply.md\">KEP<\/a><\/noindex>. Den nuv\u00e6rende beredskab \u2014 alpha-version (fremme til beta er planlagt til den n\u00e6ste udgivelse af Kubernetes).<\/p>\n<p>I alpha-versionen blev tilg\u00e6ngelig <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/692\">mulighed<\/a><\/noindex> for brugen af OpenAPI v3 skemaet til <b>oprettelse og publicering af OpenAPI-dokumentation for CustomResources<\/b> (CR), der bruges til validering (p\u00e5 serversiden) af K8s-ressourcer, der er defineret af brugeren (CustomResourceDefinition, CRD). Publicering af OpenAPI for CRD g\u00f8r det muligt for kunder (for eksempel, <code>kubectl<\/code>) at udf\u00f8re validering p\u00e5 deres egen side (inden for <code>kubectl create<\/code> og <code>kubectl apply<\/code>) og generere dokumentation for skemaet (<code>kubectl explain<\/code>). Detaljer \u2014 i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/00xx-publish-crd-openapi.md\">KEP<\/a><\/noindex>.<\/p>\n<p>De tidligere eksisterende logs <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74837\">\u00e5bnes nu<\/a><\/noindex> med flag <code>O_APPEND<\/code> (og ikke <code>O_TRUNC<\/code>) for at undg\u00e5 tab af logs i visse situationer og for nemheden ved at truncere logs med eksterne v\u00e6rkt\u00f8jer til rotation.<\/p>\n<p>I konteksten af Kubernetes API kan det ogs\u00e5 n\u00e6vnes, at i <code>PodSandbox<\/code> og <code>PodSandboxStatus<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73833\">er tilf\u00f8jet<\/a><\/noindex> feltet <code>runtime_handler<\/code> til at h\u00e5ndtere oplysninger om <code>RuntimeClass<\/code> i pod'en (l\u00e6s mere om det i teksten om <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424331\/\">Kubernetes version 1.12<\/a><\/noindex>, hvor denne klasse blev introduceret som en alpha-version), og i Admission Webhooks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74998\">er implementeret<\/a><\/noindex> muligheden for at definere, hvilke versioner <code>AdmissionReview<\/code> de underst\u00f8tter. Endelig kan reglerne for Admission Webhooks nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74477\">begr\u00e6nse<\/a><\/noindex> omfanget af deres anvendelse i namespace'er og klyngens rammer.<\/p>\n<h2>Lagringssystemer<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#local\"><code><b>VedvarendeLokaleVolumes<\/b><\/code><\/a><\/noindex>, som havde beta-status siden udgivelsen af <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353114\/\">K8s 1.10<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74769\">er blevet<\/a><\/noindex> stabile (GA): denne feature gate deaktiveres ikke l\u00e6ngere og vil blive fjernet i Kubernetes 1.17.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/559\">Mulighed<\/a><\/noindex> anvendelsen af milj\u00f8variabler fra det s\u00e5kaldte <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/inject-data-application\/downward-api-volume-expose-pod-information\/#capabilities-of-the-downward-api\">Downward API<\/a><\/noindex> (for eksempel, navnet p\u00e5 pod'en) til navne p\u00e5 mapper, der monteres som <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#using-subpath\"><code>subPath<\/code><\/a><\/noindex>, har f\u00e5et udvikling \u2014 i form af et nyt felt <code>subPathExpr<\/code>, hvormed det nu bestemmes, hvilket katalognavn der er n\u00f8dvendigt. Denne funktion blev f\u00f8rst introduceret i Kubernetes 1.11, men forblev i alpha-status i 1.14.<\/p>\n<p>Som i den forrige Kubernetes-udgivelse, er der mange betydelige \u00e6ndringer pr\u00e6senteret for den aktivt udviklende CSI (Container Storage Interface):<\/p>\n<h3>CSI<\/h3>\n<p>\nblev tilg\u00e6ngelig (i alpha-status) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/556\">underst\u00f8ttelse af<\/a><\/noindex> <b>\u00e6ndringer af st\u00f8rrelsen for CSI-volumener.<\/b>For at bruge den skal feature gate kaldet <code>ExpandCSIVolumes<\/code>aktiveres, samt at denne operation skal underst\u00f8ttes af den specifikke CSI-driver.<\/p>\n<p>Endnu en funktion for CSI i alpha-status \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/596\">mulighed<\/a><\/noindex> henvise direkte (dvs. uden brug af PV\/PVC) til CSI-volumener i specifikationen for pod'en. Dette <b>fjerner begr\u00e6nsningen omkring brugen af CSI som udelukkende eksterne datalagringssystemer<\/b>, og \u00e5bner d\u00f8rene for dem til <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes-csi.github.io\/docs\/ephemeral-local-volumes.html\">lokale tempor\u00e6re volumener.<\/a><\/noindex>For at bruge (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vladimirvivien\/kubernetes.github.io\/blob\/b78107abfdb2b5877973b84062d93cdf98ef1b9c\/content\/en\/docs\/concepts\/storage\/volumes.md#csi-ephemeral-volumes\">eksempel fra dokumentationen<\/a><\/noindex>) skal <code>CSIInlineVolume<\/code> feature gate aktiveres.<\/p>\n<p>Der er ogs\u00e5 sket fremskridt i \"indre\" dele af Kubernetes, relateret til CSI, som ikke er s\u00e5 synlige for slutbrugerne (systemadministratorer)\u2026 I \u00f8jeblikket er udviklerne n\u00f8dt til at underst\u00f8tte to versioner af hver lagringsplugin: en \u2014 \u201cden gamle m\u00e5de\u201d, inden for K8s kodebase (in-tree), og den anden \u2014 inden for den nye CSI <i>(l\u00e6s mere om det i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424211\/\">her<\/a><\/noindex>)<\/i>. Dette medf\u00f8rer forst\u00e5elige ulemper, som skal l\u00f8ses, i takt med at CSI stabiliseres som s\u00e5dan. Det er ikke muligt blot at erkl\u00e6re interne (in-tree) API'er for for\u00e6ldede (deprecated) p\u00e5 grund af <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/using-api\/deprecation-policy\/#deprecating-parts-of-the-api\">den relevante Kubernetes-politik<\/a><\/noindex>.<\/p>\n<p>Alt dette har f\u00f8rt til, at alpha-versionerne har n\u00e5et <b><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/625\">migrationsprocessen<\/a><\/noindex> den interne kode for plugins<\/b>, implementeret som in-tree, til CSI-plugins, hvilket betyder, at udviklernes bekymringer vil v\u00e6re begr\u00e6nset til at st\u00f8tte en version af deres plugins, samtidig med at kompatibilitet med gamle API'er bevares, s\u00e5 de kan erkl\u00e6res for\u00e6ldede efter det s\u00e6dvanlige scenarie. Det forventes, at alle plugins fra cloududbydere vil v\u00e6re migreret til n\u00e6ste Kubernetes-udgivelse (1.15), implementeringen vil f\u00e5 beta-status og aktiveres i K8s-installationer som standard. Se n\u00e6rmere i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/storage\/csi-migration.md\">design proposal<\/a><\/noindex>. F\u00f8lgen af denne migration er ogs\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74544\">afvisningen<\/a><\/noindex> af begr\u00e6nsninger for volumes, der defineres af specifikke cloududbydere (AWS, Azure, GCE, Cinder).<\/p>\n<p>Desuden er underst\u00f8ttelsen af block devices med CSI (<code>CSIBlockVolume<\/code>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74909\">f\u00f8rt<\/a><\/noindex> til beta-version.<\/p>\n<h2>Noder \/ Kubelet<\/h2>\n<p>\nDer er pr\u00e6senteret en alpha-version <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/727\">af det nye endpoint<\/a><\/noindex> i Kubelet, der er beregnet til <b>at returnere data om centrale ressourcer<\/b>. Generelt set, hvis Kubelet tidligere modtog statistikker om containerbrug fra cAdvisor, s\u00e5 kommer disse data nu fra containerens runtime gennem CRI (Container Runtime Interface), men der er ogs\u00e5 bevaret kompatibilitet til at arbejde med gamle versioner af Docker. Den statistik, der tidligere blev indsamlet i Kubelet, blev sendt via REST API, men nu anvendes et endpoint, som er tilg\u00e6ngeligt p\u00e5 adressen <code>\/metrics\/resource\/v1alpha1<\/code>. Den langsigtede strategi for udviklerne <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/68522\">g\u00e5r ud p\u00e5<\/a><\/noindex> at minimere m\u00e6ngden af m\u00e5lepunkter, der leveres af Kubelet. <i>For resten kaldes disse m\u00e5lepunkter <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/pull\/726\">nu<\/a><\/noindex> ikke \u00abcore metrics\u00bb, men \u00abresource metrics\u00bb, og beskrives som \u00abfirst-class resources, such as cpu, and memory\u00bb.<\/i><\/p>\n<p>Et bem\u00e6rkelsesv\u00e6rdigt detalje: p\u00e5 trods af den \u00e5benlyse ydelsesfordel ved gRPC-endpoint sammenlignet med forskellige anvendelser af Prometheus-formatet <i>(resultatet af et af benchmarkene, se nedenfor)<\/i>, foretr\u00e6kker forfatterne det tekstbaserede format fra Prometheus p\u00e5 grund af den \u00e5benlyse f\u00f8ring, som dette overv\u00e5gningssystem har i samfundet.<\/p>\n<blockquote><p><i>\u00abgRPC er ikke kompatibel med de prim\u00e6re overv\u00e5gningspipeline. Endpointen vil dog v\u00e6re nyttig kun til at levere metrics til Metrics Server eller overv\u00e5gningskomponenter, der integrerer direkte med den. Ved brug af caching i Metrics Server er ydelsen for tekstformatet Prometheus <b>tilstr\u00e6kkeligt god<\/b> for os til at foretr\u00e6kke Prometheus frem for gRPC, givet den brede udbredelse af Prometheus i samfundet. N\u00e5r formatet OpenMetrics bliver mere stabilt, kan vi n\u00e6rme os ydeevnen fra gRPC ved hj\u00e6lp af et proto-baseret format\u00bb.<\/i><\/p><\/blockquote>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: oversigt over hovednyhederne\" src=\"\/wp-content\/uploads\/2019\/03\/ad7e45b61fc4676a2df3c2d33d5688b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>En af sammenligningstestene af ydeevnen ved brug af formaterne gRPC og Prometheus i den nye endpoint for Kubelet til m\u00e5linger. Flere grafer og andre detaljer kan findes i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-node\/kubelet-resource-metrics-endpoint.md\">KEP<\/a><\/noindex>.<\/i><\/p>\n<p>Blandt andre \u00e6ndringer:<\/p>\n<ul>\n<li> Kubelet fors\u00f8ger nu (\u00e9n gang) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73802\">at stoppe<\/a><\/noindex> containere i ukendt tilstand (unknown) f\u00f8r genstarts- og sletningsoperationer.<\/li>\n<li> Ved brug af <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/podpreset\/\"><code>PodPresets<\/code><\/a><\/noindex> nu tilf\u00f8jes den samme information til init-containeren, som til den almindelige container. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71479\">Kubelet<\/a><\/noindex> er begyndt at bruge<\/li>\n<li> usageNanoCores <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73659\">fra CRI statistikprovider, og for noder og containere i Windows<\/a><\/noindex> <code>netv\u00e6rksstatistik.<\/code> Information om operativsystemet og arkitekturen registreres nu i labels <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74788\">tilf\u00f8jet<\/a><\/noindex> kubernetes.io\/os<\/li>\n<li> kubernetes.io\/arch <code>af Node-objekterne (oversat fra beta til GA).<\/code> og <code>Muligheden for at angive en specifik systemgruppe af brugere for containere i pod'en (<\/code> RunAsGroup<\/li>\n<li> Muligheden for at angive en specifik systemgruppe af brugere for containere i pod'en (<code>K8s 1.11<\/code>er g\u00e5et <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415349\/\">til beta-version (aktiveret som standard).<\/a><\/noindex>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73007\">du og find, der bruges i cAdvisor,<\/a><\/noindex> er blevet erstattet<\/li>\n<li> med Go-implementeringer. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74675\">CLI<\/a><\/noindex> I cli-runtime og kubectl<\/li>\n<\/ul>\n<p><\/p>\n<h2>flagen -k til integration med<\/h2>\n<p>\n(for \u00f8vrigt, dens udvikling foreg\u00e5r nu i et separat repository), det vil sige til behandling af ekstra YAML-filer fra specifikke direkt\u00f8rkustomiseringer (detaljer om brugen kan ses i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74140\">tilf\u00f8jet<\/a><\/noindex> Eksempel p\u00e5 enkel brug af filen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\"><b>kustomize<\/b><\/a><\/noindex> kustomization <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-cli\/kustomize-file-processing-integration.md\">KEP<\/a><\/noindex>):<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: oversigt over hovednyhederne\" src=\"\/wp-content\/uploads\/2019\/03\/e38550cfb642d81237aad4d87b9b3386.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>(mere kompleks anvendelse af kustomize mulig indenfor <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#kustomization\">overlays<\/a><\/noindex> Derudover: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#overlay\">den nye kommando<\/a><\/noindex>)<\/i><\/p>\n<p>kubectl create cronjob<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71651\">Tilf\u00f8jet<\/a><\/noindex> , hvis navn siger alt. <code>kubectl logs<\/code>kan nu<\/li>\n<li> I <code>kombineres<\/code> flags <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/67573\">--follow<\/a><\/noindex> til streaming af logs) og <code>-f<\/code> (<code>--selector<\/code> til label query). <code>-l<\/code> (<code>l\u00e6rt at<\/code> kopiere filer, der v\u00e6lges med wildcard.<\/li>\n<li> kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/72641\">I kommandoen<\/a><\/noindex> kubectl wait<\/li>\n<li> flag <code>--all<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70599\">tilf\u00f8jet<\/a><\/noindex> til at v\u00e6lge alle ressourcer i det angivne navnerum for den angivne ressource type. <code>Andre<\/code> Stabil (GA) status har f\u00e5et f\u00f8lgende funktioner:<\/li>\n<\/ul>\n<p><\/p>\n<h2>ReadinessGate<\/h2>\n<p>\nStable (GA) status har f\u00e5et f\u00f8lgende funktioner:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/pod-lifecycle\/#pod-readiness-gate\"><code>ReadinessGate<\/code><\/a><\/noindex>, der bruges i pod-specifikationen til at definere yderligere betingelser, der tages i betragtning ved pod'ens beredskab;<\/li>\n<li> Underst\u00f8ttelse af store sider (feature gate kaldet <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/manage-hugepages\/scheduling-hugepages\/\"><code>HugePages<\/code><\/a><\/noindex>);<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/dns-pod-service\/#pod-s-dns-config\">CustomPodDNS<\/a><\/noindex>;<\/li>\n<li> PriorityClass API, <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/pod-priority-preemption\/\">Pod Prioritet &amp; Pr\u00e6emption<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nAndre \u00e6ndringer pr\u00e6senteret i Kubernetes 1.14:<\/p>\n<ul>\n<li> RBAC-politikken giver ikke l\u00e6ngere adgang til API'en <code>discovery<\/code> og <code>access-review<\/code> for brugere uden autentifikation <i>(unauthenticated)<\/i>.<\/li>\n<li> Officiel underst\u00f8ttelse af CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/69940\">leveres<\/a><\/noindex> kun for Linux, s\u00e5 n\u00e5r du bruger kubeadm til at implementere (CoreDNS) i klyngen, skal noder kun k\u00f8re p\u00e5 Linux (til denne begr\u00e6nsning anvendes nodeSelectors).<\/li>\n<li> CoreDNS konfigurationen er nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73267\">bruger<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/coredns.io\/plugins\/forward\/\">forward-plugin<\/a><\/noindex> i stedet for proxy. Derudover i CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74137\">tilf\u00f8jet<\/a><\/noindex> readinessProbe, der forhindrer belastningsbalanceringen til de relevante (ikke klar til service) pod'er.<\/li>\n<li> I kubeadm, i faserne <code>init<\/code> eller <code>upload-certs<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73907\">er det blevet muligt<\/a><\/noindex> at uploade certifikater, der kr\u00e6ves for at forbinde den nye control-plane til kubeadm-certs hemmeligheden (bruger flaget <code>--experimental-upload-certs<\/code>).<\/li>\n<li> For Windows-installationer er der en alpha-version <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/689\">support<\/a><\/noindex> gMSA (Group Managed Service Account) \u2014 specielle konti i Active Directory, der kan bruges af containere.<\/li>\n<li> For GCE <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70144\">blev mTLS-kryptering mellem etcd og kube-apiserver aktiveret.<\/a><\/noindex> Opdateringer i det anvendte\/afh\u00e6ngige software: Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, underst\u00f8ttelse af Docker 18.09 i kubeadm, og den mindste underst\u00f8ttede version af Docker API blev 1.26.<\/li>\n<li> Kubernetes 1.13: oversigt over de vigtigste nyheder<\/li>\n<\/ul>\n<p><\/p>\n<h2>P.S.<\/h2>\n<p>\nL\u00e6s ogs\u00e5 p\u00e5 vores blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/432208\/\">Kubernetes 1.12: oversigt over de vigtigste nyheder<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/424331\/\">Kubernetes 1.11: oversigt over de vigtigste nyheder<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/415349\/\">Kubernetes 1.10: oversigt over de vigtigste nyheder<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353114\/\">Hvordan flytter, eksporterer og integrerer man meget store data hurtigt og billigt? Hvad er pushdown-optimering?<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/445196\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 Kubernetes \u2014 1.14. \u041f\u043e \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Kubernetes enhancements tracking, CHANGELOG-1.14 \u0438 \u0441\u043e\u043e\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 issues, pull requests, Kubernetes Enhancement Proposals (KEP). \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 SIG cluster-lifecycle: \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30272","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Kubernetes 1.14: \u043e\u0431\u0437\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:34:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kubernetes 1.14: oversigt over de vigtigste nyheder | ProHoster","description":"I aften","canonical_url":"https:\/\/prohoster.info\/da\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Kubernetes 1.14: \u043e\u0431\u0437\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432 | ProHoster","og:description":"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e","og:url":"https:\/\/prohoster.info\/da\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:34:36+00:00","article:modified_time":"2019-10-31T18:34:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30272","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 00:28:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:37:28","updated":"2026-01-21 00:28:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/30272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=30272"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/30272\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=30272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=30272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=30272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}