GNU/Linux >> Linux Esercitazione >  >> Linux

Come distribuire il cluster Kubernetes su AWS con Amazon EKS

In questo articolo impareremo come distribuire un cluster Kubernetes su AWS con Amazon EKS e come installare e configurare AWS CLI e Kubectl per interagire con il cluster EKS dalla riga di comando in Linux.

Prima di distribuire il cluster Kubernetes sul cloud AWS utilizzando Amazon Elastic Kubernetes Service, assicurati di disporre di un account AWS. Se non disponi di un account AWS, controlla la nostra Introduzione ad Amazon Web Services (AWS) articolo per sapere come crearne uno.

1. Configurazione del cluster EKS (nodo master)

Per creare un cluster EKS in AWS, devi avere un ruolo IAM creato in mano.

1.1. Crea ruolo IAM

I cluster Kubernetes gestiti da Amazon EKS effettuano chiamate per tuo conto ad altri servizi AWS per gestire le risorse che utilizzi con il servizio.

Devi prima creare un ruolo IAM con la seguente policy IAM prima di poter costruire cluster Amazon EKS:

AmazonEKSClusterPolicy

Accedi alla tua console AWS e cerca "IAM". Seleziona il servizio IAM per accedere alla console IAM.

Scegli Ruoli nelle opzioni sul lato sinistro, quindi fai clic su Crea ruolo.

Seleziona i servizi AWS e seleziona "EKS – Cluster" nelle opzioni dei casi d'uso. Una volta selezionato, fai clic su "Avanti" per procedere.

Assicurati che "AmazonEKSClusterPolicy" sia aggiunto, per impostazione predefinita verrà aggiunto quando abbiamo selezionato EKS-Cluster nei casi d'uso. Fare clic su Avanti per procedere ulteriormente.

Nel passaggio successivo, imposta il nome del ruolo. Qui chiamiamo il ruolo 'otechnix_eks'. Rivedi tutti i parametri e fai clic su "crea" alla fine per creare il ruolo.

Qui non aggiungiamo alcun tag per questo ruolo. Se abbiamo a che fare con più risorse, sarà utile disporre di tag per gestire, identificare e filtrare le risorse.

È stato appena creato un nuovo ruolo chiamato 'otechnix_eks'.

1.2. Crea cluster EKS

Vai alla Console AWS e cerca con "EKS". Seleziona il "Servizio Kubernetes elastico" per accedere alla console EKS.

Dalla casella a discesa "Aggiungi cluster", scegli l'opzione "crea cluster".

Otterrai la pagina "Configura cluster" in cui puoi nominare il cluster, selezionare la versione Kubernetes e selezionare il ruolo del servizio cluster che abbiamo creato nel passaggio precedente.

Qui, abbiamo chiamato il cluster "otechnix" e abbiamo selezionato la versione 1.21 di Kubernetes.

Se non hai trovato il ruolo, aggiorna i ruoli. Seleziona il ruolo e fai clic su "Avanti" per procedere.

In questo "Specifica rete", è necessario configurare la rete. Qui stiamo procedendo con le opzioni predefinite.

Seleziona il VPC esistente, VPC è Virtual Private Cloud dove puoi creare risorse AWS nella rete virtuale che hai definito. Procedi con le sottoreti predefinite disponibili nel VPC predefinito.

Scegli IPv4 come famiglia di indirizzi IP del cluster. È quello predefinito.

Scegli "Pubblico" per l'accesso all'endpoint del cluster che consente solo l'accesso pubblico al tuo cluster. Se scegli "Privato", abilita solo l'accesso privato al tuo cluster. Qui stiamo procedendo con Pubblico che è quello predefinito.

Puoi procedere con i "Componenti aggiuntivi di rete" predefiniti e fare clic su "Avanti".

Verrà visualizzata la pagina "Configura registrazione" in cui è possibile selezionare i tipi di registro che si desidera abilitare. Per impostazione predefinita, tutti i tipi sono disabilitati. Fai clic su "Avanti" per procedere.

Otterrai la pagina "Revisiona e crea". Rivedi tutti i dettagli che abbiamo configurato e fai clic su "Crea" in basso.

La creazione del cluster sarà in corso. Ci vorranno un paio di minuti per essere creato.

Viene creato un nuovo cluster EKS denominato "otechnix". Puoi verificare nella Console AWS🡪Amazon EKS🡪Clusters.

Successivamente, dobbiamo installare e configurare AWS CLI e Kubectl per interagire con il cluster EKS dalla riga di comando.

Per configurare le credenziali dell'AWS CLI, devi creare le credenziali di sicurezza in AWS IAM.

