{"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\/nl\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","title":{"rendered":"Kubernetes 1.14: overzicht van de belangrijkste vernieuwingen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes 1.14: overzicht van de belangrijkste vernieuwingen\" src=\"\/wp-content\/uploads\/2019\/03\/8fb5be29668f55ec42d31eb47200b639.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVanavond <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14#timeline\">plaatsvinden<\/a><\/noindex> is weer een nieuwe release van Kubernetes \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14\">1.14<\/a><\/noindex>. Volgens de traditie van onze blog bespreken we de belangrijkste veranderingen in deze nieuwe versie van dit geweldige Open Source-product.<\/p>\n<p>De informatie die is gebruikt voor de voorbereiding van dit materiaal, is afkomstig van <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/u\/1\/d\/116X6E-lmDJG5UZPlqDAFw8hN9vS6SNY4qRNZ9fKtsMU\/edit#gid=0\">de 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> en de bijbehorende issues, pull requests, Kubernetes Enhancement Proposals (KEP).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Laten we beginnen met een belangrijke introductie van SIG cluster-lifecycle: <b>dynamische fouttolerante clusters<\/b> Kubernetes (of, om het preciezer te zeggen, self-hosted HA deployments) kan nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/357\">worden gemaakt<\/a><\/noindex> met behulp van de vertrouwde (in de context van single-node clusters) commando's <code>kubeadm<\/code> (<code>, wat erg handig is. Bovendien kunnen meerdere configuraties worden geschreven: ontwikkelen op de standaardconfiguratie, en daarna implementeren met het commando<\/code> en <code>join<\/code>). In het kort, om dit te doen:<\/p>\n<ul>\n<li> worden de door de cluster gebruikte certificaten overgebracht naar secrets;<\/li>\n<li> om het gebruik van etcd binnen de K8s-cluster mogelijk te maken (d.w.z. om de tot nu toe bestaande externe afhankelijkheid te elimineren) is er gebruikgemaakt van <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/etcd-operator\">etcd-operator<\/a><\/noindex>;<\/li>\n<li> de aanbevolen configuraties voor een externe load balancer die een fouttolerante configuratie biedt, worden gedocumenteerd (uiteindelijk is het de bedoeling deze afhankelijkheid ook te kunnen opheffen, maar niet in deze fase).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: overzicht van de belangrijkste vernieuwingen\" src=\"\/wp-content\/uploads\/2019\/03\/0e82b7e8db1ad117dc87f68fa4669431.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>HA-clusterarchitectuur van Kubernetes, gemaakt met kubeadm<\/i><\/p>\n<p>Voor meer details over de implementatie, zie <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1P3oUJ_kdaRSTlGONujadGBpYegjn4RjBNZLHZ4zU7lI\/edit#\">design proposal<\/a><\/noindex>. Deze functie was echt langverwacht: de alfa-versie werd al verwacht in K8s 1.9, maar is pas nu verschenen.<\/p>\n<h2>API<\/h2>\n<p>\nOpdracht <code>apply<\/code> en in het algemeen <b>declaratieve objectbeheer<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/555\">zijn verplaatst<\/a><\/noindex> uit <code>kubectl<\/code> naar apiserver. De ontwikkelaars leggen hun beslissing kort uit met de opmerking dat <code>kubectl apply<\/code> een fundamenteel onderdeel is van het werken met configuraties in Kubernetes, maar \"vol met bugs is en moeilijk te corrigeren\", daarom moet deze functionaliteit worden gefixt en naar het control plane worden verplaatst. Eenvoudige en heldere voorbeelden van bestaande problemen zijn:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: overzicht van de belangrijkste vernieuwingen\" src=\"\/wp-content\/uploads\/2019\/03\/379b0d830491bbb0e7ac3c3ccfff71c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDetails over de implementatie zijn te vinden in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/0006-apply.md\">KEP<\/a><\/noindex>. De huidige gereedheid is alfa-versie (de promotie naar beta is gepland voor de volgende release van Kubernetes).<\/p>\n<p>In de alfa-versie is het mogelijk geworden <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/692\">de mogelijkheid<\/a><\/noindex> de OpenAPI v3-schema voor <b>te gebruiken voor het cre\u00ebren en publiceren van OpenAPI-documentatie voor CustomResources<\/b> (CR) die worden gebruikt voor de validatie (aan serverzijde) van door gebruikers gedefinieerde K8s-resources (CustomResourceDefinition, CRD). De publicatie van OpenAPI voor CRD stelt klanten (bijvoorbeeld, <code>kubectl<\/code>) in staat om validatie aan hun zijde uit te voeren (binnen <code>kubectl create<\/code> en <code>kubectl apply<\/code>) en documentatie over het schema te verstrekken (<code>kubectl explain<\/code>). Voor meer details, zie <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 eerder bestaande logs <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74837\">worden nu geopend<\/a><\/noindex> met de vlag <code>O_APPEND<\/code> (en niet <code>O_TRUNC<\/code>) om te voorkomen dat logs in bepaalde situaties verloren gaan en voor het gemak van het trunceren van logs met externe hulpprogramma's voor rotatie.<\/p>\n<p>Daarnaast kan in de context van de Kubernetes API worden opgemerkt dat <code>PodSandbox<\/code> en <code>PodSandboxStatus<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73833\">is toegevoegd<\/a><\/noindex> veld <code>runtime_handler<\/code> voor het bijhouden van informatie over <code>RuntimeClass<\/code> in pod (meer over dit onderwerp leest u in de tekst over <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424331\/\">Kubernetes release 1.12<\/a><\/noindex>, waar deze klasse als een alfa-versie is ge\u00efntroduceerd), en in Admission Webhooks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74998\">ge\u00efmplementeerd<\/a><\/noindex> de mogelijkheid om te bepalen welke versies <code>AdmissionReview<\/code> ze ondersteunen. Ten slotte kunnen in de regels voor Admission Webhooks nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74477\">de toepassingsomvang worden beperkt tot namespaces en clustergrenzen.<\/a><\/noindex> de schalen van hun toepassing met namespace's en clustergrenzen.<\/p>\n<h2>, die de status b\u00e8taversie had vanaf de release<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#local\"><code><b>PersistenteLokaleVolumes<\/b><\/code><\/a><\/noindex>K8s 1.10 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353114\/\">zijn aangekondigd<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74769\">stabiel (GA): deze feature gate kan niet meer worden uitgeschakeld en zal worden verwijderd in Kubernetes 1.17.<\/a><\/noindex> het gebruik van omgevingsvariabelen van het zogenaamde<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/559\">Mogelijkheid<\/a><\/noindex> Downward API <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/inject-data-application\/downward-api-volume-expose-pod-information\/#capabilities-of-the-downward-api\">bijvoorbeeld de naam van de pod voor de namen van mappen die als<\/a><\/noindex> (bijvoorbeeld de naam van de pod) voor de namen van mappen die worden gemonteerd als <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#using-subpath\"><code>subPath<\/code><\/a><\/noindex>subPathExpr <code>, waarmee nu de benodigde naam van de map wordt bepaald. Deze functie is oorspronkelijk ge\u00efntroduceerd in Kubernetes 1.11, maar bleef ook in 1.14 in de status van alfa-versie.<\/code>Net als in de vorige release van Kubernetes zijn er veel significante wijzigingen gepresenteerd voor CSI (Container Storage Interface), dat zich actief ontwikkelt:<\/p>\n<p>De beschikbaarheid van<\/p>\n<h3>CSI<\/h3>\n<p>\ngroottewijzigingen voor CSI-volumes is gemaakt (in alfa-status). <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/556\">ondersteuning voor<\/a><\/noindex> <b>Voor gebruik is het inschakelen van de feature gate genaamd<\/b>ExpandCSIVolumes <code>vereist, evenals dat deze bewerking wordt ondersteund door de specifieke CSI-driver.<\/code>Een andere functie voor CSI in alfa-status is<\/p>\n<p>directe verwijzing (d.w.z. zonder het gebruik van PV\/PVC) naar CSI-volumes binnen de specificatie van pods. Dit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/596\">de mogelijkheid<\/a><\/noindex> rechtstreeks (d.w.z. zonder het gebruik van PV\/PVC) naar CSI-volumes binnen de specificatie van pods. Dit <b>en opent de deuren voor hen naar de wereld van<\/b>lokale ephemere volumes. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes-csi.github.io\/docs\/ephemeral-local-volumes.html\">Voor gebruik (<\/a><\/noindex>) moet<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vladimirvivien\/kubernetes.github.io\/blob\/b78107abfdb2b5877973b84062d93cdf98ef1b9c\/content\/en\/docs\/concepts\/storage\/volumes.md#csi-ephemeral-volumes\">voorbeeld uit de documentatie<\/a><\/noindex>de feature gate <code>CSIInlineVolume<\/code> worden ingeschakeld.<\/p>\n<p>Er is vooruitgang geboekt en in de \"binnenkant\" van Kubernetes, gerelateerd aan CSI, die niet zo zichtbaar is voor eindgebruikers (systeembeheerders)... Op dit moment zijn ontwikkelaars gedwongen om twee versies van elke opslagplugin te ondersteunen: \u00e9\u00e9n \u2014 \"ouderwets\", binnen de codebase van K8s (in-tree), en de tweede \u2014 binnen het nieuwe CSI <i>(meer hierover leest u bijvoorbeeld in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424211\/\">hier<\/a><\/noindex>)<\/i>. Dit veroorzaakt begrijpelijke ongemakken die moeten worden verholpen naarmate CSI als zodanig stabiliseert. Gewoon de interne (in-tree) plugins als verouderd (deprecated) verklaren is niet mogelijk vanwege <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/using-api\/deprecation-policy\/#deprecating-parts-of-the-api\">de bijbehorende Kubernetes-beleid<\/a><\/noindex>.<\/p>\n<p>Dit heeft geleid tot het bereiken van alfa-versies <b><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/625\">migratieproces<\/a><\/noindex> interne plugin-code<\/b>, ge\u00efmplementeerd als in-tree, in CSI-plugins, waardoor de zorgen van ontwikkelaars beperkt worden tot het onderhoud van \u00e9\u00e9n versie van hun plugins, terwijl compatibiliteit met oude API's behouden blijft en ze volgens de gebruikelijke procedure als verouderd kunnen worden aangeduid. Het wordt verwacht dat tegen de volgende release van Kubernetes (1.15) de migratie van alle plugins van cloudproviders zal zijn uitgevoerd, de implementatie de status b\u00e8taversie zal krijgen en standaard zal worden geactiveerd in K8s-installen. Voor meer details zie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/storage\/csi-migration.md\">design proposal<\/a><\/noindex>. Een gevolg van deze migratie was ook <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74544\">afschaffing<\/a><\/noindex> van beperkingen voor volumes gedefinieerd door specifieke cloudproviders (AWS, Azure, GCE, Cinder).<\/p>\n<p>Bovendien wordt de ondersteuning voor blokapparaten met CSI (<code>CSIBlockVolume<\/code>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74909\">verplaatst<\/a><\/noindex> naar b\u00e8taversie.<\/p>\n<h2>Nodes \/ Kubelet<\/h2>\n<p>\nis de alfa-versie ge\u00efntroduceerd van <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/727\">de nieuwe endpoint<\/a><\/noindex> in Kubelet, bedoeld voor <b>het leveren van metingen van de belangrijkste middelen<\/b>. Over het algemeen, als Kubelet voorheen statistieken over containergebruik van cAdvisor ontving, komen deze gegevens nu uit de uitvoeringsomgeving van de container via CRI (Container Runtime Interface), maar is de compatibiliteit met oude versies van Docker behouden. De eerder in Kubelet verzamelde statistieken werden via de REST API geleverd, maar nu wordt hiervoor een endpoint gebruikt dat zich op het adres bevindt <code>\/metrics\/resource\/v1alpha1<\/code>. De langetermijnstrategie van de ontwikkelaars <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/68522\">bestaat<\/a><\/noindex> uit het minimaliseren van het aantal metingen dat door Kubelet wordt geleverd. <i>Overigens worden deze metingen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/pull\/726\">nu genoemd<\/a><\/noindex> niet als 'core metrics', maar als 'resource metrics', en beschrijven ze als 'first-class resources, zoals cpu en geheugen'.<\/i><\/p>\n<p>Een opvallend detail: ondanks het duidelijke prestatievoordeel van de gRPC endpoint vergeleken met verschillende toepassingen van het Prometheus-formaat <i>(resultaat van een van de benchmarks zie hieronder)<\/i>, gaven de auteurs de voorkeur aan het tekstformaat van Prometheus vanwege de duidelijke dominantie van dit monitoringsysteem binnen de gemeenschap.<\/p>\n<blockquote><p><i>\"gRPC is niet compatibel met de belangrijkste monitoring-pijplijnen. De endpoint zal echter alleen nuttig zijn voor het leveren van metingen aan Metrics Server of monitoringcomponenten die rechtstreeks met hem integreren. Bij gebruik van caching in Metrics Server is de prestatie van het tekstformaat van Prometheus <b>voldoende goed.<\/b> voor ons om Prometheus te verkiezen boven gRPC, gezien de brede verspreiding van Prometheus binnen de gemeenschap. Zodra het OpenMetrics-formaat stabieler wordt, kunnen we de prestaties van gRPC naderen met een op proto gebaseerd formaat.<\/i><\/p><\/blockquote>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: overzicht van de belangrijkste vernieuwingen\" src=\"\/wp-content\/uploads\/2019\/03\/ad7e45b61fc4676a2df3c2d33d5688b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Een van de vergelijkende prestatietests van het gebruik van gRPC- en Prometheus-indelingen in de nieuwe endpoint van Kubelet voor metrics. Meer grafieken en andere details zijn te vinden in <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>Onder andere veranderingen:<\/p>\n<ul>\n<li> Kubelet probeert nu (eenmalig) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73802\">de<\/a><\/noindex> containers in een onbekende toestand te stoppen v\u00f3\u00f3r restart- en verwijderoperaties.<\/li>\n<li> Bij het gebruik van <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/podpreset\/\"><code>PodPresets<\/code><\/a><\/noindex> wordt nu aan de init-container <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71479\">toegevoegd<\/a><\/noindex> dezelfde informatie als voor de reguliere container.<\/li>\n<li> Kubelet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73659\">is begonnen met het gebruiken van<\/a><\/noindex> <code>usageNanoCores<\/code> van de CRI-statistiekprovider, en voor knooppunten en containers in Windows <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74788\">toegevoegd<\/a><\/noindex> netwerkstatistieken.<\/li>\n<li> Informatie over het besturingssysteem en de architectuur wordt nu vastgelegd in labels <code>kubernetes.io\/os<\/code> en <code>kubernetes.io\/arch<\/code> van de Node-objecten (overgezet van beta naar GA).<\/li>\n<li> De mogelijkheid om een specifieke systeemgroep gebruikers voor containers in de pod op te geven (<code>RunAsGroup<\/code>) is ge\u00efntroduceerd in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415349\/\">K8s 1.11<\/a><\/noindex>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73007\">is doorgegaan<\/a><\/noindex> naar de b\u00e8taversie (standaard ingeschakeld).<\/li>\n<li> du en find, gebruikt in cAdvisor, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74675\">zijn vervangen<\/a><\/noindex> door Go-implementaties.<\/li>\n<\/ul>\n<p><\/p>\n<h2>CLI<\/h2>\n<p>\nIn cli-runtime en kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74140\">is toegevoegd<\/a><\/noindex> de -k-vlag voor integratie met <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\"><b>kustomize<\/b><\/a><\/noindex> (overigens wordt de ontwikkeling ervan nu in een aparte repository gedaan), dat wil zeggen, voor het verwerken van extra YAML-bestanden uit speciale kustomization-mappen (details over het gebruik ervan zijn te vinden in <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: overzicht van de belangrijkste vernieuwingen\" src=\"\/wp-content\/uploads\/2019\/03\/e38550cfb642d81237aad4d87b9b3386.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Voorbeeld van eenvoudig gebruik van een <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#kustomization\">kustomization<\/a><\/noindex> (ook mogelijk is complexere toepassing van kustomize in het kader van <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#overlay\">overlays<\/a><\/noindex>)<\/i><\/p>\n<p>Bovendien:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71651\">Toegevoegd<\/a><\/noindex> de nieuwe opdracht <code>kubectl create cronjob<\/code>, waarvan de naam voor zichzelf spreekt.<\/li>\n<li> In <code>kubectl logs<\/code> kan nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/67573\">samenvoegen<\/a><\/noindex> vlaggen <code>-f<\/code> (<code>--follow<\/code> voor het streamen van logs) en <code>-l<\/code> (<code>--selector<\/code> voor labelquery).<\/li>\n<li> kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/72641\">geleerd om<\/a><\/noindex> bestanden te kopi\u00ebren die met behulp van wildcards zijn geselecteerd.<\/li>\n<li> In de functie <code>kubectl wait<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70599\">toegevoegd<\/a><\/noindex> vlag <code>--all<\/code> voor het selecteren van alle resources in de opgegeven namespace van het type resources.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Andere<\/h2>\n<p>\nDe volgende mogelijkheden hebben de stabiele (GA) status gekregen:<\/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>, gebruikt in de specificatie van de pod om aanvullende voorwaarden te defini\u00ebren die in rekening worden gebracht voor de gereedheid van de pod;<\/li>\n<li> Ondersteuning voor grote pagina's (feature gate met de naam <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 Priority &amp; Preemption<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nOverige wijzigingen gepresenteerd in Kubernetes 1.14:<\/p>\n<ul>\n<li> De RBAC-beleid standaard verleent geen toegang meer tot de API <code>discovery<\/code> en <code>access-review<\/code> voor gebruikers zonder authenticatie <i>(unauthenticated)<\/i>.<\/li>\n<li> Offici\u00eble ondersteuning voor CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/69940\">wordt nu geleverd.<\/a><\/noindex> alleen voor Linux, dus bij het gebruik van kubeadm voor de implementatie ervan (CoreDNS) in een cluster moeten de knooppunten alleen op Linux draaien (voor deze beperking worden nodeSelectors gebruikt).<\/li>\n<li> De standaardconfiguratie van CoreDNS is nu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73267\">gebruikt<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/coredns.io\/plugins\/forward\/\">de forward-plugin<\/a><\/noindex> in plaats van proxy. Bovendien heeft CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74137\">toegevoegd<\/a><\/noindex> readinessProbe, die voorkomt dat er verkeer wordt gebalanseerd naar de bijbehorende (niet gereed voor service) pods.<\/li>\n<li> In kubeadm, in de fasen van <code>, wat erg handig is. Bovendien kunnen meerdere configuraties worden geschreven: ontwikkelen op de standaardconfiguratie, en daarna implementeren met het commando<\/code> of <code>upload-certs<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73907\">is het mogelijk geworden<\/a><\/noindex> om certificaten te uploaden die nodig zijn voor het verbinden van een nieuwe control-plane met het geheim kubeadm-certs (de vlag wordt gebruikt) <code>--experimental-upload-certs<\/code>).<\/li>\n<li> Voor Windows-installaties is er een alfa-versie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/689\">van ondersteuning<\/a><\/noindex> gMSA (Group Managed Service Account) - speciale accounts in Active Directory die door containers gebruikt kunnen worden.<\/li>\n<li> Voor GCE <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70144\">is mTLS-encryptie geactiveerd<\/a><\/noindex> tussen etcd en kube-apiserver.<\/li>\n<li> Updates in de gebruikte\/afhankelijke software: Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, ondersteuning voor Docker 18.09 in kubeadm, en de minimale ondersteunde versie van Docker API is 1.26.<\/li>\n<\/ul>\n<p><\/p>\n<h2>P.S.<\/h2>\n<p>\nLees ook op onze blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/432208\/\">\ud83e\udd47Kubernetes 1.16: overzicht van belangrijke nieuwe functies | ProHoster<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/424331\/\">Kubernetes 1.12: overzicht van de belangrijkste vernieuwingen<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/415349\/\">Kubernetes 1.11: overzicht van de belangrijkste vernieuwingen<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353114\/\">Kubernetes 1.10: overzicht van de belangrijkste vernieuwingen<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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: overzicht van de belangrijkste vernieuwingen | ProHoster","description":"Vanavond","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/30272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=30272"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/30272\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=30272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=30272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=30272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}