een Kubernetes Cluster maken met AWS CLI

Elastic Kubernetes Service (EKS) is een beheerde Kubernetes dienst die gehost wordt op AWS.

De belangrijkste reden om EKS te gebruiken is om de last van het beheren van pods, nodes, enz. weg te nemen. Het draaien van Kubernetes in AWS vereist momenteel veel technische expertise en valt vaak buiten het stuurhuis van veel organisaties. Met EKS wordt de vereiste infrastructuur beheerd door Amazons “in-house” team, waardoor gebruikers een volledig beheerde Kubernetes engine overhouden die zowel via een API als via standaard kubectl tooling kan worden gebruikt.

EKS zal alle Kubernetes functies ondersteunen, waaronder namespaces, beveiligingsinstellingen, resource quota’s & toleranties, inzetstrategieën, autoscalers en meer. EKS staat je toe je eigen control plane te draaien, maar integreert ook met AWS IAM zodat je je eigen toegangscontrole tot de API kunt onderhouden.

EKS is gebouwd bovenop Amazons bestaande “Kubernetes-as-a-Service” oplossing Elastic Container Service for Kubernetes (EKS) is een door AWS beheerde dienst die de inzet, het beheer en de werking van Kubernetes clusters in de AWS Cloud vereenvoudigt.

Als je Kubernetes op AWS draait, ben je verantwoordelijk voor het beheer van het besturingsvlak (d.w.z. master nodes & worker nodes). Je moet er ook voor zorgen dat api-server hoog beschikbaar en fouttolerant is, enz.

EKS neemt de last van het beheer van het besturingsvlak van je af, door dat te doen kun je je nu concentreren op het draaien van je Kubernetes werklasten. Het wordt het meest gebruikt voor stateless toepassingen zoals microservices, omdat het besturingsvlak door Amazon (EKS) beheerd wordt.

In deze gids leren we hoe je een Kubernetes cluster op AWS maakt met EKS. Je leert hoe je een administratieve gebruiker voor je Kubernetes cluster aanmaakt. Je leert ook hoe je een app naar het cluster kunt inzetten. Tot slot test je je cluster om te controleren of alles naar behoren werkt.

Laten we aan de slag gaan!

Vereisten

  • Een AWS account.
  • Het artikel gaat ervan uit dat je bekend bent met Kubernetes en AWS. Ben je dat niet, neem dan even de tijd om de documentatie over beide door te nemen voor je aan deze gids begint.

Een admin gebruiker met machtigingen aanmaken

Laten we beginnen met het aanmaken van een admin gebruiker voor je cluster.

1. Log in op je AWS console en ga naar IAM. Klik op Gebruikers > Gebruikers toevoegen.

Navigeren naar IAM

Gebruiker toevoegen

2. Geef in het volgende scherm een gebruikersnaam op, zoals admin. KiesToegangssleutel – Programmatische toegang. Klik op Volgende: Toestemmingen

Gebruikersgegevens instellen

3. Kies in het volgende scherm direct Attach existing policies. Klik op AdministratorAccess. Klik op Volgende: Tags.

Het beleid AdministratorAccess is een ingebouwd beleid bij Amazon Elastic Container Service (ECS). Het geeft volledige toegang tot alle ECS bronnen en alle acties in de ECS console. Het belangrijkste voordeel van dit beleid is dat we geen extra gebruiker met extra rechten hoeven aan te maken of te beheren om toegang te krijgen tot de AWS EKS dienst.

Je admin gebruiker kan EC2 instances aanmaken, CloudFormation stacks, S3 buckets, enz. Je moet heel voorzichtig zijn met wie je dit soort toegang geeft.

Rechten instellen

3.Klik in het volgende scherm op Next: Review .

Tags toevoegen

4.Op het volgende scherm klik je op Create user.

Toevoegen van admin gebruiker

5. Op het volgende scherm krijg je een groene Succes melding. De Access key ID en
Secret toegangssleutels worden ook in dit scherm getoond. Je zult deze sleutels nodig hebben om later je CLI hulpmiddelen in te stellen, dus noteer deze sleutels ergens anders.

met succes de gebruikers aangemaakt

Een EC2 Instantie aanmaken

Nu je de administratieve gebruiker hebt aangemaakt , laten we een EC2 instance aanmaken om als je Kubernetes master node te gebruiken.

1. Typ EC2 in het zoekvak. Klik op de EC2 link. Klik op Launch instance.

