Creazione del cluster Kubernetes utilizzando il servizio EKS di Amazon

Creazione del cluster Kubernetes utilizzando il servizio EKS di Amazon
Kubernetes è un corpo complesso di software. È pensato per un cluster distribuito di nodi di calcolo ed è progettato per resistere al carico di lavoro, guasti del collegamento e guasti al nodo. È anche un progetto in rapido movimento con cambiamenti costanti (e spesso arretrati incompatibili) e dipendenze di terze parti.

Data tutta la complessità che lo sta alla base, è molto difficile e costoso per un'organizzazione auto-host e mantenere un cluster Kubernetes ed eseguire le loro applicazioni sopra di esso. Se non ti impegni a gestire i cluster Kubernetes, potresti voler utilizzare il servizio Elastic Kubernetes (EKS) di Amazon per distribuire le tue applicazioni. Ridurrà notevolmente il costo del funzionamento e puoi riposare facilmente sapendo che gli sviluppatori e gli operatori esperti ne sono in carica, invece.

Prerequisiti

  • Un account AWS con accesso alla console e autorizzazioni appropriate. Contatta l'operatore AWS della tua azienda per ottenere i privilegi appropriati.
  • Un utente AWS iam con accesso programmatico. Agiremo come utente quando controremo il nostro cluster Kubernetes. Ecco come è possibile installare e configurare AWS CLI per l'account in cui verrà creato il cluster EKS.
  • Una comprensione di base di Kubernetes

Creazione di un cluster Kubernetes

Puoi creare anche il cluster tramite CLI, ma la maggior parte dei nuovi utenti troverebbe la console grafica più amichevole. Quindi lo useremo invece. Supponendo che tu abbia effettuato l'accesso alla tua console AWS, possiamo iniziare andando a Servizi dall'angolo in alto a destra e facendo clic su EK Dal menu a discesa:

Il prossimo menu mostrerà la pagina introduttiva AWS, andiamo al Gruppi Opzione sotto il sottomenu EKS.

Qui puoi vedere l'elenco di tutti i cluster di Kubernetes creati nel tuo account. Dato che non ce n'è, creiamo uno.

Clicca su Crea cluster. Dagli un nome, seleziona la versione di Kubernetes che desideri, al momento di questa versione di scrittura 1.11 è supportato da Amazon. Quindi fare clic su Nome del ruolo, Perché dobbiamo creare un ruolo di cui abbiamo bisogno per fornitore ad Amazon EKS in modo che possa gestire il nostro cluster.

Creare e assegnare un ruolo

Prima di iniziare con quello, capiamo una differenza chiave tra Amazon EKS (un servizio AWS) e il tuo cluster Kubernetes SU AWS. AWS separa le responsabilità ovunque possa, per darti un controllo a grana molto fine su tutto. Se desideri regalare a te stesso o di terzi, completo controllo su queste risorse, puoi farlo anche tu puoi farlo.

Pensa a Amazon EKS Come una di queste parti che gestirà il tuo cluster Kubernetes (il tuo cluster EKS) per tuo conto, ma richiede il tuo autorizzazione esplicito per fare proprio questo. Per fare ciò "creeremo" e assegneremo il Ruolo di gestire i cluster EKS con il nostro account AWS e assegnarlo a Amazon EKS.

Nella nuova scheda IAM, che è stata aperta dopo aver fatto clic sul nome del ruolo, vedrai che alcuni ruoli predefiniti per la fatturazione e il supporto sono già in atto. Creiamo uno nuovo per gli EK. Clicca su Creare ruolo.

Seleziona il tipo di entità affidabile come Servizio AWS, per il quale verrebbe creato il ruolo e quindi selezionare EK in modo che il cluster EKS possa parlare direttamente con Amazon EKS direttamente ed eseguire in modo ottimale. Quindi fare clic Prossimo.

Ora, sarai in grado di vedere le autorizzazioni e i confini dell'autorizzazione associati a questo ruolo. I valori predefiniti vanno bene, basta fare clic su Avanti.

Il menu successivo ti chiederà di aggiungere tag (coppie di valore chiave) a questo ruolo. È completamente facoltativo, ma abbastanza utile se si utilizza la CLI per gestire le tue risorse AWS e ci sono molti ruoli e risorse diversi per gestire. Non aggiungeremo alcun tag, fai clic Prossimo e dai al tuo ruolo un nome e una descrizione significativi.

