Mendeteksi Kubernetes API yang dihapus

Ada beberapa rilis Kubernetes yang tidak menggunakan lagi API dan menghapus API. Jika Anda mengupgrade GKE pada cluster Bare Metal ke versi Kubernetes baru, dan workload Anda menggunakan API yang telah dihapus, workload Anda dapat terganggu. Ikuti langkah-langkah dalam dokumen ini untuk menentukan apakah beban kerja Anda menggunakan salah satu API yang dihapus untuk versi Kubernetes tertentu sebelum mengupgrade cluster.

Untuk daftar API yang dihapus berdasarkan rilis Kubernetes, lihat Panduan Migrasi API yang Tidak Digunakan Lagi di dokumentasi Kubernetes.

Menentukan apakah penghapusan API memengaruhi Anda

Langkah-langkah berikut mengharuskan GKE pada cluster Bare Metal mengaktifkan logging audit cluster dan log audit di-streaming ke Kemampuan Observasi Google Cloud yang merupakan perilaku default.

Untuk menentukan apakah Akun Layanan Kubernetes yang Anda gunakan melakukan panggilan ke API yang telah dihapus, jalankan kueri yang disediakan di Logs Explorer:

  1. Di konsol Google Cloud, buka halaman Logs Explorer di menu Logging.

    Buka Logs Explorer

  2. Di kolom Query, masukkan kueri berikut:

    resource.labels.cluster_name = "CLUSTER_NAME" AND
    logName = "projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" AND
    protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:kube-system:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:cert-manager:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-kubeadm-bootstrap-system:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-kubeadm-bootstrap-system-webhook:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-system:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-system-webhook:") AND
    labels."k8s.io/removed-release"="KUBERNETES_MINOR_VERSION"
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster yang berisi beban kerja yang Anda periksa.

    • PROJECT_ID: ID project Google Cloud yang digunakan cluster Anda untuk log dan metrik (clusterOperations.projectID).

    • KUBERNETES_MINOR_VERSION: versi Kubernetes minor, seperti 1.25, yang telah menghapus API.

    Output dari kueri ini menunjukkan apakah ada Akun Layanan Kubernetes Anda yang melakukan panggilan ke API yang telah dihapus untuk rilis minor Kubernetes tertentu.