Een EC2 Instance creëren

Een EC2 Instance creëren

2. Kies de Amazon Linux 2 AMI (HVM) voor je EC2 instance. We zullen deze Amazon Linux AMI gebruiken om later gemakkelijk Kubernetes en andere benodigde gereedschappen te installeren, zoals: kubectl!, docker, ect.

 Een Amazon Machine Beeld Kiezen

3. Klik in het volgende scherm op Next: Configure Instance Details.

Een Instance Type kiezen

3.Schakelin het volgende schermde optie Auto-assign Public IP in. Omdat de server binnen een privé subnet staat, zal hij niet extern toegankelijk zijn. Je kunt je servers publieke IP adressen geven door een Elastic IP adres aan de instantie te koppelen. Door dit te doen is je EC2 en ELK toegankelijk. Klik op Volgende: Opslag.

Instance Detail configureren

3. In het volgende scherm klik je op Next: Tags toevoegen > Volgende: Configureer Veiligheidsgroep.

tags toevoegen

Veiligheid

4. Op het volgende scherm klik je op Review and Launch > Launch.

Herziening en Lancering

Herziening en Lancering

5. Een dialoogvenster voor sleutelparen verschijnt. Klik op Create a new key pair. Geef het een naam, download dan het .pem bestand en bewaar het op een veilige plaats. Klik op Launch instance.

 Maak een nieuw sleutelpaar.

De commandoregel gereedschappen instellen

Nu je een EC2 instance hebt aangemaakt, moet je er de client voor installeren. In AWS termen is een client een command-line hulpmiddel waarmee je cloud objecten kunt beheren. In dit onderdeel leer je hoe je de Command Line Interface (CLI) hulpmiddelen kunt instellen.

1. Navigeer naar je EC2 dashboard. Je zou je nieuwe EC2 instance draaiend moeten zien. Zo niet, dan kan het zijn dat je instantie zijn eerste boot neemt, wacht 5 minuten en probeer het opnieuw. Zodra je instance draait, klik je op Connect.

Verbinden met EC2

2. Klik in het volgende scherm op Connect.

Verbinden met EC2

Je wordt naar een interactieve SSH sessie op je browser gebracht. Met SSH kun je veilig verbinding maken met en werken op een remote server. Met de interactieve SSH sessie kunnen we de commandoregel gereedschappen voor EKS en Kubernetes direct op je EC2 instance installeren.

interactieve SSH sessie

Zodra je in de SSH sessie inlogt, is het eerste wat je moet doen je aws-cli versie controleren. Dit is om er zeker van te zijn dat je de nieuwste versie van AWS CLI gebruikt. De AWS CLI wordt gebruikt om je cluster te configureren, te beheren en ermee te werken.

Als je versie verouderd is, kun je tijdens het aanmaken van het cluster wat problemen en fouten tegenkomen. Als je versie lager is dan 2.0, dan moet je die upgraden.

3. Voer het volgende commando uit om je CLI versie te controleren.

aws --version

Zoals je in de uitvoer hieronder kunt zien, draaien we versie 1.18.147 van aws-cli, die erg verouderd is. Laten we de CLI upgraden naar de nieuwste beschikbare versie, die op het moment van schrijven van dit artikel v2+ is.

Controleer je CLI versie

4. Voer het onderstaande commando uit om de nieuwste beschikbare versie van AWS CLI naar je EC2 instance te downloaden. curl zal je bestand downloaden van de gegeven url, -o geeft het een naam naar keuze, en “awscli-exe-linux-x86_64.zip” is het bestand dat gedownload moet worden

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

 download de nieuwste beschikbare versie van AWS CLI

5. Zodra het downloaden voltooid is, voer je het onderstaande commando uit om de inhoud van je gedownloade bestand uit te pakken naar de huidige directory.

unzip awscliv2.zip

6. Voer vervolgens het which aws commando uit om je link in te stellen voor de nieuwste versie van AWS CLI. Dit commando laat je weten waar in het PATH van je omgeving het te vinden is, zodat je het vanuit elke directory kunt uitvoeren.

which aws

Zoals je in de uitvoer hieronder ziet, bevindt de verouderde AWS CLI zich in /usr/bin/aws.

je omgevings-PATH

