Memecahkan masalah umum

Halaman ini menunjukkan cara menyelesaikan masalah umum terkait GKE di Azure.

Jika Anda memerlukan bantuan lainnya, hubungi Cloud Customer Care.

Pesan error umum

Bagian berikut menjelaskan penyebab dan solusi untuk beberapa pesan error umum.

Server tidak memiliki resource

Error seperti error: the server doesn't have a resource type "services" dapat terjadi jika cluster tidak memiliki kumpulan node yang berjalan, atau gateway Connect tidak dapat terhubung ke kumpulan node. Untuk memeriksa status kumpulan node Anda, jalankan perintah berikut:

gcloud container azure node-pools list \
    --cluster-name CLUSTER_NAME \
    --location LOCATION

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster Anda
  • LOCATION: lokasi Google Cloud yang mengelola cluster Anda

Outputnya mencakup status kumpulan node cluster Anda. Jika Anda tidak memiliki kumpulan node yang tercantum, Create a node pool.

Pengguna terlarang

Error berikut terjadi jika nama pengguna tidak memiliki akses administrator ke cluster:

Error from server (Forbidden): users "administrator@example.com" is forbidden:
User "system:serviceaccount:gke-connect:connect-agent-sa" cannot impersonate
resource "users" in API group "" at the cluster scope

Anda dapat mengonfigurasi pengguna tambahan dengan meneruskan flag --admin-users saat membuat cluster.

Jika Anda menggunakan gateway Connect dan tidak dapat terhubung ke cluster, coba langkah-langkah berikut:

  1. Memperoleh pengguna yang diotorisasi untuk cluster Anda.

    gcloud container azure clusters describe CLUSTER_NAME \
        --format 'value(authorization.admin_users)'
    

    Ganti CLUSTER_NAME dengan nama cluster Anda.

    Output-nya mencakup nama pengguna dengan akses administrator ke cluster. Contoh:

    {'username': 'administrator@example.com'}
    
  2. Dapatkan nama pengguna yang saat ini diautentikasi dengan Google Cloud CLI.

    gcloud config get-value account
    

    Outputnya mencakup akun yang diautentikasi dengan Google Cloud CLI. Jika output gcloud containers azure clusters describe dan gcloud config get-value account tidak cocok, jalankan gcloud auth login dan autentikasi sebagai nama pengguna dengan akses admin ke cluster.

Masalah terkait perintah kubectl

Bagian berikut memberikan panduan tentang cara menyelesaikan masalah dengan perintah kubectl yang tidak responsif atau gagal.

Perintah kubectl berhenti merespons

Jika cluster Anda menjalankan versi Kubernetes yang lebih lama dari 1.25 dan perintah kubectl tidak responsif atau waktu habis, alasan paling umum adalah Anda belum membuat kumpulan node. Secara default, GKE di Azure menghasilkan file kubeconfig yang menggunakan gateway Connect sebagai endpoint yang dapat dijangkau internet. Agar berhasil, Deployment gke-connect-agent harus berjalan di kumpulan node pada cluster.

Untuk mengetahui informasi diagnostik selengkapnya, jalankan perintah berikut:

kubectl cluster-info -v=9

Jika tidak ada kumpulan node yang berjalan, Anda akan melihat permintaan ke connectgateway.googleapis.com gagal dengan error 404 cannot find active connections for cluster.

Untuk cluster dengan versi Kubernetes 1.25 atau yang lebih baru, gke-connect-agent berjalan di bidang kontrol, dan kumpulan node tidak diperlukan. Jika perintah kubectl tidak responsif, periksa log komponen bidang kontrol dengan Cloud Logging.

Perintah kubectl exec, Attach, dan port-forward gagal

Perintah kubectl exec, kubectl attach, dan kubectl port-forward mungkin gagal dengan pesan error: unable to upgrade connection saat menggunakan gateway Connect. Ini adalah batasan saat menggunakan gateway Connect sebagai endpoint Kubernetes API Server Anda.

Untuk mengatasi hal ini, gunakan kubeconfig yang menentukan endpoint pribadi cluster. Untuk mengetahui petunjuk cara mengakses cluster melalui endpoint pribadinya, lihat Mengonfigurasi akses cluster untuk kubectl.

Pemecahan masalah kubectl umum

Jika Anda menggunakan gateway Connect:

  • Pastikan Anda telah mengaktifkan gateway Connect di project Google Cloud:

    gcloud services enable connectgateway.googleapis.com
    
  • Untuk cluster dengan versi Kubernetes sebelum 1.25, pastikan Anda memiliki setidaknya satu kumpulan node Linux yang berjalan dan gke-connect-agent juga berjalan. Untuk mengetahui detailnya, lihat Memecahkan masalah koneksi cluster.

  • Untuk cluster dengan Kubernetes versi 1.25 atau yang lebih baru, periksa log gke-connect-agent dengan Cloud Logging.

Langkah selanjutnya