Topik ini menjelaskan gejala, penyebab utama, dan solusi untuk kegagalan akses konsol Container Service for Kubernetes (ACK) ke klaster, termasuk skenario seperti pengecualian permintaan server API, kesalahan yang terjadi selama akses log pod karena kegagalan server API, serta kurangnya izin kontrol akses berbasis peran klaster (RBAC) yang diperlukan untuk akun saat ini.
Pengecualian permintaan server API terjadi saat Anda mengakses sumber daya klaster, dan kode kesalahan ErrorQueryClusterNamespace atau APIServer.500 dikembalikan
Issue
Saat menggunakan konsol ACK untuk mengakses sumber daya klaster, sistem mengembalikan pesan kesalahan berikut: "Terjadi kesalahan saat memproses permintaan Anda ke server API dari klaster saat ini." Kode kesalahan adalah ErrorQueryClusterNamespace atau APIServer.500.

Cause
Konfigurasi penyeimbangan beban server API tidak valid atau status server API tidak normal, sehingga layanan manajemen ACK gagal terhubung ke server API.
Solution
Masuk ke konsol ACK atau . Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, temukan klaster target dan klik namanya. Di panel navigasi sebelah kiri, klik Cluster Information.
Di halaman detail klaster, klik tab Basic Information, lalu klik hyperlink di sebelah kanan API server SLB untuk masuk ke konsol Server Load Balancer (SLB).
Jika sistem menampilkan pesan The specified SLB ID does not exist., instance SLB untuk server API telah dihapus atau dilepaskan, dan klaster tidak dapat dipulihkan. Untuk membuat ulang klaster, lihat Buat Klaster ACK yang Dikelola.
Jika tidak, lanjutkan ke langkah berikutnya.
Periksa apakah Status instance SLB adalah Running.
Jika tidak, periksa apakah instance memiliki pembayaran yang tertunda atau telah kedaluwarsa. Jika demikian, lunasi pembayaran yang tertunda atau perpanjang langganan, lalu mulai ulang instance SLB. Untuk informasi lebih lanjut tentang pembayaran yang tertunda terkait instance SLB, lihat Penagihan CLB.
Jika ya, lanjutkan ke langkah berikutnya.
Klik tab Listener untuk memeriksa apakah instance SLB memiliki listener dengan pengaturan Frontend Protocol/Port dan Backend Protocol/Port diatur ke TCP:6443, serta apakah kolom Status listener menampilkan Running.
Jika tidak, konfigurasi listener untuk server API telah dimodifikasi.
Jika listener yang disebutkan di atas ada tetapi dalam status Stopped, pilih listener dan klik Enable.
Jika listener yang disebutkan di atas tidak ada, lakukan operasi berikut:
Untuk klaster ACK yang dikelola, submit a ticket.
Untuk klaster ACK khusus, pastikan semua node master ditambahkan ke grup server default. Kemudian, buat listener dengan pengaturan Frontend Protocol/Port dan Backend Protocol/Port diatur ke TCP:6443, asosiasikan listener dengan default server group, dan mulai listener. Untuk informasi lebih lanjut tentang cara menambahkan listener, lihat Tambahkan Listener TCP.
Jika ya, lanjutkan ke langkah berikutnya.
Periksa apakah kolom Health Check Status listener menampilkan Normal.
Jika tidak, server backend instance SLB untuk server API tidak normal.
Untuk klaster ACK yang dikelola, submit a ticket.
Untuk klaster ACK khusus, lakukan operasi berikut untuk pemecahan masalah. Jika masalah tetap ada, submit a ticket.
Di halaman di konsol ACK, periksa status setiap instance master: Klik ID instance Elastic Compute Service (ECS) yang sesuai dengan node master untuk dialihkan ke konsol Elastic Compute Service, lalu verifikasi apakah instance dalam status Running.
Gunakan konsol ECS untuk masuk ke setiap node master dan periksa apakah kontainer server API berjalan dengan normal.
Untuk informasi lebih lanjut tentang cara masuk ke node master, lihat Ikhtisar Metode Koneksi.
Gunakan salah satu metode berikut untuk memeriksa apakah kontainer server API berjalan dengan normal:
Untuk klaster yang menggunakan runtime Docker: Jalankan perintah
docker ps | grep kube-apiserver. Kemudian, berdasarkan output yang dikembalikan, jalankan perintahdocker inspectuntuk memeriksa status kontainer.Untuk klaster yang menggunakan runtime containerd: Jalankan perintah
crictl ps | grep kube-apiserver. Kemudian, berdasarkan output yang dikembalikan, jalankan perintahcrictl inspectuntuk memeriksa status kontainer.
Jika ya, lanjutkan ke langkah berikutnya.
Periksa apakah kontrol akses diaktifkan untuk listener tersebut.
Jika ya, itu menunjukkan bahwa daftar putih listener untuk kontrol akses tidak dikonfigurasi dengan benar. Untuk menyelesaikan masalah ini, tambahkan blok CIDR
100.104.0.0/16ke daftar putih. Blok CIDR menentukan alamat IP sumber dari permintaan internal yang dikirim oleh layanan manajemen ACK ke server API.Jika tidak, lanjutkan ke langkah berikutnya.
Jika pengecualian tidak disebabkan oleh alasan di atas, submit a ticket.
Pengecualian permintaan server API terjadi saat Anda mengakses log pod
Jika pengecualian ini terjadi saat mengakses log pod tetapi Anda dapat mengakses sumber daya klaster lainnya secara normal, lakukan operasi berikut untuk memecahkan masalah:
Periksa apakah status pod adalah Running. Jika tidak, lihat Pemecahan Masalah Pod.
Pergi ke halaman , temukan node tempat pod diterapkan dalam daftar node, dan klik ID instance ECS yang sesuai untuk dialihkan ke konsol ECS. Di panel navigasi sebelah kiri, klik .
Periksa semua aturan grup keamanan untuk memverifikasi apakah akses masuk dari VPC ke port TCP 10250 dibuka. Jika tidak, lihat Tambahkan Aturan Grup Keamanan untuk menambahkan aturan yang sesuai.
Jika tidak ada yang berlaku di atas, submit a ticket untuk bantuan.
Akun saat ini tidak memiliki izin RBAC yang diperlukan untuk melakukan operasi, dan kode kesalahan ForbiddenQueryClusterNamespace atau APISERVER.403 dikembalikan
Issue
Saat mengakses konsol ACK, sistem mengembalikan pesan kesalahan berikut: "Akun saat ini tidak memiliki izin RBAC yang diperlukan untuk melakukan operasi". Kode kesalahan adalah ForbiddenQueryClusterNamespace atau APISERVER.403.
Cause
Akun yang digunakan tidak memiliki izin RBAC yang diperlukan untuk melakukan operasi.
Solution
Gunakan akun Alibaba Cloud atau akun yang memiliki izin administrator untuk masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Authorizations.
Di tab RAM Users, temukan pengguna Resource Access Management (RAM) yang menyebabkan kesalahan dan klik Modify Permissions untuk pengguna RAM tersebut.
Di panel Permission Management, klik Add Permissions, pilih klaster, namespace, dan peran RBAC yang telah ditentukan sebelumnya, lalu klik Submit.
Akun saat ini tidak memiliki izin RAM yang diperlukan untuk melakukan operasi, dan kode kesalahan StatusForbidden dikembalikan
Issue
Saat mengakses konsol ACK, sistem mengembalikan pesan kesalahan berikut: "Akun saat ini tidak memiliki izin RAM yang diperlukan untuk melakukan operasi". Kode kesalahan adalah StatusForbidden.
Cause
Akun yang digunakan tidak memiliki izin RAM yang diperlukan untuk melakukan operasi.
Solution
Gunakan akun Alibaba Cloud atau akun yang memiliki izin RAM untuk masuk ke konsol RAM.
Berikan akun Anda izin yang diperlukan berdasarkan informasi CS yang dikembalikan oleh sistem, seperti cs:DescribeKubernetesVersionMetadata. Untuk informasi lebih lanjut, lihat Buat Kebijakan RAM Kustom.