7. Nu moet je je aws-cli configureren door een update commando met enkele parameters uit te voeren. De eerste parameter./aws/install helpt ons om AWS CLI naar de huidige directory te installeren. De tweede parameter –bin-dir vertelt waar in het PATH van je omgeving de AWS CLI komt te staan, en de derde parameter –install-dir is een pad ten opzichte van bin-dir. Dit commando zorgt ervoor dat al je paden up to date zijn.

sudo ./aws/install --bin-dir /usr/bin --install-dir /usr/bin/aws-cli --update

8. Voer het commando aws –version opnieuw uit om er zeker van te zijn dat je de laatste versie gebruikt.

aws --version

Je zou de momenteel geïnstalleerde AWS CLI versie moeten zien. Zoals je in de uitvoer hieronder kunt zien, gebruiken we nu v2.4.7 van AWS CLI. Dit is de nieuwste versie en zal je geen problemen geven bij het configureren van de volgende stappen.

gebruik je de nieuwste versie

9. Nu je omgeving goed geconfigureerd is, is het tijd om te configureren met welk AWS account je via de AWS CLI wilt communiceren. Voer het volgende commando uit om een lijst te maken van je huidig geconfigureerde account omgevingsvariabelen met de alias die je er bij wilt gebruiken.

aws configure

Dit toont je al je AWS account omgevingsvariabelen die momenteel geconfigureerd zijn. Je zou iets als dit in de uitvoer hieronder moeten zien. Je moet enkele configuratieparameters instellen om de AWS CLI te laten communiceren met je benodigde accounts. Voer het onderstaande commando uit, dat je door een configuratiewizard voert om je AWS account in te stellen.

  • AWS Access Key ID [Geen]: Voer de AWS toegangssleutel in die je eerder noteerde.
  • AWS Secret Access Key [Geen]: Voer de AWS Secret Access Key in die je eerder noteerde.
  • Je moet ook de standaard regionaam opgeven waar je EKS cluster komt te staan. Je moet een AWS regio kiezen waar je gewenste EKS cluster komt te staan en die het dichtst bij je in de buurt is. In deze zelfstudie kiezen we us-east-1 vanwege de geografische ligging bij ons in de buurt en het gebruiksgemak voor de volgende stappen in de zelfstudie.
  • Standaard uitvoerformaat [Geen]: Voer json in als je standaard uitvoerformaat omdat het ons later goed van pas komt om de configuratiebestanden te bekijken.

aws configureren

Nu je je AWS CLI gereedschappen hebt ingesteld. Het is tijd om het Kubernetes CLI gereedschap met de naam kubectl in je omgeving te configureren, zodat je met je EKS cluster kunt interageren.

Kubectl is de command-line interface voor Kubernetes. Met Kubectl kun je toepassingen beheren die op Kubernetes clusters draaien. Kubectl is niet standaard geïnstalleerd op Linux en MacOS systemen. Je kunt Kubectl op andere systemen installeren door de instructies op de Kubernetes website te volgen.

10. Voer het onderstaande commando uit om de kubectl binary te downloaden. Een binary is een computerbestand met de extensie “.bin”, dat alleen op bepaalde soorten computers uitvoerbaar is. Het is een gemakkelijke manier om ongelijksoortige computers bestanden te laten delen. We gebruiken kubectl binary omdat het kubectl binary platform agnostisch is. Het werkt op elk systeem dat een Unix-achtig besturingssysteem kan draaien, waaronder Linux en Mac OS.

curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.8/2020-04-16/bin/linux/amd64/kubectl

11. Voer het onderstaande chmod commando uit om het kubectl binary uitvoerbaar te maken. Het chmod commando is een Unix en Linux commando dat gebruikt wordt om toegangspermissies voor bestanden of mappen te veranderen. Het Linux chmod commando gebruikt het octale cijfersysteem om de permissies voor elke gebruiker op te geven. Kubectl kan nu op je lokale machine gebruikt worden.

chmod +x ./kubectl

12. Voer het onderstaande commando uit om een kubectl map aan te maken in je $HOME/bin map en kopieer de kubectl binary er naar toe. Het mkdir -p $HOME/bin commando maakt een bin sub-directory binnen je home directory. Het mkdir commando wordt gebruikt om nieuwe mappen of directories te maken. De optie -p vertelt het mkdir commando om automatisch alle nodige bovenliggende mappen voor de nieuwe map aan te maken. De $HOME/bin is een omgevingsvariabele die het pad van je thuismap opslaat. Elke Linux gebruiker heeft de $HOME/bin directory in zijn bestandssysteem. Het && construct wordt een logische EN operator genoemd. Het wordt gebruikt om commando’s te groeperen zodat meer dan één commando tegelijk kan worden uitgevoerd. Het && construct is niet nodig om dit commando te laten werken, maar het staat er als een beste werkwijze.

