Elearning AWS / EKS

par - Rémi RETUREAU - Roberto Migli et - Patrick Madec

.. Mes notes sur cet atelier AWS / Plateforme ECS … 18 octobre 2019

Autre workshop avec un focus ECS/conteneurs

plateforme EKS

Ressources

Créer un cluster EKS en 15 min avec les modèles (stack) Cloudformation et Weaveworks EKSCTL install de eksctl :

curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp

creation du cluster

eksctl create cluster --name=eksworkshop-eksctl --nodes=3 --alb-ingress-access --region=${AWS_REGION}

Heptio est utilisé par EKSCTL pour faire le lien entre IAM d’AWS et le coeur K8s

A savoir que JQ est un utilitaire shell permettant de processer du JSON (JSON Processor) => utile avec les config k8s

Créer un pod avec une liaison sur du Storage EBS (Block Store) ou EFS (Elastic File System) : Créer une classe de stockage: https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html pour l’utiliser dans les pods

créer une ressource dans le cluster , avec du code YAML , JSON, pour une appli dans un pod create app

http://kubernetes.io/docs/user-guide/deploying-applications/

Pour aller plus loin que RBAC (habilitation au niveau de l’API, du CLI), pour limiter les actions applicatives comme par exemple :

kubectl scale deployment ecsdemo-nodejs --replicas=0 ou 1000000

Il faut ajouter un PolicyEngine https://www.openpolicyagent.org/

l atelier est détaillé: site eksworkshop.com

les codes sources des 3 applications en conteneurs microservices , et les scripts Python ou shell pour construire la platforme en ligne de commande CLI

https://github.com/brentley

Brent Langston

La page officielle pour EKS: https://docs.aws.amazon.com/eks/latest/developerguide/Welcome.html

Les slides!

A retenir

  • Il faut absolument créer des namespaces dans K8s afin de gérer les habilitations https://eksworkshop.com/intro_to_rbac/

=> surtout pour etre multitenant sur un gros k8s

  • Le dashboard K8s https://eksworkshop.com/dashboard/ est indispensable car la console AWS ne permettra pas de voir ce qui ce passe dans les pods (instance EC2)

AMAZON EKS

les fichiers dans CLoud9 / IDE en SaaS environnement cloud9

Le workshop consiste à configurer des habilitations RBAC / Role Base Authorization Control à déployer des microservices, installer HELM et quelques Chart (le caralogue de composants/ market store)

construction par EKSCTL

de Weaveworks

EKSCTL CF EKSCTL CF EKSCTL CF

le tableau de bord de Kubernetes

Dans la console AWS, un cluster EKS est une liste de VMs EC2 … EKSCTL CF

Le dahsboard est plus détaillé:

EKSCTL CF

Les daemons set EKSCTL CF

Les conteneurs déployés EKSCTL CF

La liste des pods (1 pod = 1+ conteneurs) EKSCTL CF

en phase de montée en charge (scale out) avec

kubectl scale deployment ecsdemo-frontend --replicas=3 

quelques secondes sont nécessaires EKSCTL CF EKSCTL CF

et baisse de charge (scale in) EKSCTL CF

les services (API) déployées avec les URLs endpoints accessibles via un loadbalancer (ou un proxy) EKSCTL CF