Si vous cherchez une solution pour gérer efficacement votre infrastructure cloud, Amazon Web Services (AWS) propose une solution robuste avec Elastic Kubernetes Service (EKS). Cette plateforme offre une méthode simple et rapide pour créer et gérer des clusters Kubernetes sur AWS.
Qu’est-ce qu’un cluster EKS ? Quels sont les prérequis et les étapes pour créer un cluster EKS ? Réponses dans cet article.
Introduction à EKS
EKS est un service Kubernetes certifié conforme. Kubernetes automatise les tâches de gestion de cluster telles que le déploiement, la mise à l'échelle et la gestion d’applications conteneurisées. En utilisant EKS, vous pouvez facilement créer et gérer des clusters Kubernetes sans avoir à vous soucier de la maintenance du matériel.
EKS est un service qui vous permet de déployer, gérer et faire évoluer des applications conteneurisées en utilisant Kubernetes sur AWS. EKS s'occupe de la gestion du plan de contrôle de Kubernetes pour vous. Cela vous permet de vous concentrer sur la création et la gestion de vos applications.
Qu'est-ce qu'un cluster EKS ?
Un cluster EKS est un cluster Kubernetes exécuté sur AWS à l'aide du service EKS. Le cluster EKS est composé de plusieurs nœuds de travail qui exécutent des conteneurs Docker et sont gérés par le plan de contrôle Kubernetes. Ce dernier est le contrôleur principal qui gère tous les aspects du cluster, tels que la gestion des ressources.
Un cluster EKS peut être créé en quelques minutes en utilisant la console AWS ou l'interface de ligne de commande AWS. Les nœuds peuvent être lancés dans plusieurs zones de disponibilité pour garantir une haute disponibilité dans le cas où une d’entre elles tomberait en panne.
Quels sont les prérequis pour créer un cluster EKS ?
Avant de créer un cluster EKS, il y a quelques prérequis que vous devez respecter. Tout d'abord, vous devez disposer d'un compte AWS actif. Ensuite, vous devez installer et configurer l'interface de ligne de commande AWS (CLI) et kubectl sur votre machine.
Configurer un compte AWS
Pour démarrer, vous devez créer un compte AWS si vous n'en avez pas déjà un. Une fois que vous avez créé un compte, vous pouvez vous connecter au AWS Management Console pour accéder aux services AWS.
Installer et configurer l'interface de ligne de commande AWS (CLI)
L'interface de ligne de commande AWS (CLI) est un outil en ligne de commande qui vous permet de gérer divers services AWS, y compris EKS. Pour installer la AWS CLI, suivez les instructions fournies par AWS CLI Documentation. Après l'installation, vous devez configurer la AWS CLI pour votre compte AWS en exécutant la commande "aws configure" et en fournissant les informations d'identification de votre compte.
Installer et configurer kubectl
kubectl est une interface de ligne de commande Kubernetes utilisée pour interagir avec les clusters Kubernetes. Pour installer kubectl, suivez les instructions fournies par Kubernetes Documentation. Après l'installation, vous devez configurer kubectl pour travailler avec votre cluster EKS en exécutant la commande "aws eks update-kubeconfig --region region-code --name nom-de-votre-cluster".
Étapes de création d’un cluster EKS
Une fois que vous avez tous les prérequis en place, vous pouvez commencer à créer votre cluster EKS.
Créer un VPC et configurer les sous-réseaux
Ce premier point peut paraître évident, mais il est important de créer un Virtual Private Cloud (VPC) pour votre cluster EKS. Le VPC est un réseau isolé dans lequel vous pouvez lancer des ressources AWS, y compris des instances EC2 pour vos nœuds Amazon EKS. Lors de la création d'un VPC, configurez les sous-réseaux pour votre cluster EKS et répartissez-les sur différentes zones de disponibilité pour assurer une haute disponibilité.
Configurer les groupes de sécurité
Les groupes de sécurité sont des pare-feu virtuels qui vous permettent de gérer les connexions entrantes et sortantes pour les instances EC2 de votre cluster EKS. Vous pouvez configurer les groupes de sécurité pour autoriser les connexions entrantes pour des ports spécifiques, tels que les ports HTTP et HTTPS, et pour restreindre l'accès aux instances EC2 uniquement aux adresses IP autorisées. Pour les configurer, spécifiez l’option “securityGroup”.
Créer un rôle IAM pour EKS
Le rôle Identity and Access Management (IAM) permet à EKS d'accéder à d'autres services AWS nécessaires pour le fonctionnement de votre cluster EKS. Pour créer un rôle IAM pour EKS, vous devez d'abord créer une politique d’approbation IAM dans un fichier JSON avec la commande suivante :
cat >eks-cluster-role-trust-policy.json <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
EOF
Ensuite, vous devez créer le rôle IAM de cluster EKS. Cela permet d’attribuer l’approbation de l’étape précédente à ce rôle. Pour ce faire, exécutez la commande :
aws iam create-role --role-name myAmazonEKSClusterRole --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
La dernière étape consiste à attacher la politique gérée par Amazon au principal IAM :
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy --role-name myAmazonEKSClusterRole
Créer et lancer le cluster EKS
Après avoir configuré les prérequis du VPC, les groupes de sécurité et le rôle IAM, vous pouvez créer et lancer le cluster EKS en utilisant la CLI AWS :
aws eks create-cluster --region region-code --name my-cluster --kubernetes-version 1.25 \
--role-arn arn:aws:iam::111122223333:role/myAmazonEKSClusterRole \
--resources-vpc-config subnetIds=subnet-ExampleID1,subnet-ExampleID2,securityGroupIds=sg-ExampleID1
Remplacez :
- region-code par la région AWS dans laquelle vous souhaitez créer votre cluster
- my-cluster par le nom de votre cluster.
- 1.25 par la version prise en charge par Amazon EKS
- 111122223333 par l’ID de votre compte
- myAmazonEKSClusterRole par le nom de votre rôle IAM de cluster
- les valeurs subnetIDs et securityGroupIds par vos propres valeurs.
Activez kubectl pour communiquer avec votre cluster :
aws eks update-kubeconfig --region region-code --name my-cluster
Confirmez la communication :
kubectl get svc
Enfin, vous pouvez vérifier l'état des nœuds de travail dans votre cluster EKS en utilisant la commande "kubectl get nodes". Cette commande affichera une liste de tous les nœuds de travail dans votre cluster EKS et leur état actuel.
Cluster EKS en bref
Pour conclure, EKS est un service certifié conforme pour créer et gérer des clusters Kubernetes dans AWS. Grâce aux prérequis et aux étapes expliqués dans cet article, vous êtes en mesure de créer votre cluster EKS.