

 **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
<a name="capabilities-troubleshooting"></a>

**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](capabilities-controller-logs.md).

## Pendekatan pemecahan masalah umum
<a name="_general_troubleshooting_approach"></a>

Saat memecahkan masalah Kemampuan EKS, ikuti pendekatan umum ini:

1.  **Periksa kesehatan kemampuan**: Gunakan `aws eks describe-capability` untuk melihat status kemampuan dan masalah kesehatan

1.  **Verifikasi status sumber daya**: Periksa sumber daya Kubernetes (CRD) yang Anda buat untuk kondisi status dan peristiwa

1.  **Tinjau log pengontrol**: Jika pengiriman log dikonfigurasi, log pengontrol kueri untuk kesalahan dan detail rekonsiliasi

1.  **Tinjau izin IAM**: Pastikan Peran Kemampuan memiliki izin yang diperlukan

1.  **Periksa konfigurasi**: Verifikasi konfigurasi khusus kemampuan sudah benar

## Gunakan log pengontrol untuk pemecahan masalah
<a name="_use_controller_logs_for_troubleshooting"></a>

Jika Anda telah mengonfigurasi pengiriman log pengontrol (lihat[Akses log pengontrol Kemampuan EKS](capabilities-controller-logs.md)), Anda dapat menanyakan log untuk mengidentifikasi kesalahan rekonsiliasi, konflik sumber daya, dan masalah konfigurasi.

### Kesalahan kueri di semua pengontrol
<a name="_query_errors_across_all_controllers"></a>

```
fields @timestamp, controller, message, error
| filter level = "error"
| sort @timestamp desc
| limit 50
```

### Filter log untuk pengontrol layanan ACK tertentu
<a name="_filter_logs_for_a_specific_ack_service_controller"></a>

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
<a name="_filter_logs_for_a_specific_argo_cd_application"></a>

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
<a name="_track_reconciliation_for_a_specific_resource"></a>

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
<a name="_common_log_patterns_indicating_issues"></a>
+  **Kesalahan rekonsiliasi berulang ** — Pengontrol tidak dapat mencapai status yang diinginkan untuk sumber daya. Periksa `error` bidang 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 `ACTIVE` dan bahwa sumber daya tersebut ada di namespace yang dapat diakses oleh kemampuan tersebut.

## Periksa kesehatan kemampuan
<a name="_check_capability_health"></a>

Semua Kemampuan EKS memberikan informasi kesehatan melalui konsol EKS dan `describe-capability` API.

 **Konsol**:

1. Buka konsol Amazon EKS di https://console.aws.amazon.com/eks/home \#/cluster.

1. Pilih nama cluster Anda.

1. Pilih ** tab ** Observability.

1. Pilih ** Monitor cluster**.

