Création d'une capacité ACK à l'aide de eksctl - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'une capacité ACK à l'aide de eksctl

Cette rubrique décrit comment créer une fonctionnalité AWS Controllers for Kubernetes (ACK) à l'aide de eksctl.

Note

Les étapes suivantes nécessitent la version eksctl 0.220.0 ou une version ultérieure. Pour vérifier votre version, lancezeksctl version.

Étape 1 : Création d'un rôle de capacité IAM

Créez un fichier de politique de confiance :

cat > ack-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF

Créez le rôle IAM :

aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://ack-trust-policy.json

Associez la politique AdministratorAccess gérée au rôle :

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
Important

La AdministratorAccess politique suggérée accorde des autorisations étendues et vise à rationaliser le démarrage. Pour une utilisation en production, remplacez-la par une politique personnalisée qui n'accorde que les autorisations nécessaires pour les AWS services spécifiques que vous prévoyez de gérer avec ACK. Pour obtenir des conseils sur la création de politiques de moindre privilège, consultez Configurer les autorisations ACK et. Considérations relatives à la sécurité relatives aux fonctionnalités EKS

Important

Cette politique accorde des autorisations pour la gestion des compartiments S3 avec"Resource": "*", ce qui permet d'effectuer des opérations sur tous les compartiments S3.

Pour une utilisation en production :* Limitez le Resource champ à des modèles de bucket ARNs ou de nom spécifiques * Utilisez les clés de condition IAM pour limiter l'accès par balises de ressource * N'accordez que les autorisations minimales nécessaires à votre cas d'utilisation

Pour les autres AWS services, voirConfigurer les autorisations ACK.

Attachez la stratégie au rôle :

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):policy/ACKS3Policy

Étape 2 : Création de la fonctionnalité ACK

Créez la capacité ACK à l'aide de eksctl. Remplacez region-code par la AWS région dans laquelle se trouve votre cluster et remplacez my-cluster par le nom de votre cluster.

eksctl create capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --ack-service-controllers s3
Note

Le --ack-service-controllers drapeau est facultatif. En cas d'omission, ACK active tous les contrôleurs disponibles. Pour améliorer les performances et la sécurité, pensez à activer uniquement les contrôleurs dont vous avez besoin. Vous pouvez spécifier plusieurs contrôleurs : --ack-service-controllers s3,rds,dynamodb

La commande revient immédiatement, mais la fonctionnalité met un certain temps à devenir active.

Étape 3 : vérifier que la fonctionnalité est active

Vérifiez l'état des capacités :

eksctl get capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack

La fonctionnalité est prête lorsque l'état s'afficheACTIVE.

Étape 4 : vérifier que les ressources personnalisées sont disponibles

Une fois la fonctionnalité activée, vérifiez que les ressources personnalisées ACK sont disponibles dans votre cluster :

kubectl api-resources | grep services.k8s.aws

Vous devriez voir un certain nombre de AWS ressources APIs répertoriées.

Note

La fonctionnalité des AWS Controllers for Kubernetes installera un certain nombre de ressources CRDs pour diverses ressources. AWS

Étapes suivantes