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 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.
Considérations relatives à l'ACK pour EKS
Cette rubrique aborde les considérations importantes relatives à l'utilisation de la fonctionnalité EKS pour ACK, notamment la configuration IAM, les modèles multi-comptes et l'intégration avec d'autres fonctionnalités EKS.
Modèles de configuration IAM
La fonctionnalité ACK utilise un rôle de capacité IAM pour s'authentifier. AWS Choisissez le modèle IAM adapté à vos besoins.
Simple : rôle de capacité unique
Pour le développement, les tests ou des cas d'utilisation simples, accordez toutes les autorisations nécessaires directement au Capability Role.
Quand utiliser :
-
Débuter avec ACK
-
Single-account déploiements
-
Toutes les ressources sont gérées par une seule équipe
-
les environnements de développement et de test,
Exemple : ajoutez des autorisations S3 et RDS à votre rôle de capacité avec des conditions de balisage des ressources :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:*"], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": ["us-west-2", "us-east-1"] } } }, { "Effect": "Allow", "Action": ["rds:*"], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": ["us-west-2", "us-east-1"], "aws:ResourceTag/ManagedBy": "ACK" } } } ] }
Cet exemple limite les opérations S3 et RDS à des régions spécifiques et nécessite que les ressources RDS possèdent une ManagedBy: ACK balise.
Production : IAM Role Selectors
Pour les environnements de production, utilisez les sélecteurs de rôles IAM pour implémenter l'accès au moindre privilège et l'isolation au niveau de l'espace de noms.
Quand utiliser :
-
Environnements de production
-
Multi-team clusters
-
Multi-account gestion des ressources
-
Least-privilege exigences de sécurité
-
Différents services nécessitent des autorisations différentes
Avantages :
-
Chaque espace de noms ne reçoit que les autorisations dont il a besoin
-
Isolation de l'équipe - L'équipe A ne peut pas utiliser les autorisations de l'équipe B
-
Audit et conformité simplifiés
-
Nécessaire pour la gestion des ressources entre comptes
Pour la configuration détaillée du sélecteur de rôle IAM, consultez. Configurer les autorisations ACK
Intégration avec d'autres fonctionnalités EKS
GitOps avec Argo CD
Utilisez la fonctionnalité EKS pour Argo CD pour déployer des ressources ACK à partir de référentiels Git, permettant ainsi des GitOps flux de travail pour la gestion de l'infrastructure.
Considérations :
-
Stockez les ressources ACK parallèlement aux manifestes d'applications de bout en bout GitOps
-
Organisez par environnement, service ou type de ressource en fonction de la structure de votre équipe
-
Utilisez la synchronisation automatique d'Argo CD pour un rapprochement continu
-
Activez l'élagage pour supprimer automatiquement les ressources supprimées
-
Envisagez des modèles en étoile pour la gestion de l'infrastructure multicluster
GitOps fournit des pistes d'audit, des fonctionnalités de restauration et une gestion déclarative de l'infrastructure. Pour en savoir plus sur Argo CD, consultezTravailler avec Argo CD.
Composition des ressources avec kro
Utilisez la fonctionnalité EKS pour kro (Kube Resource Orchestrator) pour composer plusieurs ressources ACK en abstractions de niveau supérieur et en API personnalisées.
Quand utiliser kro avec ACK :
-
Créez des modèles réutilisables pour les piles d'infrastructure courantes (base de données + sauvegarde + surveillance)
-
Créez des plateformes en libre-service avec des API simplifiées pour les équipes chargées des applications
-
Gérez les dépendances entre les ressources et transmettez des valeurs entre les ressources (ARN du compartiment S3 vers fonction Lambda)
-
Standardisez les configurations d'infrastructure entre les équipes
-
Réduisez la complexité en masquant les détails de mise en œuvre derrière des ressources personnalisées
Exemples de modèles :
-
Pile d'applications : compartiment S3 + file d'attente SQS + configuration des notifications
-
Configuration de la base de données : instance RDS + groupe de paramètres + groupe de sécurité + secrets
-
Réseau : VPC + sous-réseaux + tables de routage + groupes de sécurité
kro gère l'ordre des dépendances, la propagation des états et la gestion du cycle de vie des ressources composées. Pour en savoir plus sur Kro, voirconcepts kro.
Organisation de vos ressources
Organisez les ressources ACK à l'aide des espaces de noms et des balises de AWS ressources Kubernetes pour améliorer la gestion, le contrôle d'accès et le suivi des coûts.
Organisation de l'espace de noms
Utilisez les espaces de noms Kubernetes pour séparer logiquement les ressources ACK par environnement (production, préparation, développement), équipe (plateforme, données, machine learning) ou application.
Avantages :
-
Namespace-scoped RBAC pour le contrôle d'accès
-
Définissez les régions par défaut par espace de noms à l'aide d'annotations
-
Gestion et nettoyage des ressources simplifiés
-
Séparation logique alignée sur la structure organisationnelle
Étiquette des ressources
La fonctionnalité EKS ACK applique automatiquement des balises par défaut à toutes les AWS ressources qu'elle crée. Ces étiquettes diffèrent de l'ACK autogéré et offrent une traçabilité améliorée.
Tags par défaut appliqués par la fonctionnalité :
| Clé de tag | Description |
|---|---|
|
|
La version du contrôleur ACK |
|
|
L'espace de noms Kubernetes de la ressource ACK |
|
|
Le nom de la ressource Kubernetes |
|
|
Le groupe d'API Kubernetes (par exemple,) |
|
|
L'ARN de la capacité EKS ACK |
Note
Self-managed ACK utilise différentes balises par défaut : services.k8s.aws/controller-version etservices.k8s.aws/namespace. Les balises de la fonctionnalité utilisent le eks: préfixe par souci de cohérence avec les autres fonctionnalités EKS.
Tags supplémentaires recommandés :
Ajoutez des balises personnalisées pour la répartition des coûts, le suivi de la propriété et à des fins organisationnelles :
-
Environnement (production, mise en scène, développement)
-
Propriété de l'équipe ou du département
-
Centre de coûts pour la répartition de la facturation
-
Nom de l'application ou du service
Migration depuis d'autres Infrastructure-as-code outils
De nombreuses organisations considèrent qu'il est utile de standardiser Kubernetes au-delà de l'orchestration de leur charge de travail. La migration de la gestion de l'infrastructure et AWS des ressources vers ACK vous permet de standardiser la gestion de l'infrastructure en utilisant les API Kubernetes parallèlement aux charges de travail de vos applications.
Avantages de la standardisation sur Kubernetes pour l'infrastructure :
-
Source unique de vérité : gérez à la fois les applications et l'infrastructure dans Kubernetes, permettant ainsi une pratique de bout en bout GitOps
-
Outils unifiés : les équipes utilisent les ressources et les outils de Kubernetes au lieu d'apprendre plusieurs outils et frameworks
-
Réconciliation cohérente : ACK réconcilie en permanence les AWS ressources comme le fait Kubernetes pour les charges de travail, en détectant et en corrigeant les dérives par rapport aux outils impératifs
-
Compositions natives : avec kro et ACK combinés, référencez les AWS ressources directement dans les manifestes d'applications et de ressources, en transmettant des chaînes de connexion et des ARN entre les ressources
-
Opérations simplifiées : un seul plan de contrôle pour les déploiements, les annulations et l'observabilité sur l'ensemble de votre système
ACK prend en charge l'adoption AWS des ressources existantes sans les recréer, ce qui permet une migration sans interruption depuis CloudFormation Terraform ou des ressources externes au cluster.
Adoptez une ressource existante :
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: existing-bucket annotations: services.k8s.aws/adoption-policy: "adopt-or-create" spec: name: my-existing-bucket-name
Une fois adoptée, la ressource est gérée par ACK et peut être mise à jour via les manifestes Kubernetes. Vous pouvez effectuer une migration incrémentielle, en adoptant les ressources selon les besoins tout en conservant les outils IaC existants pour les autres ressources.
ACK prend également en charge les ressources en lecture seule. Pour les ressources gérées par d'autres équipes ou les outils que vous souhaitez référencer mais non modifier, combinez l'adoption avec la politique de retain suppression et accordez uniquement des autorisations IAM en lecture. Cela permet aux applications de découvrir une infrastructure partagée (VPC, rôles IAM, clés KMS) via les API Kubernetes sans risquer de modifications.
Pour en savoir plus sur l'adoption des ressources, consultezConcepts de l'ACK.
Politiques de suppression
Les politiques de suppression contrôlent ce qu'il advient AWS des ressources lorsque vous supprimez la ressource Kubernetes correspondante. Choisissez la bonne politique en fonction du cycle de vie des ressources et de vos exigences opérationnelles.
Supprimer (par défaut)
La AWS ressource est supprimée lorsque vous supprimez la ressource Kubernetes. Cela permet de maintenir la cohérence entre votre cluster et AWS de garantir que les ressources ne s'accumulent pas.
Quand utiliser la suppression :
-
Environnements de développement et de test où le nettoyage est important
-
Ressources éphémères liées au cycle de vie des applications (bases de données de test, compartiments temporaires)
-
Ressources qui ne devraient pas durer plus longtemps que l'application (files d'attente SQS, ElastiCache clusters)
-
Optimisation des coûts : nettoyez automatiquement les ressources inutilisées
-
Environnements gérés dans GitOps lesquels la suppression de ressources de Git entraîne la suppression de l'infrastructure
La politique de suppression par défaut s'aligne sur le modèle déclaratif de Kubernetes : ce qui se trouve dans le cluster correspond à ce qui existe dans. AWS
Conserver
La AWS ressource est conservée lorsque vous supprimez la ressource Kubernetes. Cela protège les données critiques et permet aux ressources de survivre au-delà de leur durée de vie dans Kubernetes.
Quand utiliser Retain :
-
Bases de données de production contenant des données critiques qui doivent survivre aux changements de cluster
-
Long-term seaux de stockage répondant aux exigences de conformité ou d'audit
-
Ressources partagées utilisées par plusieurs applications ou équipes
-
Ressources en cours de migration vers différents outils de gestion
-
Scénarios de reprise après sinistre dans lesquels vous souhaitez préserver l'infrastructure
-
Ressources présentant des dépendances complexes qui nécessitent une mise hors service minutieuse
apiVersion: rds.services.k8s.aws/v1alpha1 kind: DBInstance metadata: name: production-db annotations: services.k8s.aws/deletion-policy: "retain" spec: dbInstanceIdentifier: prod-db # ... configuration
Important
Les ressources conservées continuent d'entraîner des AWS coûts et doivent être supprimées manuellement AWS lorsqu'elles ne sont plus nécessaires. Utilisez le balisage des ressources pour suivre les ressources conservées à des fins de nettoyage.
Pour en savoir plus sur les politiques de suppression, consultezConcepts de l'ACK.
Documentation en amont
Pour des informations détaillées sur l'utilisation d'ACK, consultez les pages suivantes sur le site Web d'ACK :
Étapes suivantes
-
Configurer les autorisations ACK- Configurer les autorisations IAM et les modèles multi-comptes
-
Concepts de l'ACK- Comprendre les concepts ACK et le cycle de vie des ressources
-
Résoudre les problèmes liés aux fonctionnalités ACK- Résoudre les problèmes d'ACK
-
Travailler avec Argo CD- Déployez les ressources ACK avec GitOps
-
concepts kro- Composez les ressources ACK en abstractions de niveau supérieur