E questo è tutto! Clicking on Creare ruolo E possiamo tornare alla nostra creazione di cluster EKS. La prossima volta che vuoi creare un altro cluster, puoi riutilizzare di nuovo questo stesso ruolo.

Torna alla creazione di cluster

Anche se il tuo account AWS è nuovo di zecca, c'è ancora VPC predefinito (cloud privato virtuale) con alcune sottoreti create al suo interno. Questi sono spesso sparsi in diverse regioni AWS e devi selezionarne almeno due perché sia ​​un cluster.

E selezionare il gruppo di sicurezza predefinito per consentire alla maggior parte del traffico in entrata e in uscita di andare normalmente.

Clicca su Creare E il tuo cluster Kubernetes sarà attivo e funzionante in pochi minuti. Una volta creato il cluster. Puoi sempre ottenere una panoramica di esso andando a EKS → Cluster → mycluster. Naturalmente, l'ultima parte, il nome del tuo cluster sarà diverso.

Setup locale

Il modo in cui funziona la piattaforma EKS è che ti consente di interagire con il piano di controllo sull'endpoint API del piano. Il piano di controllo è equivalente ai nodi principali nei cluster alla vaniglia kubernetes. Funziona eccd, CAS e, naturalmente, il server API che utilizzerai per controllare il tuo cluster Kubernetes.

Dovrai configurare il tuo kubectl e/o la tua dashboard per lavorare con questo endpoint API e una volta configurata, puoi iniziare a elencare tutte le tue risorse, distribuzioni, ecc., Come faresti con un normale cluster Kubernetes.

Se non hai già installato Kubectl sul tuo computer, puoi farlo seguendo questo link per Mac, Windows o il tuo Linux Distro preferito.

Avremmo bisogno di un binario aggiuntivo che sarebbe bininario AWS iam autenticator per la tua piattaforma. Scaricalo da qui e rendilo eseguibile.

$ sudo chmod +x ./AWS-Am-Authenticator

Aggiungilo a una delle tue cartelle $ Path per esempio /USR /Bin o /Sbin o /USR /Local /Sbin. Oppure puoi fare come consiglia Amazon e semplicemente aggiungerlo all'interno della tua home directory e rendere $ home una parte del tuo percorso variabile.

$ cp ./AWS-AIM-AUTHENTICATOR $ Home/Bin/AWS-IAM-AUTHENTICATOR &&
Export Path = $ Home/Bin: $ Path

Prossimo test se i binari funzionano.

versione $ kubectl
$ AWS-iam-autenticatore Aiuto

Ora, dobbiamo configurare questi binari in modo che possano parlare in modo sicuro con il nostro cluster Kubernetes. Puoi farlo manualmente se non vuoi impostare AWS CLI, ma questo non è un approccio affidabile. Ecco perché ho menzionato nei prerequisiti che AWS CLI era necessario. Quindi, supponendo che tu lo abbia installato e configurati per funzionare con il tuo account AWS, eseguire il seguente comando:

Nota: se stavi già utilizzando KubeCtl per gestire un altro cluster Kubernetes, con i file di configurazione in predefinire ~/.kube posizione. Potresti voler eseguire il backup di questa cartella prima di eseguire il comando seguente.

$ AWS EKS Update-KubeConfig --Name MyCluster

Il nome del tuo cluster sarebbe diverso da "mycluster ", sostituiscilo invece. Il comando Update-KubeConfig aggiornerà effettivamente la configurazione Kubectl modificando i file in ~/.kube cartella. Se quella posizione non esiste, allora ne creerà uno nuovo per te.

Ora sei pronto per interfacciarsi con il tuo cluster.

$ aws eks descrivi-cluster --name mycluster

Dove al prossimo?

Ora sei finalmente pronto ad aggiungere nodi lavorativi utilizzando CloudFormation e distribuire l'applicazione in tutte le regioni a cui il VPC del cluster ha accesso. Tutto questo processo può anche essere automatizzato per Nth laurea se scegli di utilizzare AWS CLI per tutto, dalla creazione del cluster alla distribuzione e al ridimensionamento delle tue app.

Spero che tu abbia trovato questo tutorial utile e perspicace.