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.
Considérations relatives à l'ACK pour EKS
Cette rubrique couvre 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 les cas d'utilisation simples, accordez toutes les autorisations nécessaires directement au rôle de capacité.
Quand utiliser :
-
Commencer à utiliser ACK
-
Déploiements à compte unique
-
Toutes les ressources sont gérées par une seule équipe
-
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"] }, } } ] }
Cet exemple limite les opérations S3 et RDS à des régions spécifiques et exige que les ressources RDS soient dotées d'une ManagedBy: ACK balise.
Production : Sélecteurs de rôles IAM
Pour les environnements de production, utilisez les sélecteurs de rôle IAM pour implémenter l'accès avec le moindre privilège et l'isolation au niveau de l'espace de noms.
Quand utiliser :
-
Environnements de production
-
Clusters multi-équipes
-
Gestion des ressources multi-comptes
-
Exigences de sécurité relatives au moindre privilège
-
Les différents services nécessitent des autorisations différentes
Avantages :
-
Chaque espace de noms ne reçoit que les autorisations dont il a besoin
-
Isolement 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 une configuration détaillée du sélecteur de rôle IAM, consultez. Configurer les autorisations ACK
Intégration avec d'autres fonctionnalités d'EKS
GitOps avec Argo CD
Utilisez le CD EKS Capability for Argo 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 à côté des manifestes d'applications pour end-to-end 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 hub-and-spoke des modèles de gestion de l'infrastructure multi-clusters
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, voirTravailler 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 personnalisées. APIs
Quand utiliser Kro avec ACK :
-
Créez des modèles réutilisables pour les piles d'infrastructure courantes (base de données, sauvegarde et surveillance)
-
Créez des plateformes en libre-service simplifiées APIs pour les équipes d'application
-
Gérer les dépendances des ressources et transmettre des valeurs entre les ressources (fonction ARN du compartiment S3 vers 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 et configuration des notifications
-
Configuration de la base de données : instance RDS + groupe de paramètres + groupe de sécurité + secrets
-
Mise en réseau : VPC + sous-réseaux + tables de routage + groupes de sécurité
kro gère l'ordre des dépendances, la propagation des statuts 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, développement, développement), par équipe (plateforme, données, ml) ou par application.
Avantages :
-
RBAC limité à l'espace de noms 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
EKS applique automatiquement des balises aux AWS ressources gérées par ACK, y compris l'ARN des ressources de capacité. Ajoutez des balises supplémentaires pour la répartition des coûts, le suivi de la propriété et à des fins organisationnelles.
Tags recommandés :
-
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
-
ManagedBy: ACK (pour identifier les ressources gérées par ACK)
Migration depuis d'autres Infrastructure-as-code outils
De nombreuses entreprises trouvent la valeur de la standardisation sur 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 à l'aide de Kubernetes APIs 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 end-to-end GitOps
-
Outillage unifié : les équipes utilisent les ressources et les outils Kubernetes plutôt que 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 indispensables
-
Compositions natives : avec kro et ACK combinés, référencez les AWS ressources directement dans les manifestes d'applications et de ressources, en passant des chaînes de connexion et ARNs 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 des ressources selon vos besoins, tout en conservant les outils IaC existants pour d'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 ne pas modifier, combinez l'adoption avec la politique de retain suppression et accordez uniquement des autorisations de lecture IAM. Cela permet aux applications de découvrir une infrastructure partagée (rôles IAMVPCs, clés KMS) via Kubernetes APIs sans risquer de modifications.
Pour en savoir plus sur l'adoption des ressources, voirConcepts d'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 dans lesquels 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, clusters) ElastiCache
-
Optimisation des coûts : nettoyage automatique des ressources inutilisées
-
Environnements gérés avec GitOps lesquels la suppression des ressources de Git devrait supprimer l'infrastructure
La politique de suppression par défaut s'aligne sur le modèle déclaratif de Kubernetes : le contenu du 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 à leur représentation sur Kubernetes.
Quand utiliser Retain :
-
Bases de données de production contenant des données critiques qui doivent résister aux modifications des clusters
-
Compartiments de stockage à long terme soumis à des exigences de conformité ou d'audit
-
Ressources partagées utilisées par plusieurs applications ou équipes
-
Migration des ressources 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 d'ACK.
Documentation en amont
Pour des informations détaillées sur l'utilisation d'ACK :
-
Guide d'utilisation d'ACK
- Création et gestion de ressources -
Référence de l'API ACK
- Documentation complète sur les API pour tous les services -
Documentation ACK - Documentation
utilisateur complète
Étapes suivantes
-
Configurer les autorisations ACK- Configurer les autorisations IAM et les modèles multi-comptes
-
Concepts d'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