View a markdown version of this page

Pertimbangan ACK untuk EKS - 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.

Pertimbangan ACK untuk EKS

Topik ini mencakup pertimbangan penting untuk menggunakan Kemampuan EKS untuk ACK, termasuk konfigurasi IAM, pola multi-akun, dan integrasi dengan kemampuan EKS lainnya.

Pola konfigurasi IAM

Kemampuan ACK menggunakan Peran Kemampuan IAM untuk diautentikasi. AWS Pilih pola IAM yang tepat berdasarkan kebutuhan Anda.

Sederhana: Peran Kemampuan Tunggal

Untuk pengembangan, pengujian, atau kasus penggunaan sederhana, berikan semua izin yang diperlukan langsung ke Peran Kemampuan.

Kapan menggunakan:

  • Memulai dengan ACK

  • Single-account penyebaran

  • Semua sumber daya dikelola oleh satu tim

  • Lingkungan pengembangan dan pengujian

Contoh: Tambahkan izin S3 dan RDS ke Peran Kemampuan Anda dengan kondisi penandaan sumber daya:

{ "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" } } } ] }

Contoh ini membatasi operasi S3 dan RDS ke wilayah tertentu dan memerlukan sumber daya RDS untuk memiliki ManagedBy: ACK tag.

Produksi: Pemilih Peran IAM

Untuk lingkungan produksi, gunakan Pemilih Peran IAM untuk mengimplementasikan akses hak istimewa terkecil dan isolasi tingkat ruang nama.

Kapan menggunakan:

  • Lingkungan produksi

  • Multi-team kluster

  • Multi-account manajemen sumber daya

  • Least-privilege persyaratan keamanan

  • Layanan yang berbeda membutuhkan izin yang berbeda

Manfaat:

  • Setiap namespace hanya mendapatkan izin yang dibutuhkannya

  • Isolasi tim - Tim A tidak dapat menggunakan izin Tim B

  • Audit dan kepatuhan yang lebih mudah

  • Diperlukan untuk manajemen sumber daya lintas akun

Untuk konfigurasi Pemilih Peran IAM yang terperinci, lihat. Konfigurasikan izin ACK

Integrasi dengan kemampuan EKS lainnya

GitOps dengan Argo CD

Gunakan EKS Capability for Argo CD untuk menyebarkan sumber daya ACK dari repositori Git, memungkinkan alur GitOps kerja untuk manajemen infrastruktur.

Pertimbangan:

  • Simpan sumber daya ACK bersama manifes aplikasi untuk ujung ke ujung GitOps

  • Mengatur berdasarkan lingkungan, layanan, atau jenis sumber daya berdasarkan struktur tim Anda

  • Gunakan sinkronisasi otomatis Argo CD untuk rekonsiliasi berkelanjutan

  • Aktifkan pemangkasan untuk menghapus sumber daya yang dihapus secara otomatis

  • Pertimbangkan pola hub dan spoke untuk manajemen infrastruktur multi-cluster

GitOps menyediakan jalur audit, kemampuan rollback, dan manajemen infrastruktur deklaratif. Untuk informasi lebih lanjut tentang Argo CD, lihatBekerja dengan Argo CD.

Komposisi sumber daya dengan kro

Gunakan Kemampuan EKS untuk kro (Kube Resource Orchestrator) untuk menyusun beberapa sumber daya ACK menjadi abstraksi tingkat yang lebih tinggi dan API khusus.

Kapan menggunakan kro dengan ACK:

  • Buat pola yang dapat digunakan kembali untuk tumpukan infrastruktur umum (database + cadangan + pemantauan)

  • Bangun platform layanan mandiri dengan API yang disederhanakan untuk tim aplikasi

  • Kelola dependensi sumber daya dan berikan nilai antar sumber daya (S3 bucket ARN ke fungsi Lambda)

  • Standarisasi konfigurasi infrastruktur di seluruh tim

  • Kurangi kerumitan dengan menyembunyikan detail implementasi di balik sumber daya khusus

