Il 24 novembre si è concluso Slurm Mega, corso intensivo avanzato su Kubernetes.
L'idea di Slurm Mega: guardiamo sotto il cofano del cluster, analizziamo in teoria e in pratica le complessità dell'installazione e della configurazione di un cluster pronto per la produzione ("il modo non così facile"), consideriamo i meccanismi per garantire la sicurezza e la tolleranza agli errori delle applicazioni.
Mega Bonus: Coloro che superano Slurm Basic e Slurm Mega ricevono tutte le conoscenze necessarie per superare l'esame
Un ringraziamento speciale a Selectel per aver fornito un cloud per la pratica, grazie al quale ogni partecipante ha lavorato nel proprio cluster a tutti gli effetti, e per questo non abbiamo dovuto aggiungere altri 5mila al prezzo del biglietto.
Slurm Mega. Il primo giorno.
Il primo giorno di Slurm Mega, abbiamo caricato i partecipanti con 4 argomenti. Pavel Selivanov ha parlato del processo di creazione di un cluster di failover dall'interno, del lavoro di Kubeadm, nonché del test e della risoluzione dei problemi del cluster.
Prima pausa caffè. Di solito è la “campana dell’insegnante”, ma a Slurm, mentre gli studenti bevono il caffè, gli insegnanti continuano a rispondere alle domande.
E nonostante il fatto che la nuvola “Break II” aleggia sopra la testa di Pavel Selivanov, non è il suo destino prendersi una pausa.
Sergei Bondarev e Marcel Ibraev aspettano il loro turno per salire sul pulpito.
Durante la pausa, mi sono rivolto a Sergey Bondarev e ho chiesto: "Che consiglio daresti a tutti gli ingegneri Kubernetes in base alla tua esperienza di lavoro con i cluster dei nostri clienti?"
Sergey ha dato una semplice raccomandazione: “Blocca l'accesso da Internet al server API. Perché di tanto in tanto ci sono minacce alla sicurezza che consentono agli utenti non autorizzati di accedere al cluster.»
Dopo un paio di minuti e una bottiglia di acqua minerale, Pavel Selivanov si è precipitato in battaglia con l'ombra dell'argomento "Autorizzazione in un cluster utilizzando un provider esterno", vale a dire LDAP (Nginx + Python) e OIDC (Dex + Gangway).
Durante la pausa successiva, Marcel Ibraev, relatore Slurm, Amministratore certificato Kubernetes, ha dato il suo consiglio agli ingegneri Kubernetes: “Dirò una cosa apparentemente banale, ma considerando quanto spesso mi capita di riscontrarlo, ho il sospetto che non tutti ne tengano conto. Non dovresti credere ciecamente a nessuna guida su Internet che ti dica quanto funziona bene questa o quella soluzione. Nel contesto di Kubernetes questo assume un significato speciale. Perché Kubernetes è un sistema complesso e l'aggiunta di una soluzione che non è stata testata nel tuo particolare progetto e nell'installazione del tuo cluster può portare a conseguenze disastrose, nonostante abbiano scritto su Internet della sua bellezza. Anche solo Kubernetes senza un approccio equilibrato può danneggiare il tuo progetto, “ciò che è bene per un russo è la morte per un tedesco”. Pertanto, testiamo, controlliamo e testiamo qualsiasi soluzione prima di implementarla noi stessi. Solo così potrai tenere conto di tutte le sfumature che possono sorgere.'.
Dopo pranzo, Sergei Bondarev è entrato in battaglia. Il suo argomento è la politica di rete, ovvero un'introduzione alla CNI e alla politica di sicurezza della rete.
Internet è pieno di articoli sulla politica di rete. C'è un'opinione tra gli amministratori secondo cui si può fare a meno dei criteri di rete, ma gli specialisti della sicurezza adorano davvero questo strumento e richiedono che i criteri di rete siano abilitati.
Pavel Selivanov ha preso il posto di Sergey Bondarev nella guida di Kubernetes con il tema “Applicazioni sicure e altamente disponibili in un cluster”. Ha argomenti preferiti: PodSecurityPolicy, PodDisruptionBudget, LimitRange/ResourceQuota.
L'argomento di Mega, di cui Pavel ha parlato al DevOpsConf:
Dopo aver raccontato con quanta facilità un cluster Kubernetes può essere violato, gli amministratori scettici dicono: "Sì, te l'avevo detto, il tuo Kubernetes è pieno di buchi". Pavel spiega che è possibile configurare la sicurezza in un cluster e non è difficile, solo che le impostazioni di sicurezza sono disabilitate per impostazione predefinita. Dettagli nella trascrizione
— Chi ha rotto il grappolo? Ha rotto il grappolo! Da qui vedo perfettamente!
A Slurms tutto non è mai semplice e facile, per non annoiarsi. Ma questa volta Telegram ha deciso di mostrare a tutti il quinto punto:
Марсель Ибраев, [22 нояб. 2019 г., 16:52:52]:
Коллеги, в данный момент наблюдаются сбои в работе Телеграм, имейте это ввиду
Ciò ha concluso il primo giorno, luminoso e pieno di conoscenza pratica. Il secondo giorno ci sarà ancora più pratica, lanciando un cluster di database usando PostgreSQL come esempio, lanciando un cluster RabbitMQ, gestendo i segreti in Kubernetes.
Slurm Mega. Secondo giorno.
Il presentatore ha iniziato la seconda giornata con un allegro annuncio: “Al mattino, come ha detto ieri Pavel, ci aspetta il vero hardcore. Nel linguaggio dei chirurghi, entreremo nelle viscere di Kubernetes!”
L'intrattenitore di massa è una storia diversa. Uno dei problemi con Slurm è che le persone si staccano dal sovraccarico di informazioni e si addormentano. Eravamo sempre alla ricerca di un modo per fare qualcosa al riguardo, e i piccoli giochi con il pubblico hanno funzionato bene all'ultimo Slurm. Questa volta abbiamo assunto una persona appositamente addestrata. Nella chat si è parlato molto di "gare interessanti", ma resta il fatto che non abbiamo mai visto partecipanti così allegri.
Sono venuti in soccorso di Marcel Ibraev e ha iniziato a studiare le applicazioni Stateful nel cluster. Vale a dire, avviare un cluster di database utilizzando PostgreSQL come esempio e avviare un cluster RabbitMQ.
Dopo pranzo, Sergey Bondarev ha iniziato a lavorare su K8S. E il tema era "Mantenere i segreti". Mulder e Scully lo coprirono. Ha studiato gestione dei segreti in Kubernetes e Vault. E anche “La verità è là fuori”.
Ciò è continuato fino a tarda sera, quando Pavel Selivanov ha iniziato a parlare dell'Horizontal Pod Autoscaler
Slurm Mega. Il terzo giorno.
In modo brusco e allegro, fin dalla mattina, Sergei Bondarev ha suscitato il pubblico con rinforzi e recupero dai fallimenti. Ho controllato personalmente il backup e il ripristino del cluster utilizzando Heptio Velero ed etcd.
Sergey ha continuato il tema della rotazione annuale dei certificati nel cluster: rinnovo dei certificati del piano di controllo utilizzando kubeadm. Poco prima di pranzo, per stuzzicare l’appetito dei partecipanti o per spegnerlo completamente, Pavel Selivanov ha sollevato il tema dell’implementazione dell’applicazione.
Sono stati presi in considerazione gli strumenti di creazione di modelli e di distribuzione, nonché le strategie di distribuzione.
Pavel Selivanov ha parlato di un nuovo argomento: Service Mesh, installazione di Istio. L'argomento si è rivelato così ricco che è possibile seguirne un corso intensivo separato. Stiamo discutendo i piani, rimanete sintonizzati per gli annunci.
La cosa principale è che tutto funzioni correttamente. Perché è il momento di esercitarsi:
creazione di CI/CD per avviare contemporaneamente la distribuzione dell'applicazione e l'aggiornamento del cluster. Nei progetti educativi tutto funziona bene. E la vita a volte è piena di sorprese.
Che lo Slurm sia con voi!
Fonte: habr.com