Rilascio di Kubernetes 1.18, il sistema di gestione di cluster di contenitori isolati

Pubblicato rilascio della piattaforma di orchestrazione dei container Kubernetes 1.18, che consente di gestire un cluster di container isolati come un'unica entità e offre meccanismi per il deployment, il mantenimento e il dimensionamento delle applicazioni eseguite nei container. Il progetto è stato originariamente creato da Google, ma successivamente è stato trasferito su una piattaforma indipendente, supervisionata dalla Linux Foundation. La piattaforma si posiziona come una soluzione universale in evoluzione, non legata a sistemi specifici e in grado di operare con qualsiasi applicazione in qualsiasi ambiente cloud. Il codice di Kubernetes è scritto in Go e è distribuito sotto licenza Apache 2.0.

Vengono fornite funzioni per il deployment e la gestione dell'infrastruttura, come la gestione del DNS, il bilanciamento del carico,
la distribuzione dei container sui nodi del cluster (migrazione dei container in base al cambiamento del carico e alle esigenze dei servizi), il controllo dello stato a livello applicativo, la gestione degli account, l'aggiornamento e il dimensionamento dinamico del cluster in esecuzione, senza arrestarlo. È possibile implementare gruppi di container con operazioni di aggiornamento e rollback simultanei per l'intero gruppo, così come una suddivisione logica del cluster in parti con separazione delle risorse. È supportata la migrazione dinamica delle applicazioni, per le quali possono essere utilizzati sia storage locali che sistemi di storage di rete.

Il rilascio di Kubernetes 1.18 include 38 modifiche e miglioramenti, di cui 15 sono stati portati allo stato stabile e 11 allo stato beta. 12 nuove modifiche sono state proposte in stato alpha. Per la preparazione della nuova versione sono stati dedicati sforzi sia al perfezionamento delle varie funzionalità che alla stabilizzazione delle capacità sperimentali, oltre all'aggiunta di nuovi sviluppi. Le principali modifiche:

  • Kubectl
    • È stata aggiunta la versione alpha del comando «kubectl debug», che facilita il debug nei pod, avviando container effimeri con strumenti di debug.
    • Annunciato stabile il comando «kubectl diff», che consente di vedere cosa cambierà nel cluster se si applica il manifesto.
    • Rimossi tutti i generatori del comando «kubectl run», tranne il generatore per l'avvio di un singolo pod.
    • Cambiato il flag «—dry-run», a seconda del suo valore (client, server e none) esegue una prova del comando sul lato client o server.
    • Codice kubectl è stato isolato in un repository separato. Questo ha permesso di separare kubectl dalle dipendenze interne di kubernetes e facilitare l'importazione del codice in progetti esterni.
  • Ingress
    • Iniziato cambiamento del gruppo API per Ingress a networking.v1beta1.
    • Aggiunti nuovi campi:
      • pathType, che consente di specificare il modo in cui verrà confrontato il percorso nella richiesta
      • IngressClassName — sostituzione dell'annotazione kubernetes.io/ingress.class, che è stata dichiarata obsoleta. In questo campo si specifica il nome dell'oggetto speciale IngressClass
    • Aggiunto l'oggetto IngressClass, in cui si specifica il nome del controller ingress, i suoi parametri aggiuntivi e l'indicazione di utilizzo predefinito
  • Servizio
    • Aggiunto campo AppProtocol, in cui è possibile specificare quale protocollo utilizza l'applicazione
    • Tradotto in stato beta e incluso per impostazione predefinita l'EndpointSlicesAPI, che è una sostituzione più funzionale dei normali Endpoints.
  • Rete
    • Supporto IPv6 è stato tradotto in stato beta.
  • Dischi permanenti. È stata dichiarata stabile la seguente funzionalità:
  • Configurazione dell'applicazione
    • Negli oggetti ConfigMap e Secret aggiunto nuovo campo «immutable». Impostare il valore del campo su true impedisce la modifica dell'oggetto.
  • Pianificatore
    • È stata aggiunta possibilità di creare profili aggiuntivi per kube-scheduler. Se in passato era necessario avviare pianificatori separati aggiuntivi per implementare algoritmi di distribuzione pod non standard, ora è possibile creare set di configurazioni aggiuntive per il pianificatore standard e specificarne il nome nello stesso campo pod «.spec.schedulerName». Stato — alpha.
    • Espulsione basata su Taint dichiarata stabile
  • Scalabilità
    • È stata aggiunta la possibilità di specificare nel manifesto HPA il grado di aggressività durante la modifica del numero di pod in esecuzione, cioè, all'aumento del carico, avviare immediatamente N volte più istanze (instance).
  • Kubelet
    • Topology Manager ha ricevuto lo stato beta. La funzionalità include la distribuzione NUMA, che consente di evitare la degradazione delle prestazioni su sistemi multi-socket.
    • Stato beta ha ricevuto funzione PodOverhead, che consente di specificare in RuntimeClass una quantità aggiuntiva di risorse necessarie per l'esecuzione di un pod.
    • Espanso supporto HugePages, in stato alpha è stata aggiunta l'isolamento a livello di contenitore e il supporto per più dimensioni hugepages.
    • Rimosso endpoint per metriche /metrics/resource/v1alpha1, al suo posto viene utilizzato /metrics/resource
  • API
    • Definitivo rimossa la possibilità di utilizzare le vecchie API group apps/v1beta1 e extensions/v1beta1.
    • ServerSide Apply elevato allo stato beta2. Questo miglioramento trasferisce la manipolazione degli oggetti da kubectl al server API. Gli autori del miglioramento affermano che questo consentirà di correggere molti errori esistenti che non possono essere risolti nella situazione attuale. Hanno inoltre aggiunto la sezione «.metadata.managedFields», in cui si propone di memorizzare la cronologia delle modifiche all'oggetto, specificando chi, quando e cosa esattamente è stato modificato.
    • Annunciato stable CertificateSigningRequest API.
  • Supporto per la piattaforma Windows.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster