View a markdown version of this page

Buat kemampuan CD Argo menggunakan eksctl - Amazon EKS

Bantu meningkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih GitHub tautan Edit halaman ini di yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat kemampuan CD Argo menggunakan eksctl

Buat kemampuan CD Argo di cluster Amazon EKS Anda menggunakan eksctl.

catatan

Langkah-langkah berikut memerlukan versi eksctl 0.215.0 atau yang lebih baru. Untuk memeriksa versi Anda, jalankaneksctl version.

Prasyarat

  • AWS Identity Center dikonfigurasi — Argo CD memerlukan AWS Identity Center untuk otentikasi. Pengguna lokal tidak didukung. Jika Anda belum menyiapkan Pusat AWS Identitas, lihat Mem ulai dengan AWS Identity Center untuk membuat instance Identity Center, dan Men ambahkan pengguna dan Men ambahkan grup untuk membuat pengguna dan grup untuk akses CD Argo.

  • Setidaknya satu pengguna atau grup di Pusat AWS Identitas — Anda harus memiliki setidaknya satu pengguna atau grup yang dikonfigurasi dalam instance Identity Center Anda untuk menetapkan pemetaan peran Argo CD RBAC dan menyediakan akses ke UI Argo CD.

Langkah 1: Buat Peran Kemampuan IAM

Buat file kebijakan kepercayaan:

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

Buat peran IAM:

aws iam create-role \ --role-name ArgoCDCapabilityRole \ --assume-role-policy-document file://argocd-trust-policy.json
catatan

Untuk pengaturan dasar ini, tidak diperlukan kebijakan IAM tambahan. Jika Anda berencana menggunakan Secrets Manager untuk kredentif repositori atau CodeConnections, Anda harus menambahkan izin ke peran tersebut. Untuk contoh kebijakan IAM dan panduan konfigurasi, lihat Kelola rahasia aplikasi dengan AWS Secrets Manager danConnect ke repositori Git dengan AWS CodeConnections.

Langkah 2: Dapatkan AWS Konfigurasi Pusat Identitas

Dapatkan ARN instans Identity Center Anda dan ID pengguna untuk konfigurasi 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

Perhatikan nilai-nilai ini - Anda akan membutuhkannya di langkah berikutnya.

(Opsional) Konfigurasikan titik akhir pribadi

Secara default, UI CD Argo dan titik akhir API dapat diakses publik melalui internet. Jika Anda perlu membatasi akses, Anda dapat mengonfigurasi titik akhir VPC. Ini direkomendasikan untuk lingkungan dengan persyaratan keamanan jaringan yang ketat.

Membuat titik akhir VPC untuk Kemampuan EKS

Buat titik akhir VPC antarmuka untuk layanan EKS Capabilities di VPC Anda. Gantivpc-id,subnet-id-1 subnet-id-2,sg-id, dan region-code dengan nilai-nilai Anda sendiri:

aws ec2 create-vpc-endpoint \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.region-code.eks-capabilities \ --vpc-id vpc-id \ --subnet-ids subnet-id-1 subnet-id-2 \ --security-group-ids sg-id \ --region region-code
catatan
  • Subnet harus berada di Zona Ketersediaan yang berbeda untuk ketersediaan tinggi.

  • Grup keamanan harus mengizinkan lalu lintas masuk HTTPS (port 443) dari jaringan yang perlu mengakses UI dan API CD Argo.

  • Perhatikan ID titik akhir VPC yang dikembalikan oleh perintah ini—Anda akan memerlukannya saat membuat kemampuan.

Verifikasi titik akhir VPC tersedia

aws ec2 describe-vpc-endpoints \ --vpc-endpoint-ids vpce-xxxxxxxx \ --query 'VpcEndpoints[0].State' \ --output text \ --region region-code

Tunggu sampai keadaan muncul available sebelum melanjutkan.

Langkah 3: Buat file konfigurasi eksctl

Buat file dengan nama argocd-capability.yaml dengan konten berikut ini. Ganti nilai placeholder dengan nama cluster Anda, wilayah cluster, peran IAM ARN, instance Identity Center ARN, wilayah Pusat Identitas, dan ID pengguna:

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: cluster-region-code capabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::111122223333:role/ArgoCDCapabilityRole deletePropagationPolicy: RETAIN configuration: argocd: awsIdc: idcInstanceArn: arn:aws:sso:::instance/ssoins-123abc idcRegion: idc-region-code rbacRoleMappings: - role: ADMIN identities: - id: 38414300-1041-708a-01af-5422d6091e34 type: SSO_USER
catatan

Anda dapat menambahkan beberapa pengguna atau grup ke pemetaan RBAC. Untuk grup, gunakan type: SSO_GROUP dan berikan ID grup. Peran yang tersedia adalah ADMINEDITOR,, danVIEWER.

Jika Anda mengonfigurasi titik akhir VPC untuk akses pribadi, tambahkan networkConfiguration bagian tersebut ke definisi kemampuan. Ganti vpce-xxxxxxxx dengan ID titik akhir VPC Anda:

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: cluster-region-code capabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::111122223333:role/ArgoCDCapabilityRole deletePropagationPolicy: RETAIN networkConfiguration: elasticNetworkInterfaces: vpcEndpointId: vpce-xxxxxxxx configuration: argocd: awsIdc: idcInstanceArn: arn:aws:sso:::instance/ssoins-123abc idcRegion: idc-region-code rbacRoleMappings: - role: ADMIN identities: - id: 38414300-1041-708a-01af-5422d6091e34 type: SSO_USER
catatan

Ketika titik akhir pribadi diaktifkan, UI dan API CD Argo hanya dapat diakses melalui titik akhir VPC. Pengguna harus terhubung ke VPC (atau jaringan peered) untuk mengakses antarmuka CD Argo.

Langkah 4: Buat kemampuan CD Argo

Terapkan file konfigurasi:

eksctl create capability -f argocd-capability.yaml

Perintah segera kembali, tetapi kemampuan membutuhkan waktu untuk menjadi aktif.

Langkah 5: Verifikasi kemampuan aktif

Periksa status kemampuan. Ganti region-code dengan AWS Wilayah tempat cluster Anda berada dan ganti my-cluster dengan nama cluster Anda.

eksctl get capability \ --region region-code \ --cluster my-cluster \ --name my-argocd

Kemampuan siap ketika status ditampilkanACTIVE.

Langkah 6: Verifikasi sumber daya khusus tersedia

Setelah kemampuan aktif, verifikasi bahwa sumber daya kustom Argo CD tersedia di cluster Anda:

kubectl api-resources | grep argoproj.io

Anda harus melihat Application dan jenis ApplicationSet sumber daya terdaftar.

Langkah selanjutnya