Contoh pola:

  • Tumpukan aplikasi: bucket S3 + antrian SQS+konfigurasi notifikasi

  • Pengaturan database: instance RDS+grup parameter+grup keamanan+rahasia

  • Jaringan: VPC + subnet + tabel rute+grup keamanan

kro menangani urutan ketergantungan, propagasi status, dan manajemen siklus hidup untuk sumber daya yang disusun. Untuk informasi lebih lanjut tentang kro, lihatkonsep kro.

Mengatur sumber daya Anda

Atur sumber daya ACK menggunakan ruang nama Kubernetes dan tag AWS sumber daya untuk manajemen, kontrol akses, dan pelacakan biaya yang lebih baik.

Organisasi Namespace

Gunakan ruang nama Kubernetes untuk memisahkan sumber daya ACK secara logis berdasarkan lingkungan (produksi, pementasan, pengembangan), tim (platform, data, ML), atau aplikasi.

Manfaat:

  • Namespace-scoped RBAC untuk kontrol akses

  • Tetapkan wilayah default per namespace menggunakan anotasi

  • Manajemen dan pembersihan sumber daya yang lebih mudah

  • Pemisahan logis selaras dengan struktur organisasi

Penandaan sumber daya

Kemampuan EKS ACK secara otomatis menerapkan tag default ke semua AWS sumber daya yang dibuatnya. Tag ini berbeda dari ACK yang dikelola sendiri dan memberikan keterlacakan yang ditingkatkan.

Tag default diterapkan oleh kemampuan:

Kunci Tag Deskripsi

eks:controller-version

Versi pengontrol ACK

eks:kubernetes-namespace

Namespace Kubernetes dari sumber daya ACK

eks:kubernetes-resource-name

Nama sumber daya Kubernetes

eks:kubernetes-api-group

Grup API Kubernetes (misalnya,) s3.services.k8s.aws

eks:eks-capability-arn

ARN dari kemampuan EKS ACK

catatan

Self-managed ACK menggunakan tag default yang berbeda: services.k8s.aws/controller-version danservices.k8s.aws/namespace. Tag kemampuan menggunakan eks: awalan untuk konsistensi dengan fitur EKS lainnya.

Tag tambahan yang direkomendasikan:

Tambahkan tag khusus untuk alokasi biaya, pelacakan kepemilikan, dan tujuan organisasi:

  • Lingkungan (Produksi, Pementasan, Pengembangan)

  • Kepemilikan tim atau departemen

  • Pusat biaya untuk alokasi tagihan

  • Nama aplikasi atau layanan

Migrasi dari Infrastructure-as-code alat lain

Banyak organisasi menemukan nilai dalam standarisasi di Kubernetes di luar orkestrasi beban kerja mereka. Migrasi infrastruktur dan manajemen AWS sumber daya ke ACK memungkinkan Anda menstandarkan manajemen infrastruktur menggunakan API Kubernetes bersama beban kerja aplikasi Anda.

Manfaat standarisasi di Kubernetes untuk infrastruktur:

  • Sumber kebenaran tunggal: Kelola aplikasi dan infrastruktur di Kubernetes, memungkinkan praktik end-to-end GitOps

  • Perkakas terpadu: Tim menggunakan sumber daya dan perkakas Kubernetes daripada mempelajari banyak alat dan kerangka kerja

  • Rekonsiliasi yang konsisten: ACK terus mendamaikan AWS sumber daya seperti yang dilakukan Kubernetes untuk beban kerja, mendeteksi dan memperbaiki penyimpangan dibandingkan dengan alat penting

  • Komposisi asli: Dengan kro dan ACK bersama-sama, referensi AWS sumber daya langsung dalam aplikasi dan manifes sumber daya, meneruskan string koneksi dan ARN antar sumber daya

  • Operasi yang disederhanakan: Satu bidang kontrol untuk penerapan, rollback, dan pengamatan di seluruh sistem Anda

ACK mendukung mengadopsi AWS sumber daya yang ada tanpa membuatnya kembali, memungkinkan migrasi zero-downtime dari CloudFormation, Terraform, atau sumber daya di luar cluster.

