Buat kemampuan CD Argo menggunakan AWS CLI - Amazon EKS

View a markdown version of this page

Buat kemampuan CD Argo menggunakan AWS CLI - 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 AWS CLI

Buat kemampuan CD Argo di cluster Amazon EKS Anda menggunakan AWS CLI. Prosedur ini memandu Anda melalui pembuatan peran IAM, mengonfigurasi integrasi Pusat AWS Identitas, dan memverifikasi kemampuan aktif.

Prasyarat

  • AWS CLI - Versi 2.12.3 atau yang lebih baru. Untuk memeriksa versi Anda, jalankanaws --version. Untuk informasi selengkapnya, lihat Menginstal di Panduan AWS Pengguna Antarmuka Baris Perintah.

  • kubectl— Alat baris perintah untuk bekerja dengan cluster Kubernetes. Untuk informasi selengkapnya, lihat Siapkan kubectl dan eksctl .

  • 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

Jika Anda berencana untuk menggunakan integrasi opsional dengan Manajer AWS Rahasia atau AWS CodeConnections, tambahkan 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.

(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 2: Buat kemampuan CD Argo

Buat sumber daya kemampuan CD Argo di cluster Anda.

Pertama, atur variabel lingkungan untuk konfigurasi Pusat Identitas Anda:

# Get your Identity Center instance ARN (replace region if your IDC instance is in a different region) export IDC_INSTANCE_ARN=$(aws sso-admin list-instances --region region-code --query 'Instances[0].InstanceArn' --output text) # Get a user ID for RBAC mapping (replace with your username and region if needed) export IDC_USER_ID=$(aws identitystore list-users \ --region region-code \ --identity-store-id $(aws sso-admin list-instances --region region-code --query 'Instances[0].IdentityStoreId' --output text) \ --query 'Users[?UserName==your-username].UserId' --output text) echo "IDC_INSTANCE_ARN=$IDC_INSTANCE_ARN" echo "IDC_USER_ID=$IDC_USER_ID"

Buat kemampuan dengan integrasi Identity Center. Ganti region-code dengan AWS Wilayah tempat cluster Anda berada, my-cluster dengan nama cluster Anda, dan idc-region-code dengan kode wilayah tempat instance Pusat Identitas Anda berada:

aws eks create-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --type ARGOCD \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \ --delete-propagation-policy RETAIN \ --configuration '{ "argoCd": { "awsIdc": { "idcInstanceArn": "'$IDC_INSTANCE_ARN'", "idcRegion": "'idc-region-code'" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "'$IDC_USER_ID'", "type": "SSO_USER" }] }] } }'

Jika Anda mengonfigurasi titik akhir VPC untuk akses pribadi, ser network-configuration takan parameter untuk membuat kemampuan dengan titik akhir pribadi. Ganti vpce-xxxxxxxx dengan ID titik akhir VPC Anda:

aws eks create-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --type ARGOCD \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \ --delete-propagation-policy RETAIN \ --network-configuration '{ "elasticNetworkInterfaces": { "vpcEndpointId": "'vpce-xxxxxxxx'" } }' \ --configuration '{ "argoCd": { "awsIdc": { "idcInstanceArn": "'$IDC_INSTANCE_ARN'", "idcRegion": "'idc-region-code'" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "'$IDC_USER_ID'", "type": "SSO_USER" }] }] } }'

Perintah segera kembali, tetapi kemampuan membutuhkan waktu untuk menjadi aktif karena EKS menciptakan infrastruktur dan komponen kemampuan yang diperlukan. EKS menginstal Kubernetes Custom Resource Definitions (CRD) di cluster Anda selama pembuatan kemampuan.

catatan

Jika Anda menerima kesalahan bahwa cluster tidak ada atau Anda tidak memiliki izin, verifikasi:

  • Nama cluster benar

  • AWS CLI Anda dikonfigurasi untuk wilayah yang benar

  • Anda memiliki izin IAM yang diperlukan

Langkah 3: Verifikasi kemampuan aktif

Tunggu kemampuan untuk menjadi aktif. Ganti region-code dengan AWS Wilayah tempat cluster Anda berada dan my-cluster dengan nama cluster Anda.

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd \ --query 'capability.status' \ --output text

Kemampuan siap ketika status ditampilkanACTIVE. Tunggu hingga statusnya ACTIVE sebelum Anda melanjutkan ke langkah berikutnya.

Anda juga dapat melihat detail kemampuan lengkap:

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-argocd

Langkah 4: 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