Uscita di Kubernetes 1.18, il sistema di gestione dei cluster di contenitori isolati

Pubblicato rilascio della piattaforma di orchestrazione dei container Kubernetes 1.18, che consente di gestire come un'unica entità un cluster di container isolati e fornisce meccanismi per il deployment, la gestione e il scaling delle applicazioni eseguite nei container. Il progetto è stato originariamente creato da Google, ma poi è stato trasferito a una piattaforma indipendente sotto la supervisione della Linux Foundation. La piattaforma è posizionata come una soluzione universale sviluppata dalla comunità, non legata a sistemi specifici e in grado di funzionare con qualsiasi applicazione in qualsiasi ambiente cloud. Il codice di Kubernetes è scritto in Go e distribuito sotto licenza Apache 2.0.

fornisce funzionalità per il deployment e la gestione dell'infrastruttura, come la gestione del database DNS, il bilanciamento del carico,
distribuzione dei container sui nodi del cluster (migrazione dei container in base alle variazioni di carico e alle esigenze dei servizi), verifica della funzionalità a livello di applicazioni, gestione degli account, aggiornamento e scalabilità dinamica del cluster in funzione, senza interruzioni. È possibile implementare gruppi di container eseguendo operazioni di aggiornamento e rollback simultaneamente 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 archivi locali che sistemi di archiviazione di rete.

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

  • Kubectl
    • Aggiunto versione alpha del comando «kubectl debug», che semplifica il debug nei pod avviando contenitori effimeri con strumenti di debug.
    • Annunciata stabile comando «kubectl diff», che permette di vedere quali modifiche verranno apportate al cluster se si applica il manifesto.
    • Rimossi tutti i generatori del comando «kubectl run», ad eccezione del generatore di avvio di un singolo pod.
    • Modificato il flag «--dry-run», a seconda del suo valore (client, server e none) l'esecuzione di prova del comando viene eseguita lato client o server.
    • Il codice kubectl è stato estratto in un repository separato. Questo ha permesso di separare kubectl dalle dipendenze interne di kubernetes e ha facilitato 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 come verrà confrontato il percorso nella richiesta
      • IngressClassName — sostituzione dell'annotazione kubernetes.io/ingress.class, che è stata dichiarata obsoleta. In questo campo viene specificato il nome di un oggetto IngressClass speciale
    • Aggiunto oggetto IngressClass, in cui viene specificato il nome del controller ingress, i suoi parametri aggiuntivi e il flag di utilizzo predefinito
  • Service
    • Aggiunto campo AppProtocol, in cui è possibile specificare quale protocollo utilizza l'applicazione
    • Tradotto in stato beta e abilitato per impostazione predefinita EndpointSlicesAPI, che è un sostituto più funzionale degli Endpoints ordinari.
  • Rete
    • Supporto IPv6 è stata portata in stato beta.
  • Dischi persistenti. È 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
    • Aggiunto possibilità di creare profili aggiuntivi per kube-scheduler. Se in precedenza era necessario eseguire pianificatori separati aggiuntivi per implementare algoritmi di distribuzione dei pod non standard, ora è possibile creare set di configurazione aggiuntivi per il pianificatore standard e specificarne il nome nello stesso campo del pod «.spec.schedulerName». Stato — alfa.
    • Rimozione basata su Taint dichiarata stabile
  • Scalabilità
    • Aggiunto la possibilità di specificare nel manifesto HPA il grado di aggressività nel cambiare il numero di pod in esecuzione, cioè avviare immediatamente N volte più istanze all'aumentare del carico.
  • Kubelet
    • Topology Manager ha raggiunto lo stato beta. La funzione include la distribuzione NUMA, che aiuta a evitare il degrado delle prestazioni su sistemi multi-socket.
    • Stato beta ha ricevuto la funzionalità PodOverhead, che consente di specificare in RuntimeClass un'ulteriore quantità di risorse necessarie per l'avvio del pod.
    • Ampliate supporto per HugePages, in stato alpha è stata aggiunta l'isolamento a livello di contenitore e supporto per più dimensioni di hugepages.
    • Rimosso endpoint per metriche /metrics/resource/v1alpha1, al suo posto si utilizza /metrics/resource
  • API
    • Definitivamente eliminata la possibilità di utilizzare i gruppi API obsoleti 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 ciò permetterà di risolvere molti errori esistenti che non possono essere corretti nella situazione attuale. Hanno anche aggiunto la sezione «.metadata.managedFields», in cui propongono di memorizzare la cronologia delle modifiche all'oggetto, indicando chi, quando e cosa è stato cambiato.
    • Dichiarato API CertificateSigningRequest stabile.
  • Supporto della piattaforma Windows.

Fonte: opennet.ru

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