Opprette Kubernetes Cluster ved hjelp av Amazons EKS -tjeneste

Opprette Kubernetes Cluster ved hjelp av Amazons EKS -tjeneste
Kubernetes er et komplekst program av programvare. Det er ment for en distribuert klynge av beregningsnoder og er designet for å tåle bølger i arbeidsmengde, koblingssvikt og nodefeil. Det er også et raskt bevegelige prosjekt med konstante (og ofte tilbakestående inkompatible) endringer og tredjepartsavhengigheter.

Gitt all kompleksiteten som ligger til grunn for den, er det veldig vanskelig og dyrt for en organisasjon å selv vert og vedlikeholde en Kubernetes-klynge og kjøre applikasjonene sine på toppen av den. Hvis du ikke er i ferd med å drive Kubernetes -klynger, kan det være lurt å bruke Amazons Elastic Kubernetes Service (EKS) for å distribuere applikasjonene dine. Det vil redusere driftskostnadene i stor grad, og du kan hvile lett å vite at erfarne utviklere og operatører er ansvarlig for det.

Forutsetninger

  • En AWS -konto med konsolltilgang og passende tillatelser. Kontakt firmaets AWS -operatør for å få passende privilegier.
  • En AWS IAM -bruker med programmatisk tilgang. Vi vil fungere som denne brukeren når vi kontrollerer vår Kubernetes -klynge. Slik kan du installere og konfigurere AWS CLI for kontoen som EKS -klyngen vil bli opprettet.
  • En grunnleggende forståelse av Kubernetes

Opprette en Kubernetes -klynge

Du kan også opprette klyngen via CLI, men de fleste nye brukere vil finne den grafiske konsollen vennligere. Så vi vil bruke det, i stedet. Forutsatt at du har logget deg på AWS -konsollen din, kan vi komme i gang med å gå til Tjenester fra øverste høyre hjørne og klikker på EKS Fra rullegardinmenyen:

Neste meny viser AWS Intro -side, la oss gå til Klynger Alternativ under ENKS -undermenyen.

Her kan du se listen over alle Kubernetes -klyngene som er opprettet under kontoen din. Som det ikke er noen, la oss lage en.

Klikk på Lag klynge. Gi det et navn, velg versjonen av Kubernetes du ønsker, på tidspunktet for denne skriving versjon 1.11 støttes av Amazon. Neste klikk på Rollenavn, Fordi vi må skape en rolle som vi trenger leverandør til Amazon EKS, slik at den kan administrere klyngen vår.

Opprette og tildele rolle

Før vi kommer i gang med det, la oss forstå en sentral forskjell mellom Amazon Eks (en AWS -tjeneste) og Kubernetes -klyngen dinAws. AWS segregerer ansvar uansett hvor det kan, for å gi deg en veldig finkornet kontroll over alt. Hvis du ønsker å gi deg selv, eller en tredjepart, fullstendig kontroll over disse ressursene, kan du gjøre det også.

Tenker på Amazon Eks Som en slik fest som vil administrere Kubernetes -klyngen din (EKS -klyngen) på dine vegne, men det krever din eksplisitte tillatelse til å gjøre nettopp det. For å gjøre det vil vi 'skape' og tilordne Rolle av å administrere EKS -klynger under vår AWS -konto og tilordne den til Amazon Eks.

I den nye IAM -fanen, som har åpnet etter å ha klikket på rollenavn, vil du se noen få standardroller for fakturering og støtte allerede på plass. La oss lage en ny for EKS. Klikk på Skape rolle.

Velg hvilken type pålitelig enhet som AWS -tjeneste, som rollen vil bli opprettet for, og deretter velge EKS slik at EKS -klyngen kan snakke direkte med Amazon Eks direkte og utføre optimalt. Klikk deretter NESTE.

Nå vil du kunne se tillatelser og tillatelsesgrenser som er forbundet med denne rollen. Standardverdiene er i orden, bare klikk på neste.

Den neste menyen ber deg om å legge til tagger (nøkkelverdipar) til denne rollen. Det er helt valgfritt, men ganske nyttig hvis du bruker CLI for å administrere AWS -ressursene dine og det er mange forskjellige roller og ressurser for å administrere. Vi vil ikke legge til noen tagger, klikk NESTE og gi din rolle et meningsfullt navn og beskrivelse.

