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.
Création d'une fonctionnalité Argo CD à l'aide d'eksctl
Créez une fonctionnalité Argo CD sur votre cluster Amazon EKS à l'aide de eksctl.
Note
Les étapes suivantes nécessitent la version eksctl 0.215.0 ou une version ultérieure. Pour vérifier votre version, exécutezeksctl version.
Conditions préalables
-
AWS Identity Center configuré : Argo CD nécessite AWS Identity Center pour l'authentification. Les utilisateurs locaux ne sont pas pris en charge. Si vous n'avez pas configuré AWS Identity Center, consultez Démarrage avec AWS Identity Center pour créer une instance Identity Center, et Ajouter des utilisateurs et Ajouter des groupes pour créer des utilisateurs et des groupes pour accéder à Argo CD.
-
Au moins un utilisateur ou un groupe dans AWS Identity Center : au moins un utilisateur ou un groupe doit être configuré dans votre instance Identity Center pour attribuer des mappages de rôles Argo CD RBAC et fournir un accès à l'interface utilisateur Argo CD.
Étape 1 : Création d'un rôle de capacité IAM
Créez un fichier de politique de confiance :
cat > argocd-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 ArgoCDCapabilityRole \ --assume-role-policy-document file://argocd-trust-policy.json
Note
Pour cette configuration de base, aucune politique IAM supplémentaire n'est requise. Si vous envisagez d'utiliser Secrets Manager pour les informations d'identification du référentiel ou CodeConnections si vous devez ajouter des autorisations au rôle. Pour obtenir des exemples de politiques IAM et des conseils de configuration, consultez Gérez les secrets des applications avec AWS Secrets Manager etConnectez-vous aux référentiels Git avec AWS CodeConnections.
Étape 2 : Obtenez votre AWS Configuration du centre d'identité
Obtenez l'ARN et l'ID utilisateur de votre instance Identity Center pour la configuration RBAC :
# Get your Identity Center instance ARN aws sso-admin list-instances --query 'Instances[0].InstanceArn' --output text # Get a user ID for admin access (replace 'your-username' with your Identity Center username) aws identitystore list-users \ --identity-store-id $(aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text) \ --query 'Users[?UserName==`your-username`].UserId' --output text
Notez ces valeurs. Vous en aurez besoin à l'étape suivante.
(Facultatif) Configurer un point de terminaison privé
Par défaut, l'interface utilisateur et le point de terminaison de l'API Argo CD sont accessibles au public sur Internet. Si vous devez restreindre l'accès, vous pouvez configurer un point de terminaison VPC. Ceci est recommandé pour les environnements soumis à des exigences de sécurité réseau strictes.
Création d'un point de terminaison VPC pour les fonctionnalités EKS
Créez un point de terminaison VPC d'interface pour le service EKS Capabilities de votre VPC. Remplacez vpc-idsubnet-id-1 subnet-id-2,sg-id, et region-code par vos propres valeurs :
aws ec2 create-vpc-endpoint \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.region-code.eks-capabilities \ --vpc-idvpc-id\ --subnet-idssubnet-id-1 subnet-id-2\ --security-group-idssg-id\ --regionregion-code
Note
-
Les sous-réseaux doivent se trouver dans des zones de disponibilité différentes pour garantir une haute disponibilité.
-
Le groupe de sécurité doit autoriser le trafic HTTPS entrant (port 443) en provenance des réseaux qui doivent accéder à l'interface utilisateur et à l'API Argo CD.
-
Notez l'ID de point de terminaison VPC renvoyé par cette commande ; vous en aurez besoin lors de la création de la fonctionnalité.
Vérifiez que le point de terminaison VPC est disponible
aws ec2 describe-vpc-endpoints \ --vpc-endpoint-idsvpce-xxxxxxxx\ --query 'VpcEndpoints[0].State' \ --output text \ --regionregion-code
Attendez que l'état apparaisse available avant de continuer.
Étape 3 : Création d'un fichier de configuration eksctl
Créez un fichier nommé argocd-capability.yaml avec le contenu suivant. Remplacez les valeurs d'espace réservé par le nom de votre cluster, la région du cluster, l'ARN du rôle IAM, l'ARN de l'instance Identity Center, la région du centre d'identité et l'ID utilisateur :
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:my-clusterregion:cluster-region-codecapabilities: - name: my-argocd type: ARGOCD roleArn:arn:aws:iam::111122223333:role/ArgoCDCapabilityRoledeletePropagationPolicy: RETAIN configuration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: SSO_USER
Note
Vous pouvez ajouter plusieurs utilisateurs ou groupes aux mappages RBAC. Pour les groupes, utilisez type: SSO_GROUP et fournissez l'identifiant du groupe. Les rôles disponibles sont ADMINEDITOR, etVIEWER.
Si vous avez configuré un point de terminaison VPC pour un accès privé, ajoutez la networkConfiguration section à la définition des fonctionnalités. Remplacez-le vpce-xxxxxxxx par l'ID de votre point de terminaison VPC :
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:my-clusterregion:cluster-region-codecapabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::111122223333:role/ArgoCDCapabilityRole deletePropagationPolicy: RETAIN networkConfiguration: elasticNetworkInterfaces: vpcEndpointId:vpce-xxxxxxxxconfiguration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: SSO_USER
Note
Lorsque le point de terminaison privé est activé, l'interface utilisateur et l'API Argo CD ne sont accessibles que via le point de terminaison VPC. Les utilisateurs doivent être connectés au VPC (ou à un réseau pair) pour accéder à l'interface Argo CD.
Étape 4 : Création de la fonctionnalité Argo CD
Appliquez le fichier de configuration :
eksctl create capability -f argocd-capability.yaml
La commande revient immédiatement, mais la fonctionnalité met un certain temps à être active.
Étape 5 : Vérifiez que la fonctionnalité est active
Vérifiez l'état des capacités. region-codeRemplacez-la par la AWS région dans laquelle se trouve votre cluster et my-cluster remplacez-la par le nom de votre cluster.
eksctl get capability \ --regionregion-code\ --clustermy-cluster\ --name my-argocd
La fonctionnalité est prête lorsque l'état s'afficheACTIVE.
Étape 6 : Vérifier la disponibilité des ressources personnalisées
Une fois la fonctionnalité activée, vérifiez que les ressources personnalisées Argo CD sont disponibles dans votre cluster :
kubectl api-resources | grep argoproj.io
Vous devriez voir Application et répertorier les types de ApplicationSet ressources.
Étapes suivantes
-
Travailler avec Argo CD- Apprenez à créer et à gérer des applications Argo CD
-
Considérations relatives à Argo CD- Configuration du SSO et de l'accès multi-clusters
-
Utilisation des ressources capacitaires- Gérez votre ressource de fonctionnalités Argo CD