2. Crea credenziali di sicurezza

Accedi alla console AWS e cerca con IAM. Seleziona IAM per accedere alla console IAM.

Seleziona l'opzione "Le mie credenziali di sicurezza" disponibile a destra per creare e gestire le tue credenziali di sicurezza.

Fai clic sulla casella a discesa "Chiavi di accesso" e fai clic sull'opzione "Crea nuova chiave di accesso".

Dopo aver fatto clic sull'opzione "Crea nuova chiave di accesso", la chiave verrà creata. Scarica la chiave per configurare l'AWS CLI nella macchina Linux. Puoi visualizzare la chiave selezionando "Mostra chiave di accesso".

In questa dimostrazione la chiave è,

  • ID chiave di accesso: AKIAV7XU2AIJBX4EYKUO
  • Chiave di accesso segreta: jicg/UZyZfb92zuYNnEAE0MVSJisHb0Mlgac2Doe

3. Installa AWS CLI

AWS CLI è un'interfaccia a riga di comando che riunisce tutti i servizi AWS in un unico terminale, consentendoti di gestire numerosi servizi AWS con un unico strumento.

Usa il seguente curl comando per scaricare il file di installazione. Qui utilizziamo "CentOS Stream" per installare e configurare AWS CLI.

[[email protected] ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Decomprimi il file di installazione usando il comando seguente.

[[email protected] ~]# unzip awscliv2.zip

Installa AWS CLI utilizzando il comando seguente.

[[email protected] ~]# ./aws/install
You can now run: /usr/local/bin/aws --version

Verifica la versione utilizzando il comando sopra menzionato.

[[email protected] ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off

4. Configura AWS CLI

Utilizza il comando seguente per configurare l'AWS CLI. Richiederà l'ID chiave di accesso e la chiave di accesso segreta che abbiamo generato nella sezione 2.

[[email protected] ~]# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO
AWS Secret Access Key [None]: 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
Default region name [None]:
Default output format [None]:
[[email protected] ~]#

5. Installa Kubectl

Kubernetes comunica con il server API del cluster tramite l'utilità della riga di comando kubectl.

Utilizza il comando curl seguente per scaricare il binario kubectl venduto di Amazon EKS da Amazon S3.

[[email protected] ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl

Aggiungi l'autorizzazione di esecuzione al binario usando il comando seguente.

[[email protected] ~]# chmod +x ./kubectl

Copia questo binario nella cartella nel tuo percorso ed esporta il $PATH .

[[email protected] ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

Esporta il PERCORSO in ~/.bashrc :

[[email protected] ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

Kubectl è installato, puoi verificare la versione usando il comando seguente.

[[email protected] ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712

6. Configura Kubectl

Al momento kubectl non sa dove si trova il nodo master EKS in AWS. Dobbiamo far sapere a kubectl dove si trova il server principale citando la regione nome e cluste nome.

Utilizzare il comando seguente per verificare lo stato del cluster EKS.

[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status
"ACTIVE"

Aggiorna il file kubeconfig per usare kubectl per interagire con il cluster EKS. Recupererà tutte le configurazioni dal nodo Master al file kubeconfig.

[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix
Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config

Verifica il kubectl controllando il servizio utilizzando il comando seguente. Puoi assicurarti che Kubectl sia in grado di connettersi con il cluster EKS.

[[email protected] ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   105m

Conclusione

In questo articolo, abbiamo appreso come eseguire il provisioning del cluster Amazon EKS e come configurare AWS CLI e Kubectl per il cluster EKS nella piattaforma Linux.

Ho distribuito con successo il cluster Kubernetes sul cloud AWS, e adesso? Potresti chiederti. Consulta la nostra prossima guida per sapere come aggiungere gruppi di nodi e configurare i nodi di lavoro nel cluster AWS EKS.

  • Come aggiungere nodi di lavoro al cluster Amazon EKS

Linux
  1. Come configurare un cluster Kubernetes con Rancher

  2. Come distribuire il cluster Redis su Kubernetes

  3. Come monitorare lo spazio libero su disco su Amazon EC2 con Cloud Watch

  4. Come distribuire il tuo primo pod su un cluster Kubernetes

  5. Imposta il cluster Kubernetes con Rancher

Come creare un cluster Kubernetes con AWS CLI

Come aggiungere nodi di lavoro al cluster Amazon EKS

Come distribuire Kubernetes a nodo singolo con Microk8s su Ubuntu 20.04

Come distribuire Docker Compose Stack su Kubernetes con Kompose

Come distribuire CouchDB come cluster con Docker

Come distribuire un servizio in un cluster Docker Swarm