1. 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 \
  --region {{region-code}} \
  --cluster-name {{my-cluster}} \
  --capability-name {{my-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
<a name="_common_capability_statuses"></a>

 **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 ke`ACTIVE`.

 **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
<a name="_verify_kubernetes_resource_status"></a>

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 get {{resource-kind}} -A

# Describe a specific resource to see conditions and events
kubectl describe {{resource-kind resource-name}} -n {{namespace}}

# View resource status conditions
kubectl get {{resource-kind resource-name}} -n {{namespace}} -o jsonpath='{.status.conditions}'

# View events related to the resource
kubectl get events --field-selector involvedObject.name={{resource-name}} -n {{namespace}}
```

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
<a name="_review_iam_permissions_and_cluster_access"></a>

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
<a name="_check_iam_role_permissions"></a>

Verifikasi Peran Kemampuan memiliki izin yang diperlukan:

```
# List attached managed policies
aws iam list-attached-role-policies --role-name {{my-capability-role}}

# List inline policies
aws iam list-role-policies --role-name {{my-capability-role}}

# Get specific policy details
aws iam get-role-policy --role-name {{my-capability-role}} --policy-name {{policy-name}}

# View the role's trust policy
aws iam get-role --role-name {{my-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
<a name="_check_eks_access_entries_and_access_policies"></a>

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-name {{my-cluster}} \
  --region {{region-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-name {{my-cluster}} \
  --principal-arn {{arn:aws:iam::111122223333:role/my-capability-role}} \
  --region {{region-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-name {{target-cluster}} \
  --principal-arn {{arn:aws:iam::111122223333:role/argocd-capability-role}} \
  --region {{region-code}}
```

Jika Entri Akses hilang pada cluster target, Argo CD tidak dapat menyebarkan aplikasi ke kluster target. Lihat [Daftarkan kluster target](argocd-register-clusters.md) untuk detail konfigurasi.

## Capability-specific pemecahan masalah
<a name="_capability_specific_troubleshooting"></a>

Untuk panduan pemecahan masalah terperinci khusus untuk setiap jenis kemampuan:
+  [Memecahkan masalah dengan kemampuan ACK](ack-troubleshooting.md)- Memecahkan masalah pembuatan sumber daya ACK, izin IAM, dan akses lintas akun
+  [Memecahkan masalah dengan kemampuan CD Argo](argocd-troubleshooting.md)- Memecahkan masalah sinkronisasi aplikasi, otentikasi repositori, dan penerapan multi-cluster
+  [Memecahkan masalah dengan kemampuan kro](kro-troubleshooting.md)- Memec ResourceGraphDefinitions ahkan masalah, ekspresi CEL, dan izin RBAC

## Masalah umum di semua kemampuan
<a name="_common_issues_across_all_capabilities"></a>

### Kemampuan terjebak dalam keadaan CREATING
<a name="_capability_stuck_in_creating_state"></a>

Jika kemampuan tetap dalam `CREATING` keadaan lebih lama dari yang diharapkan:

1. Periksa kesehatan kemampuan untuk masalah tertentu di konsol (**Observability ** > ** Monitor cluster ** > ** tab Cap ** abilities) atau menggunakan AWS CLI:

   ```
   aws eks describe-capability \
     --region {{region-code}} \
     --cluster-name {{my-cluster}} \
     --capability-name {{my-capability-name}} \
     --query 'capability.health'
   ```

1. Verifikasi peran IAM ada dan memiliki kebijakan kepercayaan yang benar

1. Pastikan cluster Anda dapat diakses dan sehat

1. Periksa masalah tingkat cluster yang mungkin mencegah pengaturan kemampuan

### Sumber daya tidak dibuat atau diperbarui
<a name="_resources_not_being_created_or_updated"></a>

Jika kemampuan `ACTIVE` tetapi sumber daya tidak dibuat atau diperbarui:

1. Periksa status sumber daya untuk kondisi kesalahan

1. Verifikasi izin IAM untuk AWS layanan tertentu (ACK) atau repositori (Argo CD)

1. Periksa izin RBAC untuk membuat sumber daya yang mendasarinya (kro)

1. Tinjau spesifikasi sumber daya untuk kesalahan validasi

### Kesehatan kemampuan menunjukkan masalah
<a name="_capability_health_shows_issues"></a>

Jika `describe-capability` menunjukkan masalah kesehatan:

1. Baca deskripsi masalah dengan saksama — mereka sering menunjukkan masalah spesifik

1. Mengatasi akar penyebab (izin IAM, kesalahan konfigurasi, dll.)

1. Kemampuan akan secara otomatis pulih setelah masalah diselesaikan

## Langkah selanjutnya
<a name="_next_steps"></a>
+  [Bekerja dengan sumber daya kemampuan](working-with-capabilities.md)- Kelola sumber daya kemampuan
+  [Memecahkan masalah dengan kemampuan ACK](ack-troubleshooting.md)- pemec ACK-specific ahan masalah
+  [Memecahkan masalah dengan kemampuan CD Argo](argocd-troubleshooting.md)- Pemecahan masalah Argo CD-specific 
+  [Memecahkan masalah dengan kemampuan kro](kro-troubleshooting.md)- pemecahan masalah khusus kro-
+  [Pertimbangan keamanan untuk Kemampuan EKS](capabilities-security.md)- Praktik terbaik keamanan untuk kemampuan