Mengadopsi sumber daya yang ada:

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

Setelah diadopsi, sumber daya dikelola oleh ACK dan dapat diperbarui melalui manifes Kubernetes. Anda dapat bermigrasi secara bertahap, mengadopsi sumber daya sesuai kebutuhan sambil mempertahankan alat IaC yang ada untuk sumber daya lain.

ACK juga mendukung sumber daya read-only. Untuk sumber daya yang dikelola oleh tim atau alat lain yang ingin Anda rujuk tetapi tidak diubah, gabungkan adopsi dengan kebijakan retain penghapusan dan berikan izin IAM hanya baca. Hal ini memungkinkan aplikasi untuk menemukan infrastruktur bersama (VPC, peran IAM, kunci KMS) melalui API Kubernetes tanpa risiko modifikasi.

Untuk informasi lebih lanjut tentang adopsi sumber daya, lihatKonsep ACK.

Kebijakan penghapusan

Kebijakan penghapusan mengontrol apa yang terjadi pada AWS sumber daya saat Anda menghapus sumber daya Kubernetes yang sesuai. Pilih kebijakan yang tepat berdasarkan siklus hidup sumber daya dan persyaratan operasional Anda.

Hapus (default)

Sumber AWS daya dihapus saat Anda menghapus sumber daya Kubernetes. Ini menjaga konsistensi antara cluster Anda dan AWS, memastikan sumber daya tidak terakumulasi.

Kapan menggunakan delete:

  • Lingkungan pengembangan dan pengujian di mana pembersihan penting

  • Sumber daya sementara yang terkait dengan siklus hidup aplikasi (database pengujian, bucket sementara)

  • Sumber daya yang seharusnya tidak hidup lebih lama dari aplikasi (antrian SQS, cluster) ElastiCache

  • Optimalisasi biaya - secara otomatis membersihkan sumber daya yang tidak digunakan

  • Lingkungan yang dikelola dengan GitOps tempat penghapusan sumber daya dari Git harus menghapus infrastruktur

Kebijakan penghapusan default selaras dengan model deklaratif Kubernetes: apa yang ada di cluster cocok dengan apa yang ada di. AWS

Mempertahankan

Sumber AWS daya disimpan saat Anda menghapus sumber daya Kubernetes. Ini melindungi data penting dan memungkinkan sumber daya hidup lebih lama dari representasi Kubernetes mereka.

Kapan menggunakan keep:

  • Database produksi dengan data penting yang harus bertahan dari perubahan cluster

  • Long-term bucket penyimpanan dengan persyaratan kepatuhan atau audit

  • Sumber daya bersama yang digunakan oleh beberapa aplikasi atau tim

  • Sumber daya yang dimigrasikan ke alat manajemen yang berbeda

  • Skenario pemulihan bencana di mana Anda ingin melestarikan infrastruktur

  • Sumber daya dengan dependensi kompleks yang membutuhkan penonaktifan yang hati-hati

apiVersion: rds.services.k8s.aws/v1alpha1 kind: DBInstance metadata: name: production-db annotations: services.k8s.aws/deletion-policy: "retain" spec: dbInstanceIdentifier: prod-db # ... configuration
penting

Sumber daya yang disimpan terus menimbulkan AWS biaya dan harus dihapus secara manual AWS saat tidak lagi diperlukan. Gunakan penandaan sumber daya untuk melacak sumber daya yang disimpan untuk pembersihan.

Untuk informasi lebih lanjut tentang kebijakan penghapusan, lihatKonsep ACK.

Dokumentasi hulu

Untuk informasi terperinci tentang penggunaan ACK, lihat halaman berikut di situs web ACK:

  • Untuk membuat dan mengelola sumber daya, lihat panduan penggunaan ACK.

  • Untuk dokumentasi API lengkap untuk semua layanan, lihat referensi API ACK.

  • Untuk dokumentasi pengguna yang komprehensif, lihat dokumentasi ACK.

Langkah selanjutnya