Kubernetes

Opsæt en Kubernetes-klynge på DigitalOcean

Opsæt en Kubernetes-klynge på DigitalOcean

Kubernetes er en af ​​de få teknologier, som folk kæmper med, ikke fordi det er kompliceret og svært at forstå, men fordi det er designet til at køre på serverkvalitet hardware og ikke let kan simuleres på en typisk hjemmecomputer, der let. Heldigvis er der en række cloudhostede platforme, der giver overkommelig infrastruktur til at eksperimentere med og forstå teknologier som Kubernetes.Som en forudsætning opfordrer jeg dig til at gennemgå vores indlæg om arkitekturen i Kubernetes og om knuder og bælg, byggestenene i en Kubernetes-klynge.Mens der er mange hostede løsninger til Kubernetes, vil vi implementere alt fra bunden på DigitalOcean, som er en cloud-hosting-løsning målrettet især udviklere.

En VPS-forekomst på denne platform er kendt som en dråbe. For at køre Kubernetes har du brug for mindst 2 GB RAM, og vi bruger $ 20 / måned-dråber til denne demo. De opkræver også pr. Time, så hvis du eksperimenterer i et par timer og derefter ødelægger alle dråberne, betaler du ikke mere end et par dollars.

Nu har vi to maskiner, en mærket master, og en anden bliver arbejdsknudepunktet. Så lad os konfigurere mesteren først.


Konfiguration af masternoden

For at konfigurere masternoden skal du SSH ind i den ved hjælp af den offentlige IP eller bruge konsollen fra DigitalOcean til at få adgang til terminalen som rootbruger.

De første kommandoer er de grundlæggende husholdningskommandoer:

$ apt opdatering && apt opgradering -y

Derefter henter vi de krævede gpg-nøgler og føjer dem til vores liste over pålidelige fjernopbevaringssteder.

$ curl -s https: // pakker.Sky.google.com / apt / doc / apt-key.gpg | apt-key tilføj -
$ kat < /etc/apt/sources.list.d/kubernetes.list
deb http: // apt.kubernetes.io / kubernetes-xenial hoved
EOF
$ apt opdatering

Kørsel af apt-opdatering for anden gang bringer systemet op i fart med officiel Kubernetes-repo. Nu installerer vi de nødvendige pakker.

$ apt installer docker.io
#Docker kræves til containerisering af apps.
$ apt installer kubelet kubeadm kubectl kubernetes-cni

Den sidste kommando installerer et par pakker, som hver især er vigtige af forskellige årsager:

  1. Kubeadm: Bootstraps og initialiserer Kubernetes på en node. Det kan bruges til at tildele en dråbe rollen som hovedknude eller arbejdsknude.
  2. Kubelet: Det er en baggrundsproces, der taler til masternoden og udfører handlinger, som den anmoder om.
  3. Kubectl: Det er kommandolinjeværktøjet, der giver udviklere og driftspersonale mulighed for at interagere med og kontrollere Kubernetes-klyngen.
  4. Kubernetes-cni: Det er Container Networking Interface, der kræves til intern kommunikation mellem pods og ekstern kommunikation.

Nu hvor vi har alle de nødvendige pakker installeret, er det tid for os at initialisere masternoden. Kør følgende:

$ kubeadm init --pod-network-cidr = 10.244.0.0/16 --
apiserver-annoncer-adresse $ DROPLET_IP_ADDRESS

Sørg for at erstatte den sidste variabel $ DROPLET_IP_ADDRESS med den offentlige IP på din masternode. Hvis alt fungerede fint, ville dette være din produktion:

Sørg for at kopiere den sidste linje "kubeadm join -token ...", da den indeholder de nødvendige sikkerhedsoplysninger, som en arbejdsknude skal bruge for at deltage i klyngen.

Hver masternode har en API-server, der kører på, som ovenstående kommando udsætter for podnetværket og også for kommandolinjegrænsefladen, kubectl, samt til et valgfrit web-UI.

Bemærk: Du kan bruge din dråbes offentlige IP-adresse til kubeadm init kommando, men hvis du vil isolere din masternode fra resten af ​​verden, kan du bruge DigitalOceans private IP-funktion, som vil blive brugt af forskellige bælg på tværs af forskellige noder til at tale med hinanden. Du kan senere kun eksponere front-end-tjenesterne, når dit projekt gennemføres.

Okay, et sidste trin før vi får vist sundhedsrapporten om vores masternode. Det kan være en god idé at køre:

$ mkdir -p $ HOME /.kube
$ cp / etc / kubernetes / admin.conf $ HOME /.kube
$ chown $ (id -u): $ (id -g) $ HOME / admin.konf
$ kubectl oprette -f
https: // rå.githubusercontent.com / coreos / flannel / master / Documentation / kube-flannel.yml - navneområde = kube-system

Flannel er installeret i den sidste kommando, der giver lag 3-netværksfunktionalitet, der er nødvendig for containere.
Nu kan vi løbe,

$ kubectl få noder
$ kubectl få pods -all-namespaces

Hvilket ville vise os staten alle knudepunkter og alle bælg i denne klynge, som i øjeblikket kun er en. Så det er på tide for os at konfigurere den anden dråbe og konvertere den til en Kubernetes arbejdsknude.


Konfiguration af håndlangere eller medarbejdernoder

En masse minion-konfiguration vil være en gentagelse af, hvad vi har gjort ovenfor, den er fra kubeadm kommando om, at vejen begynder at afvige.

Så for at konfigurere din arbejdsknude ved at gentage alle kommandoer til og med installation af pakker,

$ apt installer kubelet kubeadm kubectl kubernetes-cni

For at initialisere dråben som en kubernetes-knude skal du køre kommandoen, der blev genereret ved masternoden efter afslutningen afkubeadm init.

$ kubeadm join - token 3c37b5.08ed6cdf2e4a14c9
159.89.25.245: 6443 - opdagelses-token-ca-cert-hash
sha256: 52f99432eb33bb23ff86f62255ecbb

Bemærk, at indholdet efter dit token-flag, IP-adressen og sha256-kontrolsummen alle vil være meget forskellige i dit tilfælde. Det er det! Du har en ny node som medlem af Kubernetes-klyngen. Du kan bekræfte dette ved at angive de noder og de bælg, der kører på denne klynge.


Konklusion

Nu er det tid for dig at implementere din dockeriseret anvendelse i denne klynge, og du er velkommen til at dreje flere dråber op og bruge kubeadm deltage for at tilføje nye medlemmer til din Kubernetes-klynge.

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...