Het cp ./kubectl $HOME/bin/kubectl commando kopieert het lokale kubectl binaire bestand naar je kubectl directory en hernoemt het bestand naar kubectl. Tenslotte doet het export commando wat het zegt – het exporteert een omgevingsvariabele naar het geheugen van de shell, zodat die gebruikt kan worden door elk programma dat vanuit deze shell wordt uitgevoerd. In ons geval moeten we kubectl vertellen waar onze kubectl directory is, zodat het de kubectl binary kan vinden.

mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

13. Voer het onderstaande kubectl versie commando uit om te controleren of kubectl correct geïnstalleerd is. Het kubectl version –short –client commando voert een verkorte versie van de kubectl versie uit in een goed geformatteerd, door mensen leesbaar Kubernetes REST API antwoord. De –client optie laat kubectl de opgemaakte versie van Kubernetes’ REST API antwoord afdrukken, die consistent is over versies heen.

De –short optie vertelt kubectl om basisinformatie te geven in een compacte vorm met één decimaal voor floats en een afgekorte tijdsindeling die hetzelfde is als –format. Je zou een uitvoer als hieronder moeten zien. Deze uitvoer vertelt ons dat we kubectl met succes geïnstalleerd hebben, en dat het de juiste versie gebruikt.

controleer of kubectl correct geïnstalleerd is

Het laatste wat je in deze sectie moet doen is het eksctl cli gereedschap configureren om je Amazon EKS cluster te gebruiken. Het eksctl cli gereedschap is een command-line interface waarmee je Amazon EKS clusters kunt beheren. Het kan clustercredentials genereren, de clusterspec bijwerken, worker nodes maken of verwijderen en vele andere taken uitvoeren.

14. Voer de volgende commando’s uit om het eksctl cli gereedschap te installeren en de versie ervan te verifiëren.

curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp && sudo mv /tmp/eksctl /usr/bin
eksctl version

Versie van eksctl controleren

Een EKS Cluster voorzien

Nu je je EC2 en de AWS CLI tools hebt, kun je je eerste EKS Cluster provisionen.

1. Voer het onderstaande eksctl create cluster commando uit om een cluster met de naam dev te provisionen in de us-east-1 regio met één master en drie core nodes.

eksctl create cluster --name dev --version 1.21 --region us-east-1 --nodegroup-name standard-workers --node-type t3.micro --nodes 3 --nodes-min 1 --nodes-max 4 --managed

Het eksctl create cluster commando maakt een EKS Cluster in de regio us-east-1 met de standaardwaarden die Amazon aanbeveelt voor deze specifieke configuratie en geeft alle argumenten dienovereenkomstig tussen aanhalingstekens ( ” ) of als variabelen ( ${ } ) door.

De parameter name wordt gebruikt om de naam van deze EKS Cluster te bepalen en het is gewoon een vriendelijk label voor je gemak. version is de versie die je de cluster wilt laten gebruiken, voor dit voorbeeld houden we het bij Kubernetes v1.21.2 maar voel je vrij om ook andere opties te verkennen.

nodegroup-name is de naam van een nodegroep die dit cluster moet gebruiken om worker nodes te beheren. In dit voorbeeld houd je het eenvoudig en gebruik je gewoon standard-workers, wat betekent dat je worker nodes standaard één vCPU en 3GB geheugen zullen hebben.

nodes is het totale aantal core worker nodes dat je in je cluster wilt hebben. In dit voorbeeld worden drie nodes gevraagd. nodes-min en nodes-max regelen het minimum en maximum aantal nodes dat in je cluster is toegestaan. In dit voorbeeld worden ten minste één maar niet meer dan vier worker nodes aangemaakt.

2. Je kunt naar je CloudFormation console navigeren om de voortgang van de provisioning te controleren.

navigeer naar je CloudFormation

Zoals hieronder te zien is, zie je dat je dev stack wordt aangemaakt.

je dev stack wordt gemaakt

