|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Création d’un cluster EKS
Amazon EKS fournit un plan de contrôle géré pour votre cluster Kubernetes. Amazon EKS exécute les instances du plan de contrôle Kubernetes dans plusieurs zones de disponibilité pour garantir une haute disponibilité. Rancher offre une interface utilisateur intuitive pour gérer et déployer les clusters Kubernetes que vous exécutez sur Amazon EKS. Avec ce guide, vous utiliserez Rancher pour lancer rapidement et facilement un cluster Kubernetes Amazon EKS dans votre compte AWS. Pour plus d’informations sur Amazon EKS, consultez cette documentation.
Conditions préalables dans Amazon Web Services
|
Le déploiement sur Amazon AWS entraînera des frais. Pour plus d’informations, reportez-vous à la page de tarification EKS. |
Pour configurer un cluster sur EKS, vous devrez configurer un Amazon VPC (cloud privé virtuel). Vous devrez également vous assurer que le compte que vous utiliserez pour créer le cluster EKS dispose des permissions appropriées. Pour plus de détails, consultez le guide officiel sur les conditions préalables d’Amazon EKS.
Amazon VPC
Un Amazon VPC est requis pour lancer le cluster EKS. Le VPC vous permet de lancer des ressources AWS dans un réseau virtuel que vous avez défini. Vous pouvez en configurer un vous-même et le fournir lors de la création du cluster dans Rancher. Si vous n’en fournissez pas un lors de la création, Rancher en créera un. Pour plus d’informations, reportez-vous au Tutoriel : Création d’un VPC avec des sous-réseaux publics et privés pour votre cluster Amazon EKS.
Stratégies IAM
Rancher a besoin d’accéder à votre compte AWS afin de provisionner et d’administrer vos clusters Kubernetes dans Amazon EKS. Vous devrez créer un utilisateur pour Rancher dans votre compte AWS et définir à quoi cet utilisateur peut accéder.
-
Créez un utilisateur avec un accès programmatique en suivant les étapes ici.
-
Ensuite, créez une politique IAM qui définit à quoi cet utilisateur a accès dans votre compte AWS. Il est important de n’accorder à cet utilisateur qu’un accès minimal dans votre compte. Les autorisations minimales requises pour un cluster EKS sont listées ici. Suivez les étapes ici pour créer une politique IAM et l’attacher à votre utilisateur.
-
Enfin, suivez les étapes ici pour créer une clé d’accès et une clé secrète pour cet utilisateur.
|
Important :
Il est important de faire régulièrement tourner vos clés d’accès et clés secrètes. Consultez cette documentation pour plus d’informations. |
Pour des informations plus détaillées sur les politiques IAM pour EKS, reportez-vous à la documentation officielle sur les politiques IAM d’Amazon EKS, Rôles, et autorisations.
Créez le cluster EKS
Utilisez Rancher pour configurer et paramétrer votre cluster Kubernetes.
-
Cliquez sur ☰ > Gestion des clusters.
-
Sur la page Clusters, cliquez sur Créer.
-
Choisissez Amazon EKS.
-
Entrez un Nom de cluster.
-
Utilisez les Rôles de membre pour configurer l’autorisation des utilisateurs pour le cluster. Cliquez sur Ajouter un membre pour ajouter des utilisateurs pouvant accéder au cluster. Utilisez le menu déroulant Rôle pour définir les permissions pour chaque utilisateur.
-
Remplissez le reste du formulaire. Pour obtenir de l’aide, consultez la référence de configuration.
-
Cliquez sur Create.
Résultat :
Votre cluster est créé et a un état de Provisionnement. Rancher est en train de mettre en place votre cluster.
Vous pouvez accéder à votre cluster après que son état soit mis à jour à Actif.
Les clusters Actifs sont assignés à deux Projets :
-
Default, contenant l’espace de nomsdefault -
System, contenant les espaces de nomscattle-system,traefik,kube-publicetkube-system
Référence de configuration du cluster EKS
Pour la liste complète des options de configuration du cluster EKS, voir cette page.
Architecture
La figure ci-dessous illustre l’architecture de haut niveau de Rancher 2.x. La figure représente une installation de Rancher Server qui gère deux clusters Kubernetes : un créé par RKE et un autre créé par EKS.
Événements de service AWS
Pour trouver des informations sur les événements de service AWS, veuillez consulter cette page.
Sécurité et conformité
Par défaut, seul l’utilisateur IAM ou le rôle qui a créé un cluster y a accès. Tenter d’accéder au cluster avec un autre utilisateur ou rôle sans configuration supplémentaire entraînera une erreur. Dans Rancher, cela signifie qu’utiliser un identifiant qui correspond à un utilisateur ou rôle qui n’a pas été utilisé pour créer le cluster entraînera une erreur non autorisée. Par exemple, un cluster EKSCtl ne s’enregistrera pas dans Rancher à moins que les identifiants utilisés pour enregistrer le cluster correspondent au rôle ou à l’utilisateur utilisé par EKSCtl. Des utilisateurs et rôles supplémentaires peuvent être autorisés à accéder à un cluster en étant ajoutés au configmap aws-auth dans l’espace de noms kube-system. Pour une explication plus approfondie et des instructions détaillées, veuillez consulter cette documentation.
Pour plus d’informations sur la sécurité et la conformité de votre cluster Kubernetes Amazon EKS, veuillez consulter cette documentation.
Didacticiel
Ce tutoriel sur le blog AWS Open Source vous guidera à travers la configuration d’un cluster EKS avec Rancher, le déploiement d’une appli accessible au public pour tester le cluster, et le déploiement d’un projet exemple pour suivre des données géospatiales en temps réel en utilisant une combinaison d’autres logiciels Open Source tels que Grafana et InfluxDB.
Permissions minimales EKS
Voici l’ensemble minimal de permissions nécessaires pour accéder à l’ensemble des fonctionnalités du pilote EKS de Rancher. Ces permissions permettent à Rancher de créer le rôle de service et les ressources de cloud privé virtuel (VPC) au nom des utilisateurs, si nécessaire.
|
Dans EKS v1.23 et supérieur, vous devez utiliser les pilotes hors arbre pour les volumes basés sur EBS. Vous avez besoin de permissions spécifiques pour activer ce produit complémentaire. |
| Ressource | Description |
|---|---|
Produit complémentaire du pilote EBS CSI |
Fournit des permissions qui permettent à Kubernetes d’interagir avec EBS et de configurer le cluster pour activer le produit complémentaire (nécessaire pour EKS v1.23 et supérieur). Rancher peut installer le produit complémentaire avec les permissions du produit complémentaire EBS CSI Driver suivantes. |
Le ciblage des ressources utilise * car l’ARN de nombreuses ressources créées ne peut pas être connu avant de créer le cluster EKS dans Rancher.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EC2Permissions",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateKeyPair",
"ec2:CreateLaunchTemplate",
"ec2:CreateLaunchTemplateVersion",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteLaunchTemplateVersions",
"ec2:DeleteSecurityGroup",
"ec2:DeleteTags",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInternetGateways",
"ec2:DescribeInstanceTypes",
"ec2:DescribeKeyPairs",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeRegions",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeVpcs",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress",
"ec2:RunInstances"
],
"Resource": "*"
},
{
"Sid": "CloudFormationPermissions",
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack",
"cloudformation:CreateStackSet",
"cloudformation:DeleteStack",
"cloudformation:DescribeStackResource",
"cloudformation:DescribeStackResources",
"cloudformation:DescribeStacks",
"cloudformation:ListStackResources",
"cloudformation:ListStacks"
],
"Resource": "*"
},
{
"Sid": "IAMPermissions",
"Effect": "Allow",
"Action": [
"iam:AddRoleToInstanceProfile",
"iam:AttachRolePolicy",
"iam:CreateInstanceProfile",
"iam:CreateRole",
"iam:CreateServiceLinkedRole",
"iam:DeleteInstanceProfile",
"iam:DeleteRole",
"iam:DetachRolePolicy",
"iam:GetInstanceProfile",
"iam:GetRole",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfiles",
"iam:ListInstanceProfilesForRole",
"iam:ListRoles",
"iam:ListRoleTags",
"iam:PassRole",
"iam:RemoveRoleFromInstanceProfile",
"iam:TagRole"
],
"Resource": "*"
},
{
"Sid": "KMSPermissions",
"Effect": "Allow",
"Action": "kms:ListKeys",
"Resource": "*"
},
{
"Sid": "EKSPermissions",
"Effect": "Allow",
"Action": [
"eks:CreateCluster",
"eks:CreateFargateProfile",
"eks:CreateNodegroup",
"eks:DeleteCluster",
"eks:DeleteFargateProfile",
"eks:DeleteNodegroup",
"eks:DescribeAddon",
"eks:DescribeCluster",
"eks:DescribeFargateProfile",
"eks:DescribeNodegroup",
"eks:DescribeUpdate",
"eks:ListClusters",
"eks:ListFargateProfiles",
"eks:ListNodegroups",
"eks:ListTagsForResource",
"eks:ListUpdates",
"eks:TagResource",
"eks:UntagResource",
"eks:UpdateClusterConfig",
"eks:UpdateClusterVersion",
"eks:UpdateNodegroupConfig",
"eks:UpdateNodegroupVersion"
],
"Resource": "*"
},
{
"Sid": "VPCPermissions",
"Effect": "Allow",
"Action": [
"ec2:AssociateRouteTable",
"ec2:AttachInternetGateway",
"ec2:CreateInternetGateway",
"ec2:CreateRoute",
"ec2:CreateRouteTable",
"ec2:CreateSecurityGroup",
"ec2:CreateSubnet",
"ec2:CreateVpc",
"ec2:DeleteInternetGateway",
"ec2:DeleteRoute",
"ec2:DeleteRouteTable",
"ec2:DeleteSubnet",
"ec2:DeleteTags",
"ec2:DeleteVpc",
"ec2:DescribeVpcs",
"ec2:DetachInternetGateway",
"ec2:DisassociateRouteTable",
"ec2:ModifySubnetAttribute",
"ec2:ModifyVpcAttribute",
"ec2:ReplaceRoute"
],
"Resource": "*"
}
]
}
Lorsque vous créez un cluster EKS, Rancher crée un rôle de service avec la politique de confiance suivante :
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
Ce rôle dispose également de deux attachements de politique de rôle avec les ARN des politiques suivantes :
arn:aws:iam::aws:policy/AmazonEKSClusterPolicy arn:aws:iam::aws:policy/AmazonEKSServicePolicy
Permissions du produit complémentaire EBS CSI Driver
Voici les permissions requises pour installer le produit complémentaire Amazon EBS CSI Driver.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:AssociateIdentityProviderConfig",
"eks:CreateAddon",
"eks:DeleteAddon",
"eks:DescribeAddonConfiguration",
"eks:DescribeAddonVersions",
"eks:DescribeIdentityProviderConfig",
"eks:ListAddons",
"eks:ListIdentityProviderConfigs",
"eks:UpdateAddon",
"iam:CreateOpenIDConnectProvider",
"iam:ListOpenIDConnectProviders",
"sts:AssumeRoleWithWebIdentity"
],
"Resource": "*"
}
]
}
Autorisations de mise en réseau Dual-Stack IPv6
Les autorisations supplémentaires requises pour provisionner un cluster EKS IPv6 depuis Rancher sont les suivantes.
|
Ces autorisations ne sont nécessaires que lorsque Rancher crée un nouveau cluster IPv6. Lors de la création d’un nouveau cluster, Rancher a besoin de ces autorisations pour générer le VPC à double pile, créer le fournisseur OIDC IAM et attribuer une politique en ligne ( Si vous enregistrez (importez) un cluster EKS existant qui a déjà IPv6 configuré, ces autorisations supplémentaires ne sont pas requises. |
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses",
"ec2:AssociateVpcCidrBlock",
"ec2:DisassociateVpcCidrBlock",
"iam:PutRolePolicy",
"iam:CreateOpenIDConnectProvider",
"iam:ListOpenIDConnectProviders",
"eks:AssociateIdentityProviderConfig",
"eks:DescribeIdentityProviderConfig",
"eks:ListIdentityProviderConfigs",
"sts:AssumeRoleWithWebIdentity"
],
"Resource": "*"
}
]
}
Synchronisation
Le provisionneur EKS peut synchroniser l’état d’un cluster EKS entre Rancher et le fournisseur. Pour une explication technique approfondie de son fonctionnement, consultez Synchronisation.
Pour des informations sur la configuration de l’intervalle de rafraîchissement, consultez cette section.
Dépannage
Si vos modifications ont été écrasées, cela peut être dû à la manière dont les données du cluster sont synchronisées avec EKS. Les modifications ne doivent pas être apportées au cluster depuis une autre source, comme dans la console EKS, et dans Rancher dans un intervalle de cinq minutes. Pour des informations sur le fonctionnement de cela et sur la façon de configurer l’intervalle de rafraîchissement, consultez Syncing.
Si une erreur non autorisée est renvoyée lors de la tentative de modification ou d’enregistrement du cluster et que celui-ci n’a pas été créé avec le rôle ou l’utilisateur auquel appartiennent vos identifiants, consultez Sécurité et conformité.
Pour tout problème ou détail de dépannage concernant votre cluster Kubernetes Amazon EKS, veuillez consulter cette documentation.
Création programmatique de clusters EKS
La manière la plus courante de déployer des clusters EKS de manière programmatique via Rancher est d’utiliser le fournisseur Terraform Rancher2. La documentation pour la création de clusters avec Terraform est ici.