{"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\/it\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","title":{"rendered":"Kubernetes 1.14: panoramica delle principali novit\u00e0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes 1.14: panoramica delle principali novit\u00e0\" src=\"\/wp-content\/uploads\/2019\/03\/8fb5be29668f55ec42d31eb47200b639.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuesta notte <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14#timeline\">si terr\u00e0<\/a><\/noindex> \u00e8 stato pubblicato un nuovo rilascio di Kubernetes \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14\">1.14<\/a><\/noindex>. Come consuetudine nel nostro blog, vi raccontiamo i cambiamenti chiave nella nuova versione di questo straordinario prodotto Open Source.<\/p>\n<p>Le informazioni utilizzate per preparare questo materiale provengono da <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/u\/1\/d\/116X6E-lmDJG5UZPlqDAFw8hN9vS6SNY4qRNZ9fKtsMU\/edit#gid=0\">tabella di monitoraggio dei miglioramenti di Kubernetes<\/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> e dai rispettivi issue, pull request, Proposte di Miglioramento di Kubernetes (KEP).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Iniziamo con un'importante introduzione da SIG cluster-lifecycle: <b>cluster dinamici e resilienti<\/b> Kubernetes (o, per essere pi\u00f9 precisi, deployment HA self-hosted) ora <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/357\">possono essere creati<\/a><\/noindex> utilizzando i comandi familiari (nel contesto di cluster con un solo nodo) <code>kubeadm<\/code> (<code>init<\/code> e <code>join<\/code>). In breve, per questo:<\/p>\n<ul>\n<li> i certificati utilizzati dal cluster vengono trasferiti nei segreti;<\/li>\n<li> per abilitare l'utilizzo del cluster etcd all'interno del cluster K8s (cio\u00e8 per eliminare la dipendenza esterna esistente) \u00e8 stato introdotto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/etcd-operator\">etcd-operator<\/a><\/noindex>;<\/li>\n<li> vengono documentate le configurazioni raccomandate per un bilanciatore di carico esterno che assicura una configurazione resiliente (in futuro si prevede di eliminare anche questa dipendenza, ma non in questa fase).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: panoramica delle principali novit\u00e0\" src=\"\/wp-content\/uploads\/2019\/03\/0e82b7e8db1ad117dc87f68fa4669431.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Architettura del cluster HA di Kubernetes, creata con kubeadm<\/i><\/p>\n<p>Puoi trovare i dettagli sull'implementazione in <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1P3oUJ_kdaRSTlGONujadGBpYegjn4RjBNZLHZ4zU7lI\/edit#\">proposta di design<\/a><\/noindex>. Questa funzione era davvero attesa: la versione alfa era prevista gi\u00e0 in K8s 1.9, ma \u00e8 disponibile solo adesso.<\/p>\n<h2>API<\/h2>\n<p>\nTeam <code>applica<\/code> e in generale <b>gestione dichiarativa degli oggetti<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/555\">estratti<\/a><\/noindex> di <code>kubectl<\/code> in apiserver. Gli stessi sviluppatori spiegano brevemente la loro decisione dicendo che <code>kubectl apply<\/code> \u00e8 una parte fondamentale del lavoro con le configurazioni in Kubernetes, tuttavia \"\u00e8 piena di bug e difficile da correggere\", motivo per cui questa funzionalit\u00e0 deve essere sistemata e trasferita nel control plane. Esempi semplici e chiari dei problemi attuali:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: panoramica delle principali novit\u00e0\" src=\"\/wp-content\/uploads\/2019\/03\/379b0d830491bbb0e7ac3c3ccfff71c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI dettagli sull'implementazione sono in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/0006-apply.md\">KEP<\/a><\/noindex>. La disponibilit\u00e0 attuale \u00e8 la versione alfa (il passaggio alla beta \u00e8 previsto per la prossima release di Kubernetes).<\/p>\n<p>Nella versione alfa \u00e8 diventata disponibile <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/692\">possibilit\u00e0<\/a><\/noindex> l'uso dello schema OpenAPI v3 per <b>la creazione e pubblicazione della documentazione OpenAPI per CustomResources<\/b> (CR), utilizzati per la validazione (lato server) delle risorse K8s definite dall'utente (CustomResourceDefinition, CRD). La pubblicazione di OpenAPI per CRD consente ai client (ad esempio, <code>kubectl<\/code>) di eseguire la validazione sul proprio lato (nell'ambito di <code>kubectl create<\/code> e <code>kubectl apply<\/code>) e fornire documentazione secondo lo schema (<code>kubectl spiega<\/code>). Maggiori dettagli \u2014 in <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>I log precedentemente esistenti <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74837\">ora vengono aperti<\/a><\/noindex> con il flag <code>O_APPEND<\/code> (e non <code>O_TRUNC<\/code>) per evitare la perdita di log in alcune situazioni e per facilitare il troncamento dei log da parte di utility esterne per la rotazione.<\/p>\n<p>Inoltre, nel contesto dell'API di Kubernetes si pu\u00f2 notare che in <code>PodSandbox<\/code> e <code>PodSandboxStatus<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73833\">aggiunto<\/a><\/noindex> campo <code>runtime_handler<\/code> per tenere conto delle informazioni su <code>RuntimeClass<\/code> nel pod' (per ulteriori dettagli leggi il testo su <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424331\/\">rilascio di Kubernetes 1.12<\/a><\/noindex>, dove questa classe \u00e8 apparsa come versione alpha), e negli Admission Webhooks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74998\">\u00e8 stata realizzata<\/a><\/noindex> la possibilit\u00e0 di definire quali versioni <code>AdmissionReview<\/code> loro supportano. Infine, nelle regole degli Admission Webhooks ora <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74477\">\u00e8 possibile limitare<\/a><\/noindex> le scale del loro utilizzo con i namespace e i limiti del cluster.<\/p>\n<h2>I volumi<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#local\"><code><b>VolumiLocaliPersistenti<\/b><\/code><\/a><\/noindex>, precedentemente in stato di beta dal rilascio <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\">sono stati dichiarati<\/a><\/noindex> stabili (GA): questo feature gate non pu\u00f2 pi\u00f9 essere disattivato e sar\u00e0 rimosso in Kubernetes 1.17.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/559\">Possibilit\u00e0<\/a><\/noindex> l'uso di variabili ambientali cosiddette <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> (ad esempio, il nome del pod) per i nomi delle directory montate come <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#using-subpath\"><code>subPath<\/code><\/a><\/noindex>, ha trovato uno sviluppo \u2014 sotto forma di un nuovo campo <code>subPathExpr<\/code>, grazie al quale ora viene definito il nome della directory necessaria. Questa funzionalit\u00e0 \u00e8 stata introdotta in Kubernetes 1.11, ma \u00e8 rimasta in fase alfa anche per la 1.14.<\/p>\n<p>Come nel precedente rilascio di Kubernetes, sono state introdotte molte modifiche significative per il CSI (Container Storage Interface) in continua evoluzione:<\/p>\n<h3>CSI<\/h3>\n<p>\n\u00c8 diventato disponibile (nell'ambito della fase alfa) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/556\">supporto<\/a><\/noindex> <b>la modifica delle dimensioni per i volumi CSI<\/b>. Per utilizzare questa funzionalit\u00e0, sar\u00e0 necessario attivare la feature gate chiamata <code>ExpandCSIVolumes<\/code>, e assicurarsi che questa operazione sia supportata dal specifico driver CSI.<\/p>\n<p>Un'altra funzionalit\u00e0 per CSI in fase alfa \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/596\">possibilit\u00e0<\/a><\/noindex> fare riferimento direttamente (cio\u00e8 senza l'uso di PV\/PVC) ai volumi CSI nella specifica dei pod. Questo <b>rimuove la limitazione di utilizzare CSI come esclusivamente archivi di dati remoti<\/b>, aprendo le porte a <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes-csi.github.io\/docs\/ephemeral-local-volumes.html\">volumi locali effimeri<\/a><\/noindex>. Per l'utilizzo (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vladimirvivien\/kubernetes.github.io\/blob\/b78107abfdb2b5877973b84062d93cdf98ef1b9c\/content\/en\/docs\/concepts\/storage\/volumes.md#csi-ephemeral-volumes\">esempio dalla documentazione<\/a><\/noindex>) \u00e8 necessario attivare <code>la feature gate<\/code> CSIInlineVolume.<\/p>\n<p>C'\u00e8 stato progresso anche nelle \u00abinternals\u00bb di Kubernetes legate a CSI, che non sono cos\u00ec visibili agli utenti finali (amministratori di sistema)\u2026 Attualmente, gli sviluppatori sono costretti a mantenere due versioni di ogni plug-in di storage: una \u00aballa vecchia maniera\u00bb, all'interno del codice sorgente di K8s (in-tree), e l'altra all'interno del nuovo CSI. <i>(per saperne di pi\u00f9, leggi ad esempio in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424211\/\">qui<\/a><\/noindex>)<\/i>. Questo causa inconvenienti comprensibili che devono essere risolti man mano che il CSI si stabilizza come tale. Non \u00e8 possibile semplicemente dichiarare obsoleti (deprecated) gli API dei plug-in interni (in-tree) a causa di <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/using-api\/deprecation-policy\/#deprecating-parts-of-the-api\">una politica adeguata di Kubernetes.<\/a><\/noindex>.<\/p>\n<p>Tutto ci\u00f2 ha portato a raggiungere le versioni alfa <b><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/625\">il processo di migrazione<\/a><\/noindex> del codice interno dei plug-in.<\/b>, implementate come in-tree, nei plugin CSI, il che ridurr\u00e0 le preoccupazioni degli sviluppatori a mantenere una sola versione dei loro plugin, preservando la compatibilit\u00e0 con le API precedenti, che potranno essere dichiarate obsolete secondo lo scenario consueto. Si prevede che con la prossima release di Kubernetes (1.15) verr\u00e0 effettuata la migrazione di tutti i plugin dei provider cloud, la realizzazione otterr\u00e0 lo status di beta e sar\u00e0 attivata nelle installazioni K8s per impostazione predefinita. Maggiori dettagli si trovano in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/storage\/csi-migration.md\">proposta di design<\/a><\/noindex>. Una conseguenza di questa migrazione \u00e8 stato <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74544\">il rifiuto<\/a><\/noindex> di limitazioni per i volumi definiti da specifici provider cloud (AWS, Azure, GCE, Cinder).<\/p>\n<p>Inoltre, il supporto per i dispositivi a blocchi con CSI (<code>CSIBlockVolume<\/code>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74909\">\u00e8 stato convertito<\/a><\/noindex> in versione beta.<\/p>\n<h2>Nodi \/ Kubelet<\/h2>\n<p>\n\u00c8 stata introdotta una versione alpha <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/727\">di un nuovo endpoint<\/a><\/noindex> in Kubelet, destinato a <b>fornire metriche sulle risorse principali<\/b>. In generale, mentre in precedenza Kubelet riceveva le statistiche sull'utilizzo dei container da cAdvisor, ora questi dati provengono dall'ambiente di esecuzione del container tramite CRI (Container Runtime Interface), mantenendo per\u00f2 la compatibilit\u00e0 con le vecchie versioni di Docker. In passato, le statistiche raccolte in Kubelet venivano fornite tramite API REST, mentre ora viene utilizzato un endpoint posizionato all'indirizzo <code>\/metrics\/resource\/v1alpha1<\/code>. La strategia a lungo termine degli sviluppatori <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/68522\">\u00e8<\/a><\/noindex> quella di ridurre al minimo il set di metriche fornite da Kubelet. <i>A proposito, queste metriche <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/pull\/726\">ora vengono chiamate<\/a><\/noindex> non \u00abcore metrics\u00bb, ma \u00abresource metrics\u00bb, e sono descritte come \u00abfirst-class resources, such as cpu, and memory\u00bb.<\/i><\/p>\n<p>Un aspetto interessante: nonostante il chiaro vantaggio delle prestazioni dell'endpoint gRPC rispetto ai vari casi d'uso del formato Prometheus <i>(risultato di uno dei benchmark vedi sotto)<\/i>, gli autori hanno preferito il formato testuale di Prometheus a causa del chiaro predominio di questo sistema di monitoraggio nella comunit\u00e0.<\/p>\n<blockquote><p><i>gRPC non \u00e8 compatibile con i principali pipeline di monitoraggio. L'endpoint sar\u00e0 utile solo per fornire metriche al Metrics Server o ai componenti di monitoraggio che si integrano direttamente con esso. Utilizzando la cache nel Metrics Server, le prestazioni del formato testuale di Prometheus sono <b>abbastanza buone<\/b> per noi da preferire a Prometheus piuttosto che a gRPC, dato il suo ampio utilizzo nella comunit\u00e0. Quando il formato OpenMetrics diventer\u00e0 pi\u00f9 stabile, potremo avvicinarci alle prestazioni di gRPC utilizzando un formato basato su proto.<\/i><\/p><\/blockquote>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: panoramica delle principali novit\u00e0\" src=\"\/wp-content\/uploads\/2019\/03\/ad7e45b61fc4676a2df3c2d33d5688b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Uno dei test comparativi delle prestazioni tra i formati gRPC e Prometheus nel nuovo endpoint di Kubelet per le metriche. Maggiori grafici e altri dettagli possono essere trovati 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>Tra le altre modifiche:<\/p>\n<ul>\n<li> Kubelet ora (una sola volta) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73802\">cerca di fermare<\/a><\/noindex> i contenitori in stato sconosciuto (unknown) prima delle operazioni di riavvio e eliminazione.<\/li>\n<li> Quando utilizzi <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/podpreset\/\"><code>PodPresets<\/code><\/a><\/noindex> ora l'init-container <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71479\">riceve<\/a><\/noindex> la stessa informazione che un normale contenitore.<\/li>\n<li> Kubelet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73659\">ha iniziato a usare<\/a><\/noindex> <code>usageNanoCores<\/code> dal fornitore di statistiche CRI, e per i nodi e i contenitori in Windows <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74788\">aggiunta<\/a><\/noindex> statistiche di rete.<\/li>\n<li> Le informazioni sul sistema operativo e sull'architettura vengono ora registrate nelle etichette <code>kubernetes.io\/os<\/code> e <code>kubernetes.io\/arch<\/code> oggetti Node (trasferiti dalla beta a GA).<\/li>\n<li> Possibilit\u00e0 di specificare un gruppo di utenti di sistema specifico per i container nel pod' (<code>RunAsGroup<\/code>, \u00e8 stata introdotta 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\">\u00e8 avanzata<\/a><\/noindex> fino alla versione beta (attivata per impostazione predefinita).<\/li>\n<li> du e find, utilizzati in cAdvisor, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74675\">sono stati sostituiti<\/a><\/noindex> da implementazioni in Go.<\/li>\n<\/ul>\n<p><\/p>\n<h2>CLI<\/h2>\n<p>\nIn cli-runtime e kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74140\">\u00e8 stato aggiunto<\/a><\/noindex> il flag -k per l'integrazione con <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\"><b>kustomize<\/b><\/a><\/noindex> (tra l'altro, il suo sviluppo ora avviene in un repository separato), cio\u00e8 per la gestione di file YAML aggiuntivi da directory di kustomization speciali (per dettagli su come usarli, vedere <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: panoramica delle principali novit\u00e0\" src=\"\/wp-content\/uploads\/2019\/03\/e38550cfb642d81237aad4d87b9b3386.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Esempio di utilizzo semplice del file <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#kustomization\">kustomization<\/a><\/noindex> (\u00e8 possibile anche un'applicazione pi\u00f9 complessa di kustomize nell'ambito di <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#overlay\">overlays<\/a><\/noindex>)<\/i><\/p>\n<p>Inoltre:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71651\">Aggiunto<\/a><\/noindex> \u00e8 stato aggiunto un nuovo comando <code>kubectl create cronjob<\/code>, il cui nome parla da solo.<\/li>\n<li> In <code>kubectl logs<\/code> ora pu\u00f2 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/67573\">essere combinato<\/a><\/noindex> con i flag <code>-f<\/code> (<code>--follow<\/code> per lo streaming dei log) e <code>-l<\/code> (<code>--selector<\/code> per la query delle etichette).<\/li>\n<li> kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/72641\">abbiamo imparato<\/a><\/noindex> a copiare file selezionati usando i caratteri jolly.<\/li>\n<li> Nel comando <code>kubectl wait<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70599\">\u00e8 stato aggiunto<\/a><\/noindex> il flag <code>--all<\/code> per selezionare tutte le risorse nel namespace del tipo di risorse specificato.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Altre<\/h2>\n<p>\nLe seguenti funzionalit\u00e0 hanno ottenuto uno stato stabile (GA):<\/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>, utilizzato nella specifica del pod per definire ulteriori condizioni considerate nella prontezza del pod;<\/li>\n<li> Supporto per pagine grandi (feature gate chiamato <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> API PriorityClass, <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/pod-priority-preemption\/\">Priorit\u00e0 del Pod &amp; Preemption<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nAltre modifiche presentate in Kubernetes 1.14:<\/p>\n<ul>\n<li> La politica RBAC predefinita non fornisce pi\u00f9 accesso all'API <code>discovery<\/code> e <code>access-review<\/code> utenti senza autenticazione <i>(unauthenticated)<\/i>.<\/li>\n<li> Il supporto ufficiale per CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/69940\">\u00e8 fornito<\/a><\/noindex> solo per Linux, quindi quando si utilizza kubeadm per il suo (CoreDNS) deployment nel cluster, i nodi devono funzionare solo su Linux (per questa limitazione vengono utilizzati i nodeSelectors).<\/li>\n<li> La configurazione predefinita di CoreDNS ora <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73267\">utilizza<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/coredns.io\/plugins\/forward\/\">utilizza<\/a><\/noindex> il plugin forward <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74137\">aggiunta<\/a><\/noindex> readinessProbe, che impedisce il bilanciamento del carico sui pod corrispondenti (non pronti per il servizio).<\/li>\n<li> readinessProbe per prevenire il bilanciamento del carico verso i pod corrispondenti (non pronti per il servizio). <code>init<\/code> o <code>In kubeadm, nelle fasi<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73907\">upload-certs<\/a><\/noindex> \u00e8 ora possibile <code>caricare i certificati necessari per collegare un nuovo control-plane al segreto kubeadm-certs (viene utilizzato il flag<\/code>).<\/li>\n<li> --experimental-upload-certs <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/689\">del supporto<\/a><\/noindex> Per le installazioni Windows, \u00e8 disponibile una versione alpha<\/li>\n<li> Per GCE <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70144\">attivato<\/a><\/noindex> crittografia mTLS tra etcd e kube-apiserver.<\/li>\n<li> Aggiornamenti nel software utilizzato\/dipendente: Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, supporto di Docker 18.09 in kubeadm, e la versione minima supportata dell'API Docker \u00e8 diventata 1.26.<\/li>\n<\/ul>\n<p><\/p>\n<h2>P.S.<\/h2>\n<p>\nLeggete anche nel nostro blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/432208\/\">Kubernetes 1.13: panoramica delle principali novit\u00e0<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/424331\/\">Kubernetes 1.12: panoramica delle principali novit\u00e0<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/415349\/\">Kubernetes 1.11: panoramica delle principali novit\u00e0<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353114\/\">Kubernetes 1.10: panoramica delle principali novit\u00e0<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Fonte: <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 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\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\" \/>\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\/it\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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: panoramica delle principali novit\u00e0 | ProHoster","description":"Questa notte verr\u00e0 rilasciato Kubernetes 1.14. Secondo la tradizione del nostro blog, raccontiamo le principali modifiche nella nuova versione di questo fantastico prodotto Open Source. Le informazioni utilizzate per preparare questo materiale provengono dalla tabella di tracciamento delle migliorie di Kubernetes, CHANGELOG-1.14 e le relative issue, pull request e Kubernetes Enhancement Proposals (KEP). Iniziamo con una importante introduzione da parte del SIG cluster-lifecycle: dinamico","canonical_url":"https:\/\/prohoster.info\/it\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 \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","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=30272"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30272\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=30272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=30272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=30272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}