Topik ini mencakup empat jenis kegagalan akses kluster di konsol Container Service for Kubernetes (ACK): exception permintaan API server, kegagalan akses log Pod, izin role-based access control (RBAC) yang tidak tersedia, dan izin Resource Access Management (RAM) yang tidak tersedia.
Navigasi cepat
Temukan kode kesalahan Anda dan langsung menuju bagian terkait:
| Kode kesalahan | Bagian |
|---|---|
ErrorQueryClusterNamespace, APIServer.500 |
Exception permintaan API server |
| Log Pod tidak dapat diakses, resource lain berfungsi normal | Kegagalan akses log Pod |
ForbiddenQueryClusterNamespace, APISERVER.403 |
Izin RBAC tidak tersedia |
StatusForbidden |
Izin RAM tidak tersedia |
Exception permintaan API server (ErrorQueryClusterNamespace atau APIServer.500)
Gejala
Konsol ACK menampilkan kesalahan berikut saat Anda mengakses resource kluster:
Terjadi kesalahan saat memproses permintaan Anda ke API server kluster saat ini.
Kode kesalahan: ErrorQueryClusterNamespace atau APIServer.500
Penyebab
Konfigurasi load balancing API server tidak valid atau status API server tidak normal, sehingga layanan manajemen ACK gagal terhubung ke API server.
Solusi
Langkah 1: Verifikasi keberadaan instans SLB
-
Login ke ACK console. Di panel navigasi kiri, klik Clusters.
-
Klik nama kluster target. Di panel navigasi kiri, klik Cluster Information.
-
Di tab Basic Information, klik tautan di samping API server SLB untuk membuka Server Load Balancer (SLB) console.
Jika konsol menampilkan The specified SLB ID does not exist., artinya instans SLB untuk API server telah dihapus atau dilepas dan kluster tidak dapat dipulihkan. Buat ulang kluster tersebut. Untuk detailnya, lihat Create an ACK managed cluster.
Langkah 2: Periksa status instans SLB
Periksa apakah Status instans SLB adalah Running.
Jika statusnya bukan Running, periksa adanya pembayaran tertunda atau masa langganan yang telah habis. Lunasi pembayaran tertunda atau lakukan perpanjangan langganan, lalu restart instans SLB. Untuk detail penagihan, lihat CLB billing.
Langkah 3: Verifikasi konfigurasi listener
Klik tab Listener dan periksa apakah terdapat listener dengan Frontend Protocol/Port dan Backend Protocol/Port diatur sebagai TCP:6443 serta Status-nya Running.
Jika listener tersebut tidak ada atau tidak sedang berjalan:
-
Jika listener ada tetapi Status-nya Stopped, pilih listener tersebut dan klik Enable.
-
Jika listener tidak ada:
-
Untuk kluster ACK yang dikelola, atau submit a ticket. ACK mengelola node master untuk kluster yang dikelola, sehingga platform harus memulihkan konfigurasi listener.
-
Untuk kluster khusus ACK, tambahkan semua node master ke kelompok server default. Lalu buat listener dengan Frontend Protocol/Port dan Backend Protocol/Port diatur sebagai TCP:6443, kaitkan dengan default server group, dan mulai listener tersebut. Untuk detailnya, lihat Add a TCP listener.
-
Langkah 4: Periksa status pemeriksaan kesehatan
Periksa apakah kolom Health Check Status pada listener menunjukkan Normal.
Jika statusnya bukan Normal, artinya server backend instans SLB tidak normal:
-
Untuk kluster ACK yang dikelola, atau submit a ticket. ACK mengelola node master untuk kluster yang dikelola dan Anda tidak dapat mengaksesnya secara langsung.
-
Untuk kluster khusus ACK, lakukan troubleshooting sebagai berikut. Jika masalah tetap berlanjut setelah troubleshooting, atau submit a ticket.
-
Di halaman Nodes > Nodes pada ACK console atau ACK console, klik ID instans ECS masing-masing node master dan verifikasi bahwa instans tersebut berada dalam status Running di ECS console.
-
Login ke masing-masing node master melalui konsol ECS dan periksa status kontainer API server. Untuk cara login ke node master, lihat Connection method overview.
-
Docker runtime:
docker ps | grep kube-apiserverKemudian jalankan
docker inspect <container-id>untuk memeriksa status kontainer. -
containerd runtime:
crictl ps | grep kube-apiserverKemudian jalankan
crictl inspect <container-id>untuk memeriksa status kontainer.
-
-
Langkah 5: Periksa kontrol akses listener
Periksa apakah kontrol akses diaktifkan untuk listener tersebut.
Jika kontrol akses diaktifkan, daftar putih tidak mencakup rentang IP internal yang digunakan oleh layanan manajemen ACK. Tambahkan blok CIDR 100.104.0.0/16 ke daftar putih. Blok CIDR ini mencakup alamat IP sumber dari permintaan internal yang dikirim oleh layanan manajemen ACK ke API server. Untuk detailnya, lihat Access control.
Langkah 6: Jika masalah tetap berlanjut
Jika langkah-langkah di atas tidak menyelesaikan masalah, atau submit a ticket.
Kegagalan akses log Pod
Bagian ini berlaku ketika akses log Pod gagal tetapi resource kluster lainnya dapat diakses secara normal.
Penyebab
Grup keamanan pada node yang menjalankan Pod tidak mengizinkan lalu lintas masuk pada port TCP 10250, yang digunakan oleh API server untuk mengambil log Pod.
Solusi
-
Periksa apakah Status Pod adalah Running. Jika tidak, selesaikan masalah Pod terlebih dahulu. Untuk detailnya, lihat Pod troubleshooting.
-
Di halaman Nodes > Nodes, temukan node tempat Pod dideploy dan klik ID instans ECS-nya. Di konsol ECS, klik Network & Security > Security Groups.
-
Tinjau semua aturan grup keamanan dan pastikan akses arah masuk dari VPC ke port TCP 10250 diizinkan. Jika belum, tambahkan aturan yang diperlukan. Untuk detailnya, lihat Add a security group rule.
-
Jika masalah tetap berlanjut, atau submit a ticket.
Izin RBAC tidak tersedia (ForbiddenQueryClusterNamespace atau APISERVER.403)
Gejala
Konsol ACK menampilkan kesalahan berikut:
Akun saat ini tidak memiliki izin RBAC yang diperlukan untuk melakukan operasi ini.
Kode kesalahan: ForbiddenQueryClusterNamespace atau APISERVER.403
Penyebab
Akun tidak memiliki izin RBAC yang diperlukan.
Solusi
-
Login ke ACK consoleACK console menggunakan Akun Alibaba Cloud atau akun dengan izin administrator. Di panel navigasi kiri, klik Authorizations.
-
Di tab RAM Users, temukan Pengguna RAM yang mengalami kesalahan tersebut dan klik Modify Permissions.
-
Di panel Permission Management, klik Add Permissions. Pilih kluster, namespace, dan role RBAC yang telah ditentukan, lalu klik Submit.
Izin RAM tidak tersedia (StatusForbidden)
Gejala
Konsol ACK menampilkan kesalahan berikut:
Akun saat ini tidak memiliki izin RAM yang diperlukan untuk melakukan operasi ini.
Kode kesalahan: StatusForbidden
Penyebab
Akun tidak memiliki izin RAM yang diperlukan.
Solusi
-
Login ke RAM console menggunakan Akun Alibaba Cloud atau akun dengan izin RAM.
-
Berikan izin yang diperlukan berdasarkan aksi CS yang ditampilkan dalam pesan kesalahan (misalnya,
cs:DescribeKubernetesVersionMetadata). Untuk detailnya, lihat Create a custom RAM policy.