Pildi viide: https://unsplash.com/photos/lCGfT4xYaEc

Kuidas luua AWS-ist mõne minuti jooksul Kubernetes'i klaster

Kubernetesi installimine AWS-i

Amazoni veebiteenused (AWS) tutvustasid hiljuti hallatavat Kubernetesi teenust nimega EKS. Sellest hoolimata on see endiselt eelvaate režiimis. Seetõttu saab Kubernetesit praegu AWS-i installida, nagu on selgitatud Kubernetesi dokumentatsioonis, kasutades kas konjuureerimist, Kubernetes Operations (kops), CoreOS Tectonic või Kube-aws. Nendest valikutest leidsin, et kopsusid on äärmiselt lihtne kasutada ja need on kenasti ette nähtud installimise kohandamiseks, versiooniuuenduste tegemiseks ja Kubernetes'i klastrite haldamiseks aja jooksul. Selles artiklis selgitan, kuidas kasutada Kubernetesi operatsioonide tööriista Kubernetesi klastri installimiseks AWS-i mõne minuti pärast.

Sammud järgimiseks

  1. Kõigepealt vajame AWS-i kontot ja juurdepääsuklahve. Logige sisse oma AWS-i konsooli ja genereerige oma kasutajale pääsuklahvid, liikudes lehele Kasutajad / turvalisuse mandaat.

2. Installige AWS CLI, järgides selle ametlikku installijuhendit:

# OSX, kasutades Homebrew'i
pruulima installida awscli
# Linux
pip install awscli - upgrade --user
# awscli versioon: 1.6.5

3. Installige kops, järgides selle ametlikku paigaldusjuhendit:

# OSX, kasutades Homebrew'i
pruulima installida kops
# Linux
curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '' '-f 4) / kops-linux-amd64
chmod + x kops-linux-amd64
sudo mv kops-linux-amd64 / usr / local / bin / kops
# kops versioon: 1.9.0

4. Looge uus IAM-kasutaja või kasutage olemasolevat IAM-i kasutajat ja andke järgmised õigused:

AmazonEC2FullAccess
AmazonRoute53FullAccess
AmazonS3FullAccess
AmazonVPCFullAccess

5. Seadistage AWS-i CLI, pakkudes juurdepääsuvõtit, salajast juurdepääsuvõtit ja AWS-i piirkonda, kuhu soovite Kubernetes'i klastri installida:

aws seadistada
AWS-i juurdepääsuvõtme ID [puudub]: AccessKeyValue
AWS salajane juurdepääsuvõti [puudub]: SecretAccessKeyValue
Piirkonna vaikenimi [puudub]: us-east-1
Vaikimisi väljundvorming [puudub]:

6. Looge AWS S3-kopp, et kops püsiks:

kopp_nimi = imesh-kops-osariik-pood
aws s3api loomise ämber \
--bucket $ {bucket_name} \
- piirkond-ida-1

7. Luba ülaltoodud S3 kopa versioonimine:

aws s3api put-bucket-versioning --bucket $ {bucket_name} --versioning-configuration Status = Lubatud

8. Sisestage Kubernetesi klastrile nimi ja määrake S3-kopa URL järgmistes keskkonnamuutujates:

eksporti KOPS_CLUSTER_NAME = imesh.k8s.local
eksport KOPS_STATE_STORE = s3: // $ {bucket_name}

Ülaltoodud koodiploki lisamine võib sõltuvalt opsüsteemist lisada faili ~ / .bash_profile või ~ / .profile, et muuta need kättesaadavaks kõigis terminali keskkondades.

9. Looge Kubernetes'i klastri definitsioon, kasutades selleks summat, pakkudes nõutavad sõlmede arv, sõlme suurus ja AWS-tsoonid. Sõlme suurus või pigem EC2 eksemplari tüüp tuleks otsustada vastavalt töökoormusele, mida plaanite Kubernetes'i klastris käivitada:

kops luua klastri \
- sõlmede arv = 2 \
- node-size = t2.medium \
- tsoonid = us-ida-1a \
- nimi = $ {KOPS_CLUSTER_NAME}

Kui näete autentimisprobleeme, proovige seada järgmised keskkonnamuutujad, et kops saaks EC2 mandaati otse lugeda ilma AWS CLI-d kasutamata:

eksport AWS_ACCESS_KEY = AccessKeyValue
eksport AWS_SECRET_KEY = SecretAccessKeyValue

Vajadusel käivitage kopsugrupi abikäsk, et leida täiendavaid parameetreid:

kops luua klastri - abi

10. Vaadake Kubernetes'i klastri määratlus üle, kasutades järgmist käsku:

kops redigeeri klaster - nimi $ {KOPS_CLUSTER_NAME}

11. Loogem nüüd AWS-i klaster Kubernetes, täites käsu kops update:

kops värskendusklaster - nimi $ {KOPS_CLUSTER_NAME} - silmad

12. Ülaltoodud käsu jaoks võib AWS-is vajalike infrastruktuuriressursside loomine veidi aega võtta. Käivitage valideerimise käsk, et kontrollida selle olekut ja oodake, kuni klaster saab valmis:

kops valideerib klastri
Kubectli kontekstis oleva klastri kasutamine: imesh.k8s.local
Klastri valideerimine imesh.k8s.local
INSTANCE RÜHMAD
NIMI ROLLI MASINATÜÜP MIN MAX SUBNETID
kapten-us-ida-1a kapten m3.medium 1 1 us-ida-1a
sõlmed Sõlm m4.xlarge 2 2 us-ida-1a
NUDE STAATUS
NIMI ROLL VALMIS
ip-172-20-48-50.ec2.sisemine sõlm Tõene
ip-172-20-50-191.ec2.sisemine sõlm Tõene
ip-172-20-55-27.ec2.sisemeister tõene
Teie klaster imesh.k8s.local on valmis

Kui ülaltoodud protsess on lõpule viidud, konfigureerib kops Kubernetes CLI (kubectl) Kubernetes klastri API lõpp-punkti ja kasutaja mandaatidega.

13. Nüüd peate võib-olla installima Kubernetesi juhtpaneeli, et pääseda klastrile veebipõhise kasutajaliidese kaudu:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recomunded/kubernetes-dashboard.yaml

14. Administraatori parooli leidmiseks täitke allolev käsk:

kops saada saladusi kube - tüüp salajane -optekst

15. Kubernetesi hostinime leidmiseks käivitage järgmine käsk:

kubectl klastri-teave
Kubernetes meister töötab aadressil https: // api-imesh-k8s-local-  .us-east-1.elb.amazonaws.com
KubeDNS töötab aadressil https: // api-imesh-k8s-local-  .us-east-1.elb.amazonaws.com / api / v1 / namespaces / kube-system / services / kube-dns: dns / puhverserver

16. Juurdepääsuks Kubernetesi juhtpaneelile järgmise URL-i abil:

https: //  / ui

Esitage brauseri sisselogimislehel sammuga 14 ülaltoodud kasutajanimi administraatorina ja parool:

Administraatori teenuse konto loa leidmiseks täitke allolev käsk. Pange tähele, et siin kasutatud salajane nimi erineb eelmisest:

kops saada saladusi administratiiv - tüüp salajane -tekst

Esitage ülaltoodud teenusekonto luba teenuse teenuse loa taotluse lehel:

Viited:

[1] Kubernetes käivitusvalmis pilvelahendused, Kubernetesi dokumentatsioon: https://kubernetes.io/docs/getting-started-guides/aws/

[2] Kubernetesi toimingute dokumentatsioon: https://github.com/kubernetes/kops/tree/master/docs

[3] AWS-i hallatav Kubernetes'i teenus: https://aws.amazon.com/eks/

[4] AWS-i esinemisjuhtude tüübid: https://aws.amazon.com/ec2/instance-types/