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 corpus de logiciel complexe. Il est destiné à un groupe distribué de nœuds de calcul et est conçu pour résister à des surtensions de la charge de travail, des défaillances de liens et des défaillances de nœuds. Il s'agit également d'un projet en mouvement rapide avec des changements constants (et souvent incompatibles) et des dépendances tierces.

Compte tenu de toute la complexité qui 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 leurs applications en plus. Si vous n'êtes pas en train d'exploiter des clusters Kubernetes, vous pouvez utiliser le service élastique Kubernetes (EKS) d'Amazon pour déployer vos applications. Cela réduira considérablement le coût du fonctionnement et vous pouvez vous reposer facilement en sachant que les développeurs et les opérateurs expérimentés en sont responsables, plutôt.

Conditions préalables

  • Un compte AWS avec accès à la console et autorisation appropriée. Contactez l'opérateur AWS de votre entreprise pour obtenir les privilèges appropriés.
  • Un utilisateur AWS IAM avec un accès programmatique. Nous agirons comme cet utilisateur lors du contrôle de notre cluster Kubernetes. Voici comment vous pouvez installer et configurer AWS CLI pour le compte dans lequel le cluster EKS sera créé.
  • Une compréhension de base de Kubernetes

Création d'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 utiliser cela, plutôt. En supposant que vous vous êtes connecté à votre console AWS, nous pouvons commencer par aller à Prestations de service du coin supérieur droit et cliquez sur Eks Dans le menu déroulant:

Le menu suivant affichera la page d'intro AWS, allons 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 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 la version 1.11 est pris en charge par Amazon. Suivant cliquez 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éation et attribution de rôle

Avant de commencer avec cela, comprenons une différence clé entre Amazon Eks (un service AWS) et votre cluster Kubernetes sur AWS. AWS sépare les responsabilités partout où elle le peut, pour vous donner un contrôle très fin sur tout. Si vous souhaitez vous donner, ou un tiers, un contrôle complet sur ces ressources, vous pouvez également le faire.

Penser à Amazon Eks En tant que partie de ces parties qui gérera votre cluster Kubernetes (votre cluster EKS) en votre nom, mais cela nécessite votre autorisation explicite pour faire exactement cela. Pour ce faire, nous «créerons» et attribuerons le Rôle de gérer les clusters EKS sous notre compte AWS et de les attribuer à Amazon Eks.

Dans le nouvel onglet IAM, qui a ouvert ses portes après avoir cliqué sur le nom du rôle, vous verrez quelques rôles par défaut pour la facturation et le support sont déjà en place. Créons un nouveau pour Eks. Cliquer sur Créer un rôle.

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

Maintenant, vous pourrez voir les autorisations et les limites d'autorisation qui sont associées à ce rôle. Les valeurs par défaut sont bien, cliquez simplement sur Suivant.

Le menu suivant vous invitera à ajouter des balises (paires de valeurs clés) à ce rôle. Il 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 pas de balises, cliquez Suivant Et donnez à votre rôle un nom et une description significatifs.

Et c'est tout! Cliquer sur Créer un rôle Et nous pouvons revenir à notre création de grappes EKS. La prochaine fois que vous souhaitez créer un autre cluster, vous pouvez réutiliser à nouveau ce même rôle.

Retour à la création de grappes

Même si votre compte AWS est neuf, il y a toujours un VPC par défaut (cloud privé virtuel) avec quelques sous-réseaux créés à l'intérieur. Ceux-ci sont souvent répartis sur différentes régions AWS et vous devez en sélectionner au moins deux pour que ce soit un cluster.

Et sélectionnez le groupe de sécurité par défaut pour permettre la plupart des trafics entrants et sortants pour aller normalement.

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

Configuration locale

Le fonctionnement de la plate-forme EKS est qu'il vous permet d'interagir avec le plan de commande au point de terminaison de l'API de l'avion. Le plan de contrôle est équivalent aux nœuds maîtres de Vanilla Kubernetes Clusters. Il s'exécute etcd, CAS 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 fonctionner avec ce point de terminaison API et une fois que cela sera configuré, vous pouvez commencer à répertorier toutes vos ressources, déploiements, etc., comme vous le feriez avec un cluster Kubernetes ordinaire régulier.

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 AWS IAM Authenticator Binary pour votre plateforme. Téléchargez-le à partir d'ici et faites-en un exécutable.

$ sudo chmod + x ./ AWS-IAM-Authenticator

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 l'ajouter simplement dans votre répertoire domestique et faire de $ Home une partie de votre variable de chemin.

$ cp ./ AWS-IAM-Authenticator $ Home / Bin / AWS-IAM-Authenticator &&
Export Path = $ home / bin: $ Path

Test suivant si les binaires fonctionnent.

$ kubectl version
$ AWS-IAM-Authenticator Aide

Maintenant, nous devons configurer ces binaires afin qu'ils puissent parler en toute sécurité à notre cluster Kubernetes. Vous pouvez le faire manuellement si vous ne voulez pas configurer AWS CLI, mais ce n'est pas une approche fiable. C'est pourquoi j'ai mentionné dans les conditions préalables que AWS CLI était nécessaire. Ainsi, en supposant que vous l'avez installé et configuré pour fonctionner 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 MyCluster

Le nom de votre cluster serait différent de «mycluster ", remplacer cela à la place. La commande Update-KuBeConfig mettra à jour votre configuration Kubectl en modifiant les fichiers dans le ~ /.kube dossier. Si cet emplacement n'existe pas, il en créera un nouveau pour vous.

Maintenant, vous êtes prêt à vous interface avec votre cluster.

$ aws eks décrivent-cluster - nom mycluster

Où ensuite?

Maintenant, vous êtes enfin prêt à ajouter des nœuds de travail à l'aide de CloudFormation et de déployer votre application dans toutes les régions auquel vous regroupant le VPC a accès à. Tout ce processus peut également être automatisé pour le ne diplôme si vous choisissez d'utiliser 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.