Kubernetes

Opprette Kubernetes Cluster ved hjelp av Amazons EKS-tjeneste

Opprette Kubernetes Cluster ved hjelp av Amazons EKS-tjeneste
Kubernetes er en kompleks mengde programvare. Den er ment for en distribuert klynge av beregningsnoder og er designet for å motstå overspenninger i arbeidsmengde, koblingsfeil og nodefeil. Det er også et raskt bevegelig prosjekt med konstante (og ofte bakover inkompatible) endringer og avhengighet fra tredjepart.

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

Forutsetninger

Opprette en Kubernetes-klynge

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

Neste meny viser AWS intro side, la oss gå til Klynger alternativet under EKS-undermenyen.

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

Klikk på Opprett klynge. Gi det et navn, velg versjonen av Kubernetes du vil ha, på tidspunktet for denne skrivende versjonen 1.11 støttes av Amazon. Neste klikk på Rollenavn, fordi vi trenger å opprette en rolle som vi trenger for å levere til Amazon EKS, slik at den kan administrere klyngen vår.

Opprette og tildele rolle

Før vi begynner med det, la oss forstå en nøkkelforskjell mellom Amazon EKS (en AWS-tjeneste) og Kubernetes-klyngen dinAWS. AWS adskiller ansvar uansett hvor det kan, for å gi deg en veldig finkornet kontroll over alt. Hvis du ønsker å gi deg selv, eller en tredjepart, full kontroll over disse ressursene, kan du også gjøre det.

Tenker på Amazon EKS som en slik part som vil administrere Kubernetes-klyngen (EKS-klyngen) på dine vegne, men det krever din eksplisitte tillatelse til å gjøre nettopp det. For å gjøre det vil vi 'opprette' og tildele Roll for å administrere EKS-klynger under vår AWS-konto og tildele den til Amazon EKS.

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

Velg typen pålitelig enhet som AWS-tjeneste, som rollen skulle opprettes for, og velg deretter EKS slik at EKS-klyngen din kan snakke direkte til Amazon EKS direkte og utføre optimalt. Klikk deretter Neste.

Nå vil du kunne se tillatelses- og tillatelsesgrensene som er knyttet til denne rollen. Standardverdiene er i orden, bare klikk på til neste.

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

Og det er det! Klikk på Lag rolle og vi kan gå tilbake til opprettelsen av EKS-klynger. Neste gang du vil opprette en ny klynge, kan du bruke den samme rollen på nytt.

Tilbake til Cluster Creation

Selv om AWS-kontoen din er helt ny, er det fortsatt standard VPC (Virtual Private Cloud) med noen få subnett 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 inn- 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 vil den siste delen, navnet på klyngen din være annerledes.

Lokalt oppsett

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

Du må konfigurere kubectl og / eller dashbordet ditt til å fungere med dette API-endepunktet, og når det er konfigurert, kan du begynne å liste opp alle ressursene, distribusjonene osv., Som du ville gjort 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 binær for plattformen din. Last ned den herfra og gjør den til en kjørbar.

$ sudo chmod + x ./ aws-iam-authenticator

Legg den til en av $ PATH-mappene dine, for eksempel / usr / bin eller / sbin eller / usr / local / sbin. Eller du kan gjøre som Amazon anbefaler, og bare legge det til i hjemmekatalogen din og gjøre $ HOME til en del av PATH-variabelen.

$ cp ./ aws-iam-authenticator $ HOME / bin / aws-iam-authenticator &&
eksporter PATH = $ HOME / bin: $ PATH

Neste test om binærfiler fungerer.

$ kubectl versjon
$ aws-iam-authenticator-hjelp

Nå må vi konfigurere disse binærfilene slik at de kan snakke med Kubernetes-klyngen på en sikker måte.  Du kan gjøre det manuelt hvis du ikke vil konfigurere 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 som 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 ville være forskjellig fra “myCluster ”, erstatt det i stedet. Kommandoen update-kubeconfig vil faktisk oppdatere kubectl-konfigurasjonen din ved å redigere filene i ~ /.kube mappe. Hvis stedet ikke eksisterer, vil det opprette et nytt sted for deg.

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

$ Aws eks beskriver-klynge - navn myCluster

Hvor du skal gå videre?

Nå er du endelig klar til å legge til arbeidernoder ved hjelp av CloudFormation og distribuere applikasjonen din over alle regionene du klynger VPC har tilgang til. All denne prosessen kan også automatiseres til nth grad hvis du velger å bruke AWS CLI for alt fra opprettelse av klyngen til distribusjon og skalering av appene dine.

Håper du syntes denne veiledningen var nyttig og innsiktsfull.

OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...
OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...