Déployer un cluster Kubernetes sur AWS avec Amazon EKS
Création d'un cluster Kubernetes avec Elastic Kubernetes Service
Dans cet article, nous allons apprendre comment déployer un cluster Kubernetes sur AWS avec Amazon EKS et comment installer et configurer AWS CLI et Kubectl. pour interagir avec le cluster EKS à partir de la ligne de commande sous Linux.
Avant de déployer un cluster Kubernetes sur le cloud AWS à l'aide d'Amazon Elastic Kubernetes Service, assurez-vous de disposer d'un compte AWS. Si vous n'avez pas de compte AWS, consultez notre article Présentation d'Amazon Web Services (AWS) pour savoir comment en créer un.
1. Configurer le cluster EKS (nœud maître)
Pour créer un cluster EKS dans AWS, vous devez disposer d'un rôle IAM créé en main.
1.1. Créer un rôle IAM
Les clusters Kubernetes gérés par Amazon EKS effectuent des appels en votre nom vers d'autres services AWS pour gérer les ressources que vous utilisez avec le service.
Vous devez d'abord créer un rôle IAM avec la stratégie IAM suivante avant de pouvoir créer des clusters Amazon EKS :
AmazonEKSClusterPolicy
Connectez-vous à votre console AWS et recherchez « IAM ». Sélectionnez le service IAM pour accéder à la console IAM.
Rechercher un service IAM
Choisissez Rôles dans les options de gauche, puis cliquez sur Créer un rôle.
Créer un rôle
Sélectionnez les services AWS et sélectionnez « EKS - Cluster » dans les options de cas d'utilisation. Une fois sélectionné, cliquez sur « Suivant » pour continuer.
Sélectionnez une entité de confiance pour le rôle
Assurez-vous que « AmazonEKSClusterPolicy » est ajouté. Par défaut, il sera ajouté lorsque nous avons sélectionné EKS-Cluster dans les cas d'utilisation. Cliquez sur Suivant pour continuer.
Ajouter une autorisation au rôle
À l'étape suivante, définissez le nom du rôle. Ici, nous nommons le rôle « ostechnix_eks ». Passez en revue tous les paramètres et cliquez sur « créer » à la fin pour créer le rôle.
Définir le nom du rôle
Ici, nous n’ajoutons aucune balise pour ce rôle. Si nous avons affaire à plusieurs ressources, il sera utile de disposer de balises pour gérer, identifier et filtrer les ressources.
Créer un rôle IAM
Un nouveau rôle nommé 'ostechnix_eks' vient d'être créé.
Rôle IAM créé pour le cluster EKS
1.2. Créer un cluster EKS
Accédez à la console AWS et recherchez « EKS ». Sélectionnez le « Service Elastic Kubernetes » pour accéder à la console EKS.
Rechercher un service EKS
Dans la liste déroulante « Ajouter un cluster », choisissez l'option « Créer » un cluster.
Ajouter un nouveau cluster EKS
Vous obtiendrez la page « Configurer le cluster » où vous pourrez nommer le cluster, sélectionner la version de Kubernetes et sélectionner le rôle de service de cluster que nous avons créé à l'étape précédente.
Ici, nous avons nommé le cluster « ostechnix » et sélectionné la version 1.21 de Kubernetes.
Configurer le cluster
Si vous n'avez pas trouvé le rôle, actualisez les rôles. Sélectionnez le rôle et cliquez sur « suivant » pour continuer.
Actualiser les rôles
Dans ce « Spécifier le réseau », vous devez configurer le réseau. Ici, nous procédons avec les options par défaut.
Sélectionnez le VPC existant, VPC est Virtual Private Cloud où vous pouvez créer des ressources AWS dans le réseau virtuel que vous avez défini. Continuez avec les sous-réseaux par défaut disponibles dans le VPC par défaut.
Choisissez IPv4 comme famille d'adresses IP du cluster. C'est celui par défaut.
Spécifier les détails du réseau
Choisissez « Public » pour l'accès au point de terminaison du cluster, qui autorise uniquement l'accès public à votre cluster. Si vous choisissez « Privé », cela autorise uniquement un accès privé à votre cluster. Ici, nous procédons avec Public qui est celui par défaut.
Vous pouvez procéder avec les « Modules complémentaires de réseau » par défaut et cliquer sur « Suivant ».
Entrez les détails de l'accès au point final et des modules complémentaires de mise en réseau.
Vous obtiendrez la page « Configurer la journalisation » où vous pourrez sélectionner les types de journaux que vous souhaitez activer. Par défaut, tous les types sont désactivés. Cliquez sur « Suivant » pour continuer.
Configurer les détails de la journalisation
Vous obtiendrez la page « Réviser et créer ». Passez en revue tous les détails que nous avons configurés et cliquez sur « Créer » en bas.
Créer un cluster EKS
La création du cluster sera en cours. La création prendra quelques minutes.
Création du cluster EKS en cours
Un nouveau cluster EKS nommé « ostechnix » est créé. Vous pouvez vérifier dans la console AWS ? Amazon EKS ? Clusters.
État du cluster EKS
Ensuite, nous devons installer et configurer AWS CLI et Kubectl pour interagir avec le cluster EKS à partir de la ligne de commande.
Pour configurer les informations d'identification AWS CLI, vous devez créer des informations d'identification de sécurité dans AWS IAM.
2. Créer des informations d'identification de sécurité
Connectez-vous à la console AWS et effectuez une recherche avec IAM. Sélectionnez IAM pour accéder à la console IAM.
Rechercher un service IAM
Sélectionnez l'option « Mes informations d'identification de sécurité » disponible dans la droite pour créer et gérer vos informations d'identification de sécurité.
Sélectionnez l'option Mes informations d'identification de sécurité
Cliquez sur la liste déroulante « Clés d'accès » et cliquez sur l'option « Créer une nouvelle clé d'accès ».
Créer une nouvelle clé d'accès
Une fois que vous avez cliqué sur l'option « Créer une nouvelle clé d'accès », la clé sera créée. Téléchargez la clé pour configurer l'AWS CLI sur une machine Linux. Vous pouvez afficher la clé en cochant « Afficher la clé d'accès ».
Créer une clé d'accès
Dans cette démonstration, la clé est,
- ID de clé d'accès : AKIAV7XU2AIJBX4EYKUO
- Clé d'accès secrète : jicg/UZyZfb92zuYNnEAE0MVSJisHb0Mlgac2Doe
3. Installez l'AWS CLI
AWS CLI est une interface de ligne de commande qui rassemble tous les services AWS dans un seul terminal, vous permettant d'exploiter de nombreux services AWS avec un seul outil.
Utilisez la commande curl
ci-dessous pour télécharger le fichier d'installation. Ici, nous utilisons « CentOS Stream » pour installer et configurer AWS CLI.
[root@ostechnix ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
Décompressez le fichier d'installation à l'aide de la commande ci-dessous.
[root@ostechnix ~]# unzip awscliv2.zip
Installez AWS CLI à l'aide de la commande ci-dessous.
[root@ostechnix ~]# ./aws/install
You can now run: /usr/local/bin/aws --version
Vérifiez la version à l'aide de la commande mentionnée ci-dessus.
[root@ostechnix ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off
Vérifier la version d'AWS
4. Configurez l'AWS CLI
Utilisez la commande ci-dessous pour configurer l'AWS CLI. Il vous demandera l'ID de clé d'accès et la clé d'accès secrète que nous avons générés dans la section 2.
[root@ostechnix ~]# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO
AWS Secret Access Key [None]: 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
Default region name [None]:
Default output format [None]:
[root@ostechnix ~]#
Configurer l'AWS CLI
5. Installez Kubectl
Kubernetes communique avec le serveur API du cluster via l'utilitaire de ligne de commande kubectl.
Utilisez la commande curl ci-dessous pour télécharger le binaire kubectl vendu par Amazon EKS à partir d'Amazon S3.
[root@ostechnix ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl
Ajoutez l'autorisation d'exécution au binaire à l'aide de la commande ci-dessous.
[root@ostechnix ~]# chmod +x ./kubectl
Copiez ce binaire dans le dossier de votre chemin et exportez le ` PATH
.
[root@ostechnix ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
Exportez le PATH vers ~/.bashrc
:
[root@ostechnix ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
Kubectl est installé, vous pouvez vérifier la version à l'aide de la commande ci-dessous.
[root@ostechnix ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712
Vérifier la version de Kubectl
6. Configurer Kubectl
À l'heure actuelle, kubectl ne sait pas où se trouve le nœud maître EKS dans AWS. Nous devons indiquer à Kubectl où se trouve le serveur maître en mentionnant le nom de la région et le nom du cluste.
Utilisez la commande ci-dessous pour vérifier l'état du cluster EKS.
[root@ostechnix ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status
"ACTIVE"
Vérifier l'état du cluster EKS
Mettez à jour le fichier kubeconfig pour utiliser kubectl pour interagir avec le cluster EKS. Il récupérera toutes les configurations du nœud maître vers le fichier kubeconfig.
[root@ostechnix ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix
Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config
Vérifiez le kubectl en vérifiant le service à l'aide de la commande ci-dessous. Vous pouvez vous assurer que Kubectl est capable de se connecter au cluster EKS.
[root@ostechnix ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 105m
Obtenez les détails du service avec la commande kubectl
Conclusion
Dans cet article, nous avons appris comment provisionner un cluster Amazon EKS et comment configurer AWS CLI et Kubectl pour le cluster EKS sur la plate-forme Linux.
J'ai déployé avec succès le cluster Kubernetes sur le cloud AWS, et maintenant ? Vous pourriez vous demander. Veuillez consulter notre prochain guide pour savoir comment ajouter des groupes de nœuds et configurer les nœuds de travail dans le cluster AWS EKS.
- Comment ajouter des nœuds de travail au cluster Amazon EKS
Ressource :
- https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html