Configurer Amazon Web Services
Pour préparer votre projet Amazon Web Services, vous devez suivre quelques étapes pour gérer les clusters Amazon Elastic Kubernetes Service (EKS) avec Astra Control Service.
Démarrage rapide pour la configuration d'Amazon Web Services
Pour commencer rapidement, suivez ces étapes ou faites défiler jusqu'aux sections restantes pour obtenir plus de détails.
Lisez les exigences d'Astra Control Service pour Amazon Web Services
Assurez-vous que les clusters exécutent une version prise en charge de Kubernetes, que les nœuds workers sont en ligne et exécutent Linux ou Windows, et bien plus encore. En savoir plus sur cette étape.
Créez un compte Amazon
Si vous n'avez pas encore de compte Amazon, vous devez en créer un pour pouvoir utiliser EKS. En savoir plus sur cette étape.
Installez l'interface de ligne de commande Amazon Web Services
Installez l'interface de ligne de commandes AWS afin de gérer AWS à partir de la ligne de commandes. Suivez les instructions étape par étape.
Facultatif : créez un utilisateur IAM
Créez un utilisateur Amazon Identity and Access Management (IAM). Vous pouvez également ignorer cette étape et utiliser un utilisateur IAM existant avec le service de contrôle Astra.
Créez et joignez une stratégie d'autorisations
Créez une règle avec les autorisations requises pour que le service Astra Control puisse interagir avec votre compte AWS.
Enregistrer les informations d'identification pour l'utilisateur IAM
Enregistrez les informations d'identification de l'utilisateur IAM pour pouvoir importer les informations d'identification dans le service de contrôle Astra.
Configuration requise pour le cluster EKS
Un cluster Kubernetes doit respecter les exigences suivantes pour que vous puissiez découvrir et gérer Astra Control Service.
- Version Kubernetes
-
Un cluster doit exécuter une version Kubernetes comprise entre 1.25 et 1.28.
- Type d'image
-
Le type d'image pour chaque nœud de travail doit être Linux.
- État du cluster
-
Les clusters doivent être exécutés en état de fonctionnement et avoir au moins un nœud de travail en ligne sans nœuds de travail en panne.
- De provisionnement Astra Control
-
Un mécanisme de provisionnement Astra Control et un contrôleur Snapshot externe sont requis pour les opérations avec les systèmes back-end de stockage. Pour activer ces opérations, procédez comme suit :
Details
- Pilotes CSI pour Amazon Elastic Block Store (EBS)
-
Si vous utilisez le système back-end Amazon EBS, vous devez installer le pilote Container Storage interface (CSI) pour EBS (il n'est pas installé automatiquement).
Reportez-vous aux étapes pour obtenir des instructions sur l'installation du pilote CSI.
Details
Installez un snapshots externeSi ce n'est déjà fait, "Installez les CRD de snapshot et le contrôleur de snapshot".
Installez le pilote CSI en tant que module complémentaire Amazon EKS-
Créez le rôle IAM du pilote Amazon EBS CSI pour les comptes de service. Suivez les instructions "Dans la documentation Amazon", En utilisant les commandes de l'interface de ligne de commande AWS dans les instructions.
-
Ajoutez le module complémentaire Amazon EBS CSI à l'aide de la commande CLI AWS suivante, en remplaçant les informations entre parenthèses <> par des valeurs spécifiques à votre environnement. Remplacez <DRIVER_ROLE> par le nom du rôle du pilote EBS CSI que vous avez créé à l'étape précédente :
aws eks create-addon \ --cluster-name <CLUSTER_NAME> \ --addon-name aws-ebs-csi-driver \ --service-account-role-arn arn:aws:iam::<ACCOUNT_ID>:role/<DRIVER_ROLE>
Configuration de la classe de stockage EBS-
Clonez le référentiel GitHub du pilote Amazon EBS CSI sur votre système.
git clone https://github.com/kubernetes-sigs/aws-ebs-csi-driver.git
-
Accédez au répertoire d'exemple de provisionnement dynamique.
cd aws-ebs-csi-driver/examples/kubernetes/dynamic-provisioning/
-
Déploiement de la classe de stockage ebs-sc et de la demande de volume persistant ebs-claim dans le répertoire des manifestes.
kubectl apply -f manifests/storageclass.yaml kubectl apply -f manifests/claim.yaml
-
Classe de stockage ebs-sc
kubectl describe storageclass ebs-sc
Vous devez voir le résultat décrivant les attributs de classe de stockage.
-
Créez un compte Amazon
Si vous n'avez pas encore de compte Amazon, vous devez en créer un pour activer la facturation pour Amazon EKS.
-
Accédez au "Page d'accueil Amazon" , Sélectionnez connexion en haut à droite, puis commencer ici.
-
Suivez les invites pour créer un compte.
Installez l'interface de ligne de commande Amazon Web Services
Installez l'interface de ligne de commandes AWS afin de gérer les ressources AWS à partir de la ligne de commandes.
-
Accédez à "Mise en route de l'interface de ligne de commandes AWS" Et suivez les instructions pour installer l'interface de ligne de commande.
Facultatif : créez un utilisateur IAM
Créez un utilisateur IAM afin d'utiliser et de gérer tous les services et ressources AWS avec une sécurité renforcée. Vous pouvez également ignorer cette étape et utiliser un utilisateur IAM existant avec le service de contrôle Astra.
-
Accédez à "Création d'utilisateurs IAM" Et suivez les instructions pour créer un utilisateur IAM.
Créez et joignez une stratégie d'autorisations
Créez une règle avec les autorisations requises pour que le service Astra Control puisse interagir avec votre compte AWS.
-
Créez un nouveau fichier appelé
policy.json
. -
Copiez le contenu JSON suivant dans le fichier :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "fsx:DescribeVolumes", "ec2:DescribeRegions", "s3:CreateBucket", "s3:ListBucket", "s3:PutObject", "s3:GetObject", "iam:SimulatePrincipalPolicy", "s3:ListAllMyBuckets", "eks:DescribeCluster", "eks:ListNodegroups", "eks:DescribeNodegroup", "eks:ListClusters", "iam:GetUser", "s3:DeleteObject", "s3:DeleteBucket", "autoscaling:DescribeAutoScalingGroups" ], "Resource": "*" } ] }
-
Création de la règle :
POLICY_ARN=$(aws iam create-policy --policy-name <policy-name> --policy-document file://policy.json --query='Policy.Arn' --output=text)
-
Associez la stratégie à l'utilisateur IAM. Remplacement
<IAM-USER-NAME>
Avec le nom d'utilisateur de l'utilisateur IAM que vous avez créé ou un utilisateur IAM existant :aws iam attach-user-policy --user-name <IAM-USER-NAME> --policy-arn=$POLICY_ARN
Enregistrer les informations d'identification pour l'utilisateur IAM
Enregistrez les informations d'identification de l'utilisateur IAM afin de sensibiliser l'utilisateur au service de contrôle Astra.
-
Téléchargez les informations d'identification. Remplacement
<IAM-USER-NAME>
Avec le nom d'utilisateur de l'utilisateur IAM que vous souhaitez utiliser :aws iam create-access-key --user-name <IAM-USER-NAME> --output json > credential.json
Le credential.json
Le fichier est créé et vous pouvez importer les informations d'identification dans le service de contrôle Astra.