Kubernetes

Création d'un cluster Kubernetes à l'aide du service EKS d'Amazon

Création d'un cluster Kubernetes à l'aide du service EKS d'Amazon
Kubernetes est un ensemble complexe de logiciels. Il est destiné à un cluster distribué de nœuds de calcul et est conçu pour résister aux augmentations de charge de travail, aux défaillances de liaison et aux défaillances de nœuds. C'est aussi un projet en évolution rapide avec des changements constants (et souvent incompatibles en amont) et des dépendances de tiers.

Compte tenu de toute la complexité qui le sous-tend, il est très difficile et coûteux pour une organisation d'auto-héberger et de maintenir un cluster Kubernetes et d'exécuter ses applications dessus. Si vous n'êtes pas dans le domaine de l'exploitation de clusters Kubernetes, vous souhaiterez peut-être utiliser Elastic Kubernetes Service (EKS) d'Amazon pour déployer vos applications. Cela réduira considérablement le coût d'exploitation et vous pouvez être tranquille en sachant que des développeurs et des opérateurs expérimentés s'en chargent, à la place.

Conditions préalables

Créer un cluster Kubernetes

Vous pouvez également créer le cluster via CLI, mais la plupart des nouveaux utilisateurs trouveraient la console graphique plus conviviale. Nous allons donc l'utiliser à la place. En supposant que vous vous soyez connecté à votre console AWS, nous pouvons commencer en allant sur Prestations de service dans le coin supérieur droit et en cliquant sur EKS dans le menu déroulant :

Le menu suivant affichera la page d'introduction d'AWS, passons au Groupes option sous le sous-menu EKS.

Ici vous pouvez voir la liste de tous les clusters Kubernetes créés sous votre compte. Comme il n'y en a pas, créons-en un.

Cliquer sur Créer un cluster. Donnez-lui un nom, sélectionnez la version de Kubernetes que vous souhaitez, au moment de la rédaction de cette version 1.11 est pris en charge par Amazon. Cliquez ensuite sur Nom de rôle, parce que nous devons créer un rôle que nous devons fournir à Amazon EKS afin qu'il puisse gérer notre cluster.

Créer et attribuer un rôle

Avant de commencer, comprenons une différence clé entre Amazon EKS (un service AWS) et votre cluster Kubernetes au AWS. AWS sépare les responsabilités partout où il le peut, pour vous donner un contrôle très fin sur tout. Si vous souhaitez vous donner, à vous-même ou à un tiers, un contrôle total sur ces ressources, vous pouvez également le faire.

Penser à Amazon EKS comme l'une de ces parties qui gérera votre cluster Kubernetes (votre cluster EKS) en votre nom, mais cela nécessite votre autorisation explicite pour le faire. Pour ce faire, nous allons « créer » et attribuer le Rôle de gérer les clusters EKS sous notre compte AWS et l'attribuer à Amazon EKS.

Dans le nouvel onglet IAM, qui s'est ouvert après avoir cliqué sur Nom du rôle, vous verrez que quelques rôles par défaut pour la facturation et le support sont déjà en place. Créons-en un nouveau pour EKS. Cliquer sur Créer un rôle.

Sélectionnez le type d'entité de confiance comme Service AWS, pour lequel le rôle serait créé, puis sélectionnez EKS afin que votre cluster EKS puisse parler directement au Amazon EKS directement et de fonctionner de manière optimale. Puis clique Suivant.

Maintenant, vous pourrez voir les autorisations et les limites d'autorisation associées à ce rôle. Les valeurs par défaut sont correctes, il suffit de cliquer sur suivant.

Le menu suivant vous invitera à ajouter des balises (paires clé-valeur) à ce rôle. C'est complètement facultatif, mais très utile si vous utilisez la CLI pour gérer vos ressources AWS et qu'il y a beaucoup de rôles et de ressources différents à gérer. Nous n'ajouterons aucune balise, cliquez sur Suivant et donnez à votre rôle un nom et une description significatifs.

Et c'est tout! En cliquant sur Créer un rôle et nous pouvons revenir à notre création de cluster EKS. La prochaine fois que vous voudrez créer un autre cluster, vous pourrez réutiliser ce même rôle.

Retour à la création de cluster

Même si votre compte AWS est tout neuf, il existe toujours un VPC (Virtual Private Cloud) par défaut avec quelques sous-réseaux créés en son sein. Ceux-ci sont souvent répartis dans différentes régions AWS et vous devez en sélectionner au moins deux pour qu'il s'agisse d'un cluster.

