Mendeteksi Kubernetes API yang dihapus

Ada beberapa rilis Kubernetes yang telah menghapus dan menghentikan penggunaan API. Jika Anda mengupgrade cluster Google Distributed Cloud 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 workload 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 dalam dokumentasi Kubernetes.

Menentukan apakah penghapusan API memengaruhi Anda

Langkah-langkah berikut mengharuskan cluster Google Distributed Cloud Anda mengaktifkan logging audit cluster dan log audit di-streaming ke Google Cloud Observability, yang merupakan perilaku default.

Untuk menentukan apakah Akun Layanan Kubernetes yang Anda gunakan melakukan panggilan ke API yang 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 membuat panggilan ke API yang telah dihapus untuk rilis minor Kubernetes tertentu.