3. Klik op de dev stack hyperlink > Event. Je ziet een lijst van gebeurtenissen die te maken hebben met het creatieproces. Wacht tot het provisioning proces voltooid is – dit kan tot 15 minuten duren, afhankelijk van je specifieke omstandigheden – en bekijk de status van de stack in de CloudFormation console.

De status van de stapel controleren

4. Nadat je gewacht hebt tot de stack klaar is met provisionen, navigeer je naar je CloudFormation console, je ziet nu de status van je dev stack CREATE_COMPLETE.

Controleer de status van je dev stack

Navigeer nu naar je EC2 console. Je ziet één master node en drie core nodes in het EC2 Dashboard. Deze uitvoer bevestigt dat je het EKS cluster met succes hebt opgezet.

Je EC2 knooppunten controleren

5. Voer het onderstaande eksctl commando uit om de gegevens van het dev cluster te krijgen, zoals cluster-ID en regio.

eksctl get cluster

 krijg de details van het dev cluster

6. Voer het aws eks update commando hieronder uit om de credentials van de remote worker node te krijgen. Dit commando moet uitgevoerd worden op elke computer die je met het cluster wilt verbinden. Het downloadt credentials voor je kubectl om op afstand toegang te krijgen tot EKS Kubernetes Cluster, zonder AWS Access toegangssleutels te gebruiken.

aws eks update-kubeconfig --name dev --region us-east-1

kubeconfig bijwerken

Je Applicatie op de EKS Cluster inzetten

Nu je je EKS Cluster provisioned hebt. Laten we je eerste applicatie op je EKS Cluster inzetten. In dit onderdeel leer je hoe je een nginx webserver samen met een load balancer als voorbeeld toepassing kunt inzetten.

1. Voer het onderstaande commando uit om git op je systeem te installeren. Je hebt git nodig om de nginx webserver code van GitHub te klonen.

sudo yum install -y git 

2. Voer het git clone commando hieronder uit om de nginx webserver code van github naar je huidige directory te klonen.

git clone https://github.com/ata-aws-iam/htf-elk.git

3. Voer het commando cd htf-elk uit om de werkdirectory te veranderen in de nginx configuratie bestanden directory.

cd htf-elk

4. Voer het ls commando uit om de bestanden in de huidige directory op te sommen.

ls

Je zult de volgende bestanden aanwezig zien in je nginx directory.

Lijst van bestanden in de huidige directory

5. Voer het onderstaande cat commando uit om het nginx-deployment.yaml bestand te openen en je ziet de volgende inhoud die in dat bestand aanwezig is.

cat nginx-deployment.yaml

open het nginx deployment bestand

  • apiVersion: apps/v1 is de kern Kubernetes API
  • soort: Deployment is het soort resource dat voor dit bestand wordt gemaakt. In een Deployment wordt per container een Pod aangemaakt.
  • metadata: specificeert metadata waarden om te gebruiken bij het aanmaken van een object
  • naam: nginx-deployment is de naam of het label voor deze deployment. Als het geen waarde heeft, wordt de naam van de inzet uit de naam van de directory genomen.
  • labels: geeft labels voor de toepassing. In dit geval wordt het gebruikt voor het routeren van diensten via Elastic Load Balancing (ELB)
  • env: dev beschrijft een omgevingsvariabele die met een stringwaarde wordt gedefinieerd. Zo kun je dynamische configuratiegegevens aan je container geven.
  • spec: is de plaats waar je bepaalt hoeveel replica’s er gemaakt moeten worden. Je kunt de eigenschappen specificeren waarop je elke replica wilt baseren.
  • replicas: 3 zal drie replicanten van deze pod op je cluster aanmaken. Deze zullen verdeeld worden over de beschikbare worker nodes die overeenkomen met de label selector .
  • containerPort: 80 zal een poort van de container aan een poort op de host toewijzen. In dit geval zal het poort 80 op de container toewijzen aan poort 30000 van je lokale machine.

6. Voer het onderstaande cat commando uit om het service bestand nginx-svc.yaml te openen. Je zult de volgende inhoud aanwezig zien in dat bestand.

cat nginx-svc.yaml

open het dienstbestand

7. Voer het onderstaande kubectl apply commando uit om de nginx dienst in je Kubernetes Cluster aan te maken. Het zal een paar minuten duren voor het EKS cluster ELB voor deze dienst provisioneert.

kubectl apply -f ./nginx-svc.yaml

creëer de nginx dienst