Og det er det! Klikk på Skape rolle Og vi kan gå tilbake til EKS -klyngens skapelse. Neste gang du vil lage en annen klynge, kan du bruke denne samme rollen igjen.

Tilbake til Cluster Creation

Selv om AWS -kontoen din er helt ny, er det fortsatt standard VPC (Virtual Private Cloud) med noen få undernett opprettet i den. Disse er ofte spredt over forskjellige AWS -regioner, og du må velge minst to av dem for at det skal være en klynge.

Og velg standard sikkerhetsgruppe for å la mest inngående og utgående trafikk gå normalt.

Klikk på Skape Og Kubernetes -klyngen din vil være i gang på få minutter. Når klyngen din er opprettet. Du kan alltid få en oversikt over det ved å gå til EKS → Cluster → Mycluster. Selvfølgelig, den siste delen, vil navnet på klyngen din være annerledes.

Lokalt oppsett

Måten EKS -plattformen fungerer på er at den lar deg samhandle med kontrollplanet på flyets API -endepunkt. Kontrollplan tilsvarer mesternodene i vaniljekuberneter klynger. Den kjører etcd, CAS og selvfølgelig API -serveren som du vil bruke for å kontrollere Kubernetes -klyngen.

Du må konfigurere Kubectl og/eller dashbordet ditt for å jobbe med dette API -endepunktet, og når det først er satt opp, kan du begynne å liste opp alle ressursene, distribusjonene osv., Som du vil gjøre med en vanlig Kubernetes klynge.

Hvis du ikke allerede har KUBECTL installert på datamaskinen din, kan du gjøre det ved å følge denne lenken for Mac, Windows eller din favoritt Linux Distro.

Vi trenger en ekstra binær som vil være AWS IAM Authenticator Binary for din plattform. Last ned den herfra og gjør det til en kjørbar.

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

Legg den til en av $ bane -mappene for eksempel /usr /bin eller /sbin eller /usr /local /sbin. Eller du kan gjøre som Amazon anbefaler og bare legge den til i hjemmekatalogen og gjøre $ hjem til en del av banen din variabel.

$ cp ./AWS-IAM-Authenticator $ Hjem/bin/aws-iam-authenticator &&
Eksportbane = $ Hjem/BIN: $ PATH

Neste test hvis binærene fungerer.

$ Kubectl -versjon
$ AWS-IAM-Authenticator-hjelp

Nå må vi konfigurere disse binærene slik at de kan snakke med Kubernetes -klyngen vår sikkert. Du kan gjøre det manuelt hvis du ikke vil sette opp AWS CLI, men det er ikke en pålitelig tilnærming. Derfor nevnte jeg i forutsetningene at AWS CLI var nødvendig. Så forutsatt at du har installert den og konfigurert den til å fungere med AWS -kontoen din, kjør følgende kommando:

Merk: Hvis du allerede brukte Kubectl til å administrere en annen Kubernetes -klynge, med konfigurasjonsfilene på standard ~/.kube plassering. Det kan være lurt å ta sikkerhetskopi av denne mappen før du kjører følgende kommando.

$ AWS EKS UPDATE-KUBECONFIG-NAVN MYCLUSTER

Navnet på klyngen din vil være annerledes enn “Mycluster ”, erstatte det i stedet. OPPDATERING-KUBECONFIG-kommandoen vil faktisk oppdatere din KUBECTL-konfigurasjon ved å redigere filene i ~/.kube mappe. Hvis det stedet ikke eksisterer, vil den lage en ny for deg.

Nå er du klar til å grensesnitt mot klyngen din.

$ AWS EKS beskriver-klyngen-Navn Mycluster

Hvor du skal neste?

Nå er du endelig klar til å legge til arbeidernoder ved hjelp av CloudFormation og distribuere applikasjonen din i alle regionene du Cluster's VPC har tilgang til. All denne prosessen kan også automatiseres til nth grad Hvis du velger å bruke AWS CLI for alt fra opprettelsen av klyngen til å distribuere og skalere appene dine.

Håper du fant denne opplæringen nyttig og innsiktsfull.