Notes AWS EKS Workshop
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
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
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
La page officielle pour EKS: https://docs.aws.amazon.com/eks/latest/developerguide/Welcome.html
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
le tableau de bord de Kubernetes
Dans la console AWS, un cluster EKS est une liste de VMs EC2 …
Le dahsboard est plus détaillé:
Les daemons set
Les conteneurs déployés
La liste des pods (1 pod = 1+ conteneurs)
en phase de montée en charge (scale out) avec
kubectl scale deployment ecsdemo-frontend --replicas=3
quelques secondes sont nécessaires
et baisse de charge (scale in)
les services (API) déployées avec les URLs endpoints accessibles via un loadbalancer (ou un proxy)