8. Voer het onderstaande kubectl get service uit om de details te krijgen over de nginx dienst die je zojuist hebt aangemaakt.

kubectl get service

Je krijgt de volgende uitvoer. ClusterIP is het interne kubernetes IP dat aan deze dienst is toegewezen. De LoadBalancer ELB naam is een unieke identificatie voor deze dienst. Er wordt automatisch een ELB op AWS aangemaakt en een publiek eindpunt voor deze dienst ingesteld dat bereikbaar is voor diensten naar keuze, zoals webbrowser (Domeinnaam) of API cliënten. Het is bereikbaar via een IP adres naar keuze.

Load Balancer ELB met naam a6f8c3cf0fe3a468d8828db6059ef05e-953361268.us-east-1.elb.amazonaws.com heeft poort 32406, die gemapt zal worden aan de container poort 80. Noteer de DNS hostname van de load balancer ELB uit de uitvoer; je zult die nodig hebben om later toegang te krijgen tot de dienst.

krijg de details over de nginx dienst

9. Voer het onderstaande kubectl apply commando uit om de ontplooiing voor je cluster toe te passen.

kubectl apply -f ./nginx-deployment.yaml

 pas de inzet toe

10. Voer het kubectl get deployment uit om de details te krijgen over de nginx inzet die je zojuist gemaakt hebt.

kubectl get deployment

krijg de details over de nginx inzet

11. Voer het onderstaande commando uit om je nginx toepassing via de load balancer te benaderen. Je zult in je terminal/console de welkomstpagina van nginx zien, die bevestigt dat je nginx toepassing werkt zoals verwacht. Vervang <LOAD_BALANCER_DNS_HOSTNAME> door de DNS hostnaam van de load balancer die je hierboven noteerde.

curl "<LOAD_BALANCER_DNS_HOSTNAME>"

toegang tot je nginx toepassing

12. Je kunt je nginx toepassing ook via de browser benaderen door de DNS hostname van de load balancer in de browser te kopiëren en te plakken.

 toegang tot je nginx toepassing via de browser

Verifiëren van de Highly Available (HA) Feature voor je Cluster

Nu je je cluster met succes hebt aangemaakt, kun je de HA eigenschap testen om er zeker van te zijn dat hij werkt zoals verwacht.

Kubernetes ondersteunt inzetten met meerdere knooppunten met behulp van speciale controllers die samenwerken om gerepliceerde pods of diensten op te bouwen en te beheren. Enkele van deze controllers zijn Deployments, ReplicationController, Job en DaemonSet.

Een inzetcontroller wordt gebruikt om replicatie op pod of dienst niveau te regelen. Als je pod geen middelen meer heeft, verwijdert hij alle pods van die replicatiecontroller (behalve degene die op de master node draait) en maakt nieuwe replica’s van deze pod. Dit zal je helpen een zeer hoge up-time over je toepassingen te krijgen.

1. Navigeer naar je EC2 dashboard en stop alle drie de werkknooppunten.

stop alle drie de werkknooppunten

2. Voer het onderstaande commando uit om de status van je pods te controleren. Je krijgt verschillende statussen: Terminating, Running, en Pending voor al je pods. Want zodra je alle worker nodes stopt, zal EKS proberen alle worker nodes en pods opnieuw te starten. Je ziet ook enkele nieuwe nodes, die je kunt herkennen aan hun leeftijd(50s).

kubectl get pod

Controleer de status van je pods

Het duurt even om de nieuwe EC2 instance en pods op te starten. Zodra alle worker nodes opgestart zijn, zie je dat alle nieuwe EC2 instances weer in Running status komen.

Controleer alle nieuwe EC2 instances

3. Herstart de kubectl get service opnieuw. Je ziet dat ESK een nieuwe nginx dienst aanmaakt en een nieuwe DNS naam voor je load balancer.

kubectl get service 

De dienst controleren

Kopieer en plak de nieuwe DNS in je browser. Je krijgt nu weer het welkom van de Nginx pagina. Deze uitvoer bevestigt dat je HA werkt zoals bedoeld.

Je nginx load balancer controleren

Conclusie

In dit artikel heb je geleerd hoe je je EKS cluster kunt opzetten. Je controleerde ook of de Highly Available Feature werkt door al je worker nodes te stoppen en de status van je pods te controleren. Je zou nu in staat moeten zijn om EKS clusters te maken en te beheren met kubectl.