Mendeteksi Kubernetes API yang dihapus

Ada beberapa rilis Kubernetes yang APInya sudah tidak digunakan lagi dan dihapus. Jika Anda mengupgrade cluster Google Distributed Cloud ke versi Kubernetes baru, dan workload menggunakan API apa pun yang telah dihapus, beban kerja Anda dapat terganggu. Ikuti langkah-langkah dalam dokumen ini untuk menentukan apakah workload Anda menggunakan salah satu API yang telah dihapus untuk versi Kubernetes tertentu sebelum mengupgrade cluster Anda.

Untuk mengetahui daftar API yang dihapus oleh rilis Kubernetes, lihat Migrasi API yang tidak digunakan lagi Panduan di dokumentasi Kubernetes.

Menentukan apakah penghapusan API memengaruhi Anda atau tidak

Untuk melakukan langkah-langkah berikut ini, cluster Google Distributed Cloud harus memiliki logging audit cluster diaktifkan dan log audit di-streaming ke Google Cloud Observability, yang merupakan perilaku default-nya.

Untuk menentukan apakah Akun Layanan Kubernetes yang Anda gunakan melakukan panggilan ke menghapus API, 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 workload yang Anda periksa.

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

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

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