Pertimbangan ACK untuk EKS - Amazon EKS

Bantu tingkatkan 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 Edit halaman ini pada GitHub tautan 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 mengautentikasi dengan. 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

  • Penerapan akun tunggal

  • 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"] }, } } ] }

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

Produksi: Penyeleksi Peran IAM

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

Kapan menggunakan:

  • Lingkungan produksi

  • Cluster multi-tim

  • Manajemen sumber daya multi-akun

  • Persyaratan keamanan dengan hak istimewa paling sedikit

  • Layanan yang berbeda memerlukan 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 mendetail, lihat. Konfigurasikan izin ACK

Integrasi dengan kemampuan EKS lainnya

GitOps dengan Argo CD

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

Pertimbangan:

  • Simpan sumber daya ACK bersama manifes aplikasi untuk end-to-end GitOps

  • Atur 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 hub-and-spoke pola 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 ke dalam abstraksi dan kustom tingkat yang lebih tinggi. APIs

Kapan menggunakan kro dengan ACK:

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

  • Membangun platform swalayan dengan disederhanakan APIs untuk tim aplikasi

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

  • Standarisasi konfigurasi infrastruktur di seluruh tim

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

Contoh pola:

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

  • Pengaturan basis data: contoh RDS+grup parameter+grup keamanan+rahasia

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

kro menangani pengurutan ketergantungan, propagasi status, dan manajemen siklus hidup untuk sumber daya tersusun. 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 pengelolaan, 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:

  • RBAC dengan cakupan ruang nama untuk kontrol akses

  • Setel wilayah default per namespace menggunakan anotasi

  • Pengelolaan dan pembersihan sumber daya yang lebih mudah

  • Pemisahan logis selaras dengan struktur organisasi

Penandaan sumber daya

EKS secara otomatis menerapkan tag ke AWS sumber daya yang dikelola oleh ACK, termasuk sumber daya kemampuan ARN. Tambahkan tag tambahan untuk alokasi biaya, pelacakan kepemilikan, dan tujuan organisasi.

Tag yang direkomendasikan:

  • Lingkungan (Produksi, Pementasan, Pengembangan)

  • Kepemilikan tim atau departemen

  • Pusat biaya untuk alokasi penagihan

  • Nama aplikasi atau layanan

  • ManagedBy: ACK (untuk mengidentifikasi sumber daya yang dikelola ACK)

Migrasi dari Infrastructure-as-code alat lain

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

Manfaat standarisasi di Kubernetes untuk infrastruktur:

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

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

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

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

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

ACK mendukung adopsi AWS sumber daya yang ada tanpa membuatnya kembali, memungkinkan migrasi zero-downtime dari, Terraform CloudFormation, 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 referensikan tetapi tidak diubah, gabungkan adopsi dengan kebijakan retain penghapusan dan berikan izin IAM baca saja. Hal ini memungkinkan aplikasi untuk menemukan infrastruktur bersama (VPCs, peran IAM, kunci KMS) melalui Kubernetes tanpa risiko modifikasi APIs .

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

Kebijakan penghapusan

Kebijakan penghapusan mengontrol apa yang terjadi pada AWS sumber daya ketika 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 akan dihapus ketika Anda menghapus sumber daya Kubernetes. Ini menjaga konsistensi antara cluster Anda dan AWS, memastikan sumber daya tidak menumpuk.

Kapan menggunakan hapus:

  • Lingkungan pengembangan dan pengujian di mana pembersihan itu penting

  • Sumber daya sementara yang terkait dengan siklus hidup aplikasi (database pengujian, ember 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 sejalan dengan model deklaratif Kubernetes: apa yang ada di klaster cocok dengan apa yang ada di dalamnya. AWS

Mempertahankan

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

Kapan menggunakan pertahankan:

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

  • Ember penyimpanan jangka panjang dengan kepatuhan atau persyaratan audit

  • Sumber daya bersama yang digunakan oleh beberapa aplikasi atau tim

  • Sumber daya dimigrasikan ke alat manajemen yang berbeda

  • Skenario pemulihan bencana di mana Anda ingin melestarikan infrastruktur

  • Sumber daya dengan dependensi kompleks yang membutuhkan penonaktifan yang cermat

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 tertahan terus mengeluarkan AWS biaya dan harus dihapus secara manual dari AWS saat tidak lagi diperlukan. Gunakan penandaan sumber daya untuk melacak sumber daya yang disimpan untuk pembersihan.

Untuk selengkapnya tentang kebijakan penghapusan, lihat. Konsep ACK

Dokumentasi hulu

Untuk informasi rinci tentang penggunaan ACK:

Langkah selanjutnya