Menerapkan pembaruan keamanan dan kernel untuk simpul Linux di Azure Kubernetes Service (AKS)

Untuk melindungi kluster Anda, pembaruan keamanan secara otomatis diterapkan ke simpul Linux di AKS. Pembaruan ini mencakup perbaikan keamanan OS atau pembaruan kernel. Beberapa pembaruan memerlukan reboot simpul untuk menyelesaikan proses. AKS tidak secara otomatis me-reboot simpul Linux ini untuk menyelesaikan proses pembaruan.

Proses untuk menjaga node Windows Server tetap mutakhir sedikit berbeda. Simpul Windows Server tidak menerima pembaruan harian. Sebagai gantinya, Anda melakukan peningkatan AKS yang menerapkan node baru dengan image dasar Windows Server dan patch terbaru. Untuk kluster AKS yang menggunakan simpul Windows Server, lihat Meningkatkan kumpulan simpul di AKS.

Artikel ini menjelaskan cara menggunakan kured (KUbernetes REboot Daemon) sumber terbuka untuk memantau node Linux yang perlu dimulai ulang, lalu secara otomatis menangani penjadwalan ulang pod yang sedang berjalan dan proses mulai ulang node.

Nota

Kured adalah proyek sumber terbuka di Cloud Native Computing Foundation. Silakan laporkan masalah di GitHub kured. Dukungan tambahan dapat ditemukan di saluran #kured di CNCF Slack.

Penting

Perangkat lunak sumber terbuka disebutkan di seluruh dokumentasi dan sampel AKS. Perangkat lunak yang Anda sebarkan dikecualikan dari perjanjian tingkat layanan AKS, garansi terbatas, dan dukungan Azure. Saat Anda menggunakan teknologi sumber terbuka bersama AKS, konsultasikan opsi dukungan yang tersedia dari masing-masing komunitas dan pengelola proyek untuk mengembangkan rencana.

Microsoft bertanggung jawab untuk membangun paket sumber terbuka yang kami sebarkan di AKS. Tanggung jawab itu termasuk memiliki kepemilikan lengkap atas proses build, pemindaian, penandatanganan, validasi, dan perbaikan cepat, bersama dengan kontrol atas file biner dalam gambar kontainer. Untuk informasi selengkapnya, lihat Manajemen kerentanan untuk AKS dan Cakupan dukungan AKS.

Penting

Mulai 30 November 2025, Azure Kubernetes Service (AKS) tidak lagi mendukung atau menyediakan pembaruan keamanan untuk Azure Linux 2.0. Gambar node Azure Linux 2.0 dibekukan pada rilis 202512.06.0. Mulai tanggal 31 Maret 2026, gambar simpul akan dihapus, dan Anda tidak akan dapat menskalakan kumpulan simpul Anda. Migrasikan ke versi Linux Azure yang didukung dengan meningkatkan kumpulan simpul Anda ke versi Kubernetes yang didukung atau bermigrasi ke osSku AzureLinux3. Untuk informasi selengkapnya, lihat masalah Penghentian GitHub dan pengumuman penghentian Pembaruan Azure. Untuk tetap mendapatkan informasi tentang pengumuman dan pembaruan, ikuti catatan rilis AKS.

Sebelum Anda mulai

Anda memerlukan Azure CLI versi 2.0.59 atau yang lebih baru yang diinstal dan dikonfigurasi. Jalankan az --version untuk menemukan versinya. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI.

Memahami pengalaman pembaruan simpul AKS

Dalam kluster AKS, node Kubernetes Anda berjalan sebagai komputer virtual (VM) Azure. VM berbasis Linux ini menggunakan gambar Ubuntu atau Azure Linux, dengan OS yang dikonfigurasi untuk secara otomatis memeriksa pembaruan setiap hari. Jika pembaruan keamanan atau kernel tersedia, pembaruan tersebut akan diunduh dan diinstal secara otomatis.

Pembaruan node AKS dan proses mulai ulang dengan kured

Beberapa pembaruan keamanan, seperti pembaruan kernel, memerlukan reboot simpul untuk menyelesaikan proses. Simpul Linux yang memerlukan reboot membuat file bernama /var/run/reboot-required. Proses reboot ini tidak terjadi secara otomatis.

Anda dapat menggunakan alur kerja dan proses Anda sendiri untuk menangani reboot simpul, atau gunakan kured untuk mengatur proses. Dengan kured, sebuah DaemonSet diterapkan yang menjalankan pod pada setiap node Linux di kluster. Pod di DaemonSet ini mengawasi keberadaan file /var/run/reboot-required, lalu memulai proses untuk me-reboot simpul.

Peningkatan gambar node

Peningkatan tanpa pengawas menerapkan pembaruan ke OS simpul Linux, tetapi gambar yang digunakan untuk membuat simpul untuk kluster Anda tetap tidak berubah. Jika node Linux baru ditambahkan ke kluster Anda, gambar asli digunakan untuk membuat simpul. Simpul baru ini menerima semua pembaruan keamanan dan kernel yang tersedia selama pemeriksaan otomatis setiap hari tetapi tetap tidak dikirim sampai semua pemeriksaan dan mulai ulang selesai.

