Une nouvelle vulnérabilité a été découverte dans runc qui permet aux containers Docker qui tournent en tant que root de devenir root sure le système hôte.
Il faut mettre à jour Docker (dernière version: 18.09.02).
Il est également recommandé de ne jamais faire tourner de containers en tant que root et de contrôler les images Docker qui tournent en production.
EDIT: voire également la communication côté K8S (https://kubernetes.io/blog/2019/02/11/runc-and-cve-2019-5736/) et AWS (https://aws.amazon.com/security/security-bulletins/AWS-2019-002/)
Synthèse des nouveaux services EKS et Fargate annoncés aux AWS Re-Invent Summit cette année.
EKS (AWS Kubernetes managed solution) permet de déployer un cluster Kubernetes sur AWS en ne gérant que les workers nodes (masters nodes managés par AWS).
Fargate va plus loin en fournissant une solution 100% managée (workers nodes managés) pour ECS dans un premier temps puis EKS en 2018. Cette solution permet de déployer des containers sans ce soucier des instances EC2 sur lesquels ils tourneront et de payer uniquement pour les containers déployés (facturation par container au lieu de la facturation par instances EC2 démarrées dans le cluster).
Pour utiliser une registry docker privée avec ECS:
- Ajouter les lignes suivantes dans
/etc/ecs/ecs.config
sur l'instance qui fait tourner ECS:ECS_ENGINE_AUTH_TYPE=docker ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}}
- Redémarrer l'agent docker:
sudo stop ecs && sudo start ecs
Si la registry docker privée utilise un certificat SSL, il peut être nécessaire de l'ajouter au store système de l'instance:
- Ajouter le certificat SSL de la registry dans /usr/share/pki/ca-trust-source/anchors/
- lancer les commandes suivantes pour que le certificat soit ajouté au store:
update-ca-trust extract && update-ca-trust enable
Comparaison entre Kubernetes et ECS
Kubernetes gagne sur tous les points.
Attention cet article date de juin. Les 2 solutions ont certainement évoluées depuis.
Cas d'utilisation d'une infra AWS / Docker / ECS
Une présentation des différentes solutions pour gérer la partie service discovery avec docker-compose, docker-swarm et ecs.
A partir de la Slide 49, Jérôme Petazzoni présente le concept d'ambassador qui permet de créer des containers "proxy" pour abstaire la connexion entre les différents services