Et sélectionnez le groupe de sécurité par défaut pour permettre à la plupart du trafic entrant et sortant de se dérouler normalement.

Cliquer sur Créer et votre cluster Kubernetes sera opérationnel en quelques minutes. Une fois votre cluster créé. Vous pouvez toujours en avoir un aperçu en allant dans EKS → Cluster → monCluster. Bien sûr, la dernière partie, le nom de votre cluster sera différent.

Configuration locale

La façon dont la plate-forme EKS fonctionne est qu'elle vous permet d'interagir avec le plan de contrôle au point de terminaison de l'API de l'avion. Le plan de contrôle est équivalent aux nœuds maîtres dans les clusters vanille Kubernetes. Il exécute etcd, des CA et bien sûr, le serveur API que vous utiliserez pour contrôler votre cluster Kubernetes.

Vous devrez configurer votre kubectl et/ou votre tableau de bord pour qu'il fonctionne avec ce point de terminaison d'API et une fois celui-ci configuré, vous pouvez commencer à répertorier toutes vos ressources, déploiements, etc., comme vous le feriez avec un cluster Kubernetes classique.

Si vous n'avez pas déjà installé Kubectl sur votre ordinateur, vous pouvez le faire en suivant ce lien pour Mac, Windows ou votre distribution Linux préférée.

Nous aurions besoin d'un binaire supplémentaire qui serait le binaire de l'authentificateur AWS IAM pour votre plate-forme. Téléchargez-le ici et faites-en un exécutable.

$ sudo chmod +x ./aws-iam-authentificateur

Ajoutez-le à l'un de vos dossiers $PATH par exemple /usr/bin ou /sbin ou /usr/local/sbin. Ou vous pouvez faire comme Amazon le recommande et simplement l'ajouter dans votre répertoire personnel et faire de $HOME une partie de votre variable PATH.

$ cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator &&
export CHEMIN=$HOME/bin:$CHEMIN

Prochain test si les binaires fonctionnent.

$ version kubectl
$ aws-iam-authenticator aide

Maintenant, nous devons configurer ces binaires pour qu'ils puissent parler à notre cluster Kubernetes en toute sécurité.  Vous pouvez le faire manuellement si vous ne souhaitez pas configurer l'AWS CLI, mais ce n'est pas une approche fiable. C'est pourquoi j'ai mentionné dans les prérequis qu'AWS CLI était nécessaire. Donc, en supposant que vous l'ayez installé et configuré pour qu'il fonctionne avec votre compte AWS, exécutez la commande suivante :

Remarque : si vous utilisiez déjà kubectl pour gérer un autre cluster Kubernetes, avec les fichiers de configuration par défaut ~/.kube emplacement. Vous voudrez peut-être sauvegarder ce dossier avant d'exécuter la commande suivante.

$ aws eks update-kubeconfig --name monCluster

Le nom de votre cluster serait différent de "monCluster", remplacer cela à la place. La commande update-kubeconfig mettra en fait à jour votre configuration kubectl en éditant les fichiers dans le ~/.kube dossier. Si cet emplacement n'existe pas, il en créera un nouveau pour vous.

Vous êtes maintenant prêt à vous connecter à votre cluster.

$ aws eks describe-cluster --name myCluster

Où aller ensuite?

Vous êtes maintenant enfin prêt à ajouter des nœuds de travail à l'aide de CloudFormation et à déployer votre application dans toutes les régions auxquelles le VPC du cluster a accès. Tout ce processus peut également être automatisé au ne degré si vous choisissez d'utiliser l'AWS CLI pour tout, de la création du cluster au déploiement et à la mise à l'échelle de vos applications.

J'espère que vous avez trouvé ce tutoriel utile et perspicace.

Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...
Contrôlez et gérez le mouvement de la souris entre plusieurs moniteurs dans Windows 10
Gestionnaire de souris à double affichage vous permet de contrôler et de configurer le mouvement de la souris entre plusieurs moniteurs, en ralentissa...
WinMouse vous permet de personnaliser et d'améliorer le mouvement du pointeur de la souris sur un PC Windows
Si vous souhaitez améliorer les fonctions par défaut de votre pointeur de souris, utilisez un logiciel gratuit WinMouse. Il ajoute plus de fonctionnal...