Atasi pengecualian server API, izin RBAC yang tidak tersedia, dan izin RAM yang tidak tersedia saat mengakses kluster dari konsol Container Compute Service (ACS).
Pengecualian permintaan server API
Gejala
Saat mengakses sumber daya kluster di konsol, muncul pesan kesalahan seperti "Terjadi pengecualian permintaan server API untuk kluster saat ini". Kode kesalahan adalah ErrorQueryClusterNamespace atau APIServer.500. Kotak dialog Error menampilkan pesan: "Terjadi kesalahan saat memproses permintaan Anda ke server API kluster saat ini. Pecahkan masalah yang memengaruhi lapisan kontrol Kubernetes atau coba lagi nanti." Pesan kesalahan lengkapnya adalah failed to query access namespace for user (User ID) error is an error on the server ("Get \"https://192.168.*.*:10885/api/v1/namespaces?limit=300\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)") has prevented the request from succeeding (get namespaces), dengan kode kesalahan ErrorQueryClusterNamespace dan ID permintaan 5D6A5DAF-0AB6-5EEB-***.
Penyebab
Lapisan kontrol ACS tidak dapat terhubung ke server API kluster karena konfigurasi SLB tidak valid atau status instans SLB tidak normal.
Solusi
-
Masuk ke konsol ACS. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik kluster target.
-
Di halaman detail kluster, klik tab Cluster Resources. Lalu, klik tautan di samping API server SLB untuk membuka konsol Server Load Balancer (SLB).
-
Jika halaman menampilkan pesan The specified SLB ID does not exist, berarti instans SLB untuk server API telah dihapus atau dirilis. Kluster tidak dapat dipulihkan. Buat kluster ACS sebagai penggantinya.
-
Jika tidak, lanjutkan ke langkah berikutnya.
-
-
Verifikasi bahwa Status instans SLB adalah Running.
-
Jika tidak, instans tersebut mungkin ditangguhkan karena pembayaran tertunda (pay-as-you-go) atau terkunci akibat langganan yang kedaluwarsa. Perpanjang dan aktifkan kembali instans tersebut. Pembayaran tertunda.
-
Jika ya, lanjutkan ke langkah berikutnya.
-
-
Verifikasi bahwa Pendengar TCP:6443 pada instans SLB dikonfigurasi untuk antarmuka depan dan backend, Status-nya adalah Running, Health Check Status-nya adalah Normal, dan Access Control-nya diatur ke whitelist.
-
Jika tidak, berarti pendengar untuk instans SLB server API telah dimodifikasi.
-
Jika pendengar ada tetapi dalam status Disable, pilih pendengar tersebut dan klik Enable.
-
Jika pendengar tidak ada, ajukan tiket untuk bantuan.
-
-
Jika ya, lanjutkan ke langkah berikutnya.
-
-
Periksa apakah Health Check Status pendengar tersebut adalah Healthy.
-
Jika tidak, berarti server backend instans SLB server API tidak sehat. ajukan tiket untuk bantuan.
-
Jika ya, lanjutkan ke langkah berikutnya.
-
-
Periksa apakah kontrol akses diaktifkan untuk pendengar tersebut.
-
Jika diaktifkan, tambahkan Blok CIDR
100.104.0.0/16(rentang sumber lapisan kontrol ACS) ke daftar putih. Kontrol akses. -
Jika tidak, lanjutkan ke langkah berikutnya.
-
-
Jika masalah tetap berlanjut, ajukan tiket untuk bantuan.
Pengecualian server API untuk log Pod
Jika hanya akses log Pod yang gagal sedangkan sumber daya kluster lainnya dapat diakses, ikuti langkah-langkah berikut.
-
Periksa apakah status Pod adalah Running. Jika tidak, Pecahkan masalah Pod.
-
Verifikasi bahwa trafik inbound VPC melalui Port TCP 10250 diizinkan dalam aturan grup keamanan. Tambahkan aturan grup keamanan jika trafik ini diblokir.
-
Jika masalah tetap berlanjut, ajukan tiket untuk bantuan.
Izin RBAC kluster tidak tersedia
Gejala
Saat mengakses konsol, muncul pesan kesalahan: "Akun saat ini tidak memiliki izin RBAC kluster yang diperlukan untuk melakukan operasi ini. Hubungi akun primary atau administrator izin untuk memberikan izin tersebut." Kode kesalahannya adalah ForbiddenQueryClusterNamespace atau APISERVER.403. Pesan kesalahan dasarnya adalah Forbidden query namespaces.
Penyebab
Akun Anda tidak memiliki izin RBAC kluster yang diperlukan untuk operasi tersebut.
Solusi
-
Masuk ke konsol Container Compute Service menggunakan Akun Alibaba Cloud atau akun administrator. Di panel navigasi kiri, pilih Authorizations.
-
Di tab RAM Users, temukan pengguna yang terdampak dan klik Modify Permissions di kolom Actions.
-
Di halaman Permission Management, klik Add Permissions, pilih kluster dan namespace target, pilih role yang telah ditentukan, lalu klik Submit.
Izin RAM tidak tersedia
Gejala
Saat mengakses konsol, kotak dialog Error menampilkan: "Akun saat ini tidak memiliki izin RAM yang diperlukan untuk melakukan operasi ini. Hubungi akun primary atau administrator izin untuk memberikan izin tersebut." Kode kesalahannya adalah StatusForbidden dan izin yang diperlukan adalah cs:DescribeKubernetesVersionMetadata.
Penyebab
Akun Anda tidak memiliki izin RAM yang diperlukan untuk operasi tersebut.
Solusi
-
Masuk ke konsol RAM menggunakan Akun Alibaba Cloud atau akun yang memiliki izin RAM.
-
Berikan izin yang tercantum dalam pesan kesalahan, misalnya cs:DescribeKubernetesVersionMetadata. Buat kebijakan RAM kustom.