Atau, Anda dapat menggunakan node image upgrade untuk memeriksa dan memperbarui citra simpul yang digunakan oleh klaster Anda. Untuk informasi selengkapnya tentang peningkatan gambar simpul, lihat Peningkatan gambar simpul Azure Kubernetes Service (AKS).

Peningkatan node

Ada proses lain di AKS yang memungkinkan Anda meningkatkan kluster. Peningkatan versi biasanya berarti beralih ke versi Kubernetes yang lebih baru, bukan sekadar menerapkan pembaruan keamanan node. Upgrade AKS melakukan hal-hal berikut:

  • Sebuah node baru diterapkan dengan pembaruan keamanan terbaru dan versi Kubernetes terkini.
  • Node lama diisolasi dan dikosongkan.
  • Pod dijadwalkan di node baru.
  • Node lama itu dihapus.

Anda tidak dapat tetap menggunakan versi Kubernetes yang sama saat proses upgrade. Anda harus menetapkan versi Kubernetes yang lebih baru. Untuk memperbarui ke versi terbaru Kube, Anda dapat memperbarui kluster AKS Anda.

Menyebarkan kured dalam kluster AKS

Untuk menyebarkan kuredDaemonSet, instal bagan resmi Kured Helm berikut ini. Ini menciptakan peran dan peran kluster, pengikatan, dan akun layanan, lalu menerapkan DaemonSet menggunakan kured.

# Add the Kured Helm repository
helm repo add kubereboot https://kubereboot.github.io/charts/

# Update your local Helm chart repository cache
helm repo update

# Create a dedicated namespace where you would like to deploy kured into
kubectl create namespace kured

# Install kured in that namespace with Helm 3 (only on Linux nodes, kured is not working on Windows nodes)
helm install my-release kubereboot/kured --namespace kured --set controller.nodeSelector."kubernetes\.io/os"=linux

Anda juga dapat mengonfigurasi parameter tambahan untuk kured, seperti integrasi dengan Prometheus atau Slack. Untuk informasi lebih lanjut tentang parameter konfigurasi, lihat chart Helm kured.

Memperbarui simpul kluster

Secara default, simpul Linux di AKS memeriksa pembaruan setiap malam. Jika Anda tidak ingin menunggu, Anda dapat melakukan pembaruan secara manual untuk memeriksa apakah kured berjalan dengan benar. Pertama, ikuti langkah-langkah untuk SSH ke salah satu simpul AKS Anda. Setelah Anda memiliki koneksi SSH ke simpul Linux, periksa pembaruan dan terapkan sebagai berikut:

sudo apt-get update && sudo apt-get upgrade -y

Jika pembaruan yang diterapkan memerlukan reboot simpul, file ditulis ke /var/run/reboot-required. Kured memeriksa simpul yang memerlukan reboot setiap 60 menit secara default.

Memantau dan meninjau proses reboot

Ketika salah satu replika di DaemonSet mendeteksi bahwa reboot node diperlukan, kunci ditempatkan pada node melalui API Kubernetes. Kunci ini mencegah lebih banyak pod dijadwalkan pada simpul. Kunci juga menunjukkan bahwa hanya satu simpul yang harus di-reboot pada satu waktu. Dengan node yang diisolasi, pod yang sedang berjalan dikeluarkan dari node, dan node dimulai ulang.

Anda dapat memantau status simpul menggunakan perintah kubectl get nodes. Contoh output berikut menunjukkan simpul dengan status SchedulingDisabled saat simpul bersiap untuk proses reboot:

NAME                       STATUS                     ROLES     AGE       VERSION
aks-nodepool1-28993262-0   Ready,SchedulingDisabled   agent     1h        v1.11.7

Setelah proses pembaruan selesai, kamu dapat melihat status simpul menggunakan perintah kubectl get nodes dengan parameter --output wide. Keluaran ini memungkinkan Anda melihat perbedaan pada KERNEL-VERSION dari node yang mendasarinya, seperti yang ditunjukkan pada contoh keluaran berikut. Aks-nodepool1-28993262-0 diperbarui pada langkah sebelumnya dan menunjukkan kernel versi 4.15.0-1039-azure. Simpul aks-nodepool1-28993262-1 yang belum diperbarui menunjukkan kernel versi 4.15.0-1037-azure.

NAME                       STATUS    ROLES     AGE       VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
aks-nodepool1-28993262-0   Ready     agent     1h        v1.11.7   10.240.0.4    <none>        Ubuntu 16.04.6 LTS   4.15.0-1039-azure   docker://3.0.4
aks-nodepool1-28993262-1   Ready     agent     1h        v1.11.7   10.240.0.5    <none>        Ubuntu 16.04.6 LTS   4.15.0-1037-azure   docker://3.0.4

Langkah selanjutnya

Artikel ini merinci cara menggunakan kured untuk me-reboot simpul Linux secara otomatis sebagai bagian dari proses pembaruan keamanan. Untuk memperbarui ke versi terbaru Kube, Anda dapat memperbarui kluster AKS Anda.

Untuk kluster AKS yang menggunakan simpul Windows Server, lihat Meningkatkan kumpulan simpul di AKS.

Untuk diskusi terperinci tentang praktik terbaik dalam upgrade dan pertimbangan lainnya, lihat panduan patch dan upgrade AKS.