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.
Pemecahan Masalah Kemampuan EKS
catatan
Kemampuan EKS sepenuhnya dikelola dan dijalankan di luar cluster Anda. Anda tidak memiliki akses langsung ke ruang nama pengontrol. Pemecahan masalah berfokus pada kesehatan kemampuan, status sumber daya, konfigurasi, dan log pengontrol. Anda dapat mengonfigurasi pengiriman log pengontrol untuk mendapatkan visibilitas ke dalam perilaku pengontrol. Lihat Akses log pengontrol Kemampuan EKS.
Pendekatan pemecahan masalah umum
Saat memecahkan masalah Kemampuan EKS, ikuti pendekatan umum ini:
-
Periksa kesehatan kemampuan: Gunakan
aws eks describe-capabilityuntuk melihat status kemampuan dan masalah kesehatan -
Verifikasi status sumber daya: Periksa sumber daya Kubernetes (CRD) yang Anda buat untuk kondisi status dan peristiwa
-
Tinjau log pengontrol: Jika pengiriman log dikonfigurasi, log pengontrol kueri untuk kesalahan dan detail rekonsiliasi
-
Tinjau izin IAM: Pastikan Peran Kemampuan memiliki izin yang diperlukan
-
Periksa konfigurasi: Verifikasi konfigurasi khusus kemampuan sudah benar
Gunakan log pengontrol untuk pemecahan masalah
Jika Anda telah mengonfigurasi pengiriman log pengontrol (lihatAkses log pengontrol Kemampuan EKS), Anda dapat menanyakan log untuk mengidentifikasi kesalahan rekonsiliasi, konflik sumber daya, dan masalah konfigurasi.
Kesalahan kueri di semua pengontrol
fields @timestamp, controller, message, error | filter level = "error" | sort @timestamp desc | limit 50
Filter log untuk pengontrol layanan ACK tertentu
Gunakan controllerGroup bidang untuk mengisolasi log dari pengontrol layanan ACK tertentu:
fields @timestamp, message, error | filter controllerGroup = "s3.services.k8s.aws" | filter level = "error" | sort @timestamp desc
Untuk memfilter lebih lanjut berdasarkan jenis sumber daya (misalnya, hanya SecurityGroup log dari pengontrol EC2):
fields @timestamp, message, error | filter controllerGroup = "ec2.services.k8s.aws" | filter controllerKind = "SecurityGroup" | sort @timestamp desc | limit 100
Filter log untuk aplikasi Argo CD tertentu
Gunakan application bidang untuk mengisolasi log untuk aplikasi CD Argo tertentu:
fields @timestamp, message, error | filter application = "my-application" | sort @timestamp desc | limit 100
Melacak rekonsiliasi untuk sumber daya tertentu
Gunakan reconcileID bidang untuk mengikuti siklus rekonsiliasi tunggal:
fields @timestamp, level, message, error | filter reconcileID = "your-reconcile-id" | sort @timestamp asc
Pola log umum yang menunjukkan masalah
-
Kesalahan rekonsiliasi berulang — Pengontrol tidak dapat mencapai status yang diinginkan untuk sumber daya. Periksa
errorbidang untuk detail seperti kegagalan izin IAM atau konfigurasi sumber daya yang tidak valid. -
“Kesalahan rekonsiliasi” dengan kesalahan AWS API — Peran Kemampuan mungkin kehilangan izin untuk operasi AWS layanan tertentu. Tinjau pesan kesalahan dan perbarui kebijakan IAM yang sesuai.
-
Tidak ada entri log untuk sumber daya — Jika Anda tidak melihat log untuk sumber daya yang Anda harapkan untuk direkonsiliasi oleh pengontrol, verifikasi kemampuan tersebut
ACTIVEdan bahwa sumber daya tersebut ada di namespace yang dapat diakses oleh kemampuan tersebut.
Periksa kesehatan kemampuan
Semua Kemampuan EKS memberikan informasi kesehatan melalui konsol EKS dan describe-capability API.
Konsol:
-
Buka konsol Amazon EKS di https://console.aws.amazon.com/eks/home #/cluster.
-
Pilih nama cluster Anda.
-
Pilih tab Observability.
-
Pilih Monitor cluster.
-
Pilih tab Kemampuan untuk melihat kesehatan dan status untuk semua kemampuan.
Tab Capabilities menunjukkan:
-
Nama dan jenis kemampuan
-
Status saat ini
-
Masalah kesehatan, dengan deskripsi
AWS CLI:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name
Respons meliputi:
-
status: Status kemampuan saat ini (
CREATING,ACTIVE,UPDATING,DELETING,CREATE_FAILED,UPDATE_FAILED) -
kesehatan: Informasi kesehatan termasuk masalah apa pun yang terdeteksi oleh kemampuan
Status kemampuan umum
MENCIPTAKAN: Kemampuan sedang disiapkan.
AKTIF: Kemampuan berjalan dan siap digunakan. Jika sumber daya tidak berfungsi seperti yang diharapkan, periksa status sumber daya dan izin IAM.
MEMPER BARUI: Perubahan konfigurasi sedang diterapkan. Tunggu status kembali keACTIVE.
CREATE_FAILED atau UP DATE_FAILED: Pengaturan atau pembaruan mengalami kesalahan. Periksa bagian kesehatan untuk detailnya. Penyebab umum:
-
Kebijakan kepercayaan peran IAM salah atau hilang
-
Peran IAM tidak ada atau tidak dapat diakses
-
Masalah akses cluster
-
Parameter konfigurasi tidak valid
Verifikasi status sumber daya Kubernetes
Kapabilitas EKS membuat dan mengelola Kubernetes Custom Resource Definitions (CRD) di cluster Anda. Saat memecahkan masalah, periksa status sumber daya yang Anda buat:
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kind resource-name-nnamespace# View resource status conditions kubectl getresource-kind resource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
Kondisi status sumber daya memberikan informasi tentang:
-
Apakah sumber daya sudah siap
-
Kesalahan apa pun yang ditemui
-
Status rekonsiliasi saat ini
Tinjau izin IAM dan akses cluster
Banyak masalah kemampuan berasal dari masalah izin IAM atau konfigurasi akses cluster yang hilang. Verifikasi izin Peran Kemampuan dan entri akses cluster.
Periksa izin peran IAM
Verifikasi Peran Kemampuan memiliki izin yang diperlukan:
# List attached managed policies aws iam list-attached-role-policies --role-namemy-capability-role# List inline policies aws iam list-role-policies --role-namemy-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-capability-role--policy-namepolicy-name# View the role's trust policy aws iam get-role --role-namemy-capability-role--query 'Role.AssumeRolePolicyDocument'
Kebijakan kepercayaan harus mengizinkan prinsi capabilities.eks.amazonaws.com pal layanan:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Periksa Entri Akses EKS dan Kebijakan Akses
Semua kemampuan memerlukan Entri Akses EKS yang tepat dan Kebijakan Akses pada cluster tempat mereka beroperasi.
Verifikasi Entri Akses ada:
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-code
Cari Peran Kemampuan ARN dalam daftar. Jika hilang, kemampuan tidak dapat mengakses cluster.
Periksa Kebijakan Akses yang dilampirkan pada entri:
aws eks list-associated-access-policies \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-code
Semua kemampuan memerlukan Kebijakan Akses yang sesuai:
-
ACK: Membutuhkan izin untuk membuat dan mengelola sumber daya Kubernetes
-
kro: Membutuhkan izin untuk membuat dan mengelola sumber daya Kubernetes
-
Argo CD: Membutuhkan izin untuk membuat dan mengelola Aplikasi, dan memerlukan Entri Akses pada cluster target jarak jauh untuk penerapan multi-cluster
Untuk penerapan multi-cluster Argo CD:
Jika menerapkan ke cluster jarak jauh, verifikasi Peran Kemampuan memiliki Entri Akses pada setiap cluster target:
# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/argocd-capability-role\ --regionregion-code
Jika Entri Akses hilang pada cluster target, Argo CD tidak dapat menyebarkan aplikasi ke kluster target. Lihat Daftarkan kluster target untuk detail konfigurasi.
Capability-specific pemecahan masalah
Untuk panduan pemecahan masalah terperinci khusus untuk setiap jenis kemampuan:
-
Memecahkan masalah dengan kemampuan ACK- Memecahkan masalah pembuatan sumber daya ACK, izin IAM, dan akses lintas akun
-
Memecahkan masalah dengan kemampuan CD Argo- Memecahkan masalah sinkronisasi aplikasi, otentikasi repositori, dan penerapan multi-cluster
-
Memecahkan masalah dengan kemampuan kro- Memec ResourceGraphDefinitions ahkan masalah, ekspresi CEL, dan izin RBAC
Masalah umum di semua kemampuan
Kemampuan terjebak dalam keadaan CREATING
Jika kemampuan tetap dalam CREATING keadaan lebih lama dari yang diharapkan:
-
Periksa kesehatan kemampuan untuk masalah tertentu di konsol (Observability > Monitor cluster > tab Cap abilities) atau menggunakan AWS CLI:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name\ --query 'capability.health' -
Verifikasi peran IAM ada dan memiliki kebijakan kepercayaan yang benar
-
Pastikan cluster Anda dapat diakses dan sehat
-
Periksa masalah tingkat cluster yang mungkin mencegah pengaturan kemampuan
Sumber daya tidak dibuat atau diperbarui
Jika kemampuan ACTIVE tetapi sumber daya tidak dibuat atau diperbarui:
-
Periksa status sumber daya untuk kondisi kesalahan
-
Verifikasi izin IAM untuk AWS layanan tertentu (ACK) atau repositori (Argo CD)
-
Periksa izin RBAC untuk membuat sumber daya yang mendasarinya (kro)
-
Tinjau spesifikasi sumber daya untuk kesalahan validasi
Kesehatan kemampuan menunjukkan masalah
Jika describe-capability menunjukkan masalah kesehatan:
-
Baca deskripsi masalah dengan saksama — mereka sering menunjukkan masalah spesifik
-
Mengatasi akar penyebab (izin IAM, kesalahan konfigurasi, dll.)
-
Kemampuan akan secara otomatis pulih setelah masalah diselesaikan
Langkah selanjutnya
-
Bekerja dengan sumber daya kemampuan- Kelola sumber daya kemampuan
-
Memecahkan masalah dengan kemampuan ACK- pemec ACK-specific ahan masalah
-
Memecahkan masalah dengan kemampuan CD Argo- Pemecahan masalah Argo CD-specific
-
Memecahkan masalah dengan kemampuan kro- pemecahan masalah khusus kro-
-
Pertimbangan keamanan untuk Kemampuan EKS- Praktik terbaik keamanan untuk kemampuan