amazon web services

Kubernetes Operations… ci piace!

Pubblicato il da

Alessandro

Alessandro

Cloud & DevOps

Come sai siamo Amazon Consulting Partner, e seppur AWS ha annunciato Fargate e l’integrazione su ECS di Kubernetes,
volevamo anche uno strumento per il deployment dei nostri cluster che ci desse comunque un minimo di gestione e di libertà.

Kubernetes Operations è uno dei tanti progetti che si è messo in luce per la creazione e l’automatizzazione di cluster con focus iniziale proprio su AWS.

Siamo rimasti piacevolmente sorpresi dalla sua facilità e dall’adattabilità al mondo AWS, dai bilanciatori ELB fino ai volumi EBS.

Con un “semplice comando”

kops create cluster \
--cloud=aws \
--master-zones=eu-west-1a,eu-west-1b,eu-west-1c \
--zones=eu-west-1a,eu-west-1b,eu-west-1c \
--node-count=3 \
--topology private \
--networking weave \
--node-size=t2.medium \
--master-size=t2.medium \
--vpc=vpc-xxxx \
--bastion="true" \
--cloud-labels "Owner=alemazz" \
--ssh-public-key ~/.ssh/k8s.pub \
--target=terraform --state s3://xxx-ideato-it-state-store --yes --out terraform/kops --name xxxx.ideato.it

Siamo in grado di creare un cluster privato in HA, su multiple AZ dietro SSH Bastion con stato persistente e salvato su S3.

La ciliegina sulla torta, è il supporto a Terraform che tramite gli switch

--target=terraform --out terraform/kops

permette di generare un template terraform, con cui usare i classici comandi

terraform plan

per il dry-run e

terraform apply

per applicare le modiche.

Avendo abbracciato da tempo i principi di Infrastructure as Code, abbiamo deciso di usare Terraform perché ci mette in grado di fare versioning, mantenere e consegnare al cliente il codice infrastrutturale del suo cluster ed ora, grazie a Kubernetes Operations, tutto questo è ancora più semplice da gestire.