Versi klaster yang sudah ketinggalan zaman mungkin memiliki masalah keamanan dan stabilitas. Untuk memastikan kelangsungan bisnis, Container Service for Kubernetes (ACK) menggunakan pembaruan di tempat untuk memperbarui klaster ACK Lingjun. Anda dapat memperbarui versi Kubernetes klaster di konsol ACK atau memperbarui plane kontrol dan pool node klaster secara terpisah. Topik ini menjelaskan catatan penggunaan sebelum dan sesudah pembaruan serta prosedur untuk memperbarui klaster ACK Lingjun.
Mengapa klaster ACK Lingjun perlu diperbarui
Anda dapat memperbarui versi Kubernetes dari klaster ACK Lingjun dari 1.20 ke 1.22.
Pembaruan proaktif memberikan manfaat berikut:
Mengurangi risiko keamanan dan stabilitas: Versi Kubernetes baru biasanya dirilis untuk menambahkan optimasi dan memperbaiki kerentanan keamanan dan stabilitas. Menggunakan klaster Kubernetes yang sudah usang dapat menimbulkan risiko keamanan dan stabilitas pada bisnis Anda.
Fitur baru: Iterasi Kubernetes sumber terbuka biasanya disertai dengan fitur baru dan peningkatan. ACK juga akan mendukung fitur-fitur tersebut untuk mengoptimalkan pengalaman pengembangan dan pemeliharaan Anda.
Kami merekomendasikan agar Anda melakukan langkah-langkah berikut untuk memperbarui klaster Anda secara proaktif.
Saat Anda memperbarui klaster, ACK melakukan pemeriksaan awal pada klaster, tetapi ACK tidak menjamin bahwa semua fitur, konfigurasi, dan API yang tidak kompatibel dapat diidentifikasi. Menurut model tanggung jawab bersama, kami merekomendasikan agar Anda memperhatikan rilis versi Kubernetes dengan memeriksa dokumentasi, informasi di konsol, dan pesan internal, serta mempelajari catatan pembaruan versi yang sesuai sebelum Anda memperbarui klaster.
Untuk informasi lebih lanjut tentang bagaimana klaster ACK Lingjun mendukung versi Kubernetes, lihat Versi Kubernetes yang Didukung dalam Klaster ACK Lingjun.
Catatan penggunaan (penting)
Versi Kubernetes
Untuk melihat versi Kubernetes dari klaster ACK Lingjun, masuk ke konsol ACK dan periksa kolom Version klaster pada halaman Clusters. Sebelum Anda memperbarui ke versi Kubernetes, baca catatan rilis berikut untuk versi Kubernetes yang sesuai untuk mempelajari detail versi, API yang tidak digunakan lagi, dan catatan penggunaan untuk pembaruan. Ini membantu Anda menghindari masalah kompatibilitas yang disebabkan oleh pembaruan fitur dalam versi Kubernetes baru.
Catatan Rilis untuk Kubernetes 1.22 yang Didukung oleh ACK Lingjun
Catatan Rilis untuk Kubernetes 1.20 yang Didukung oleh ACK Lingjun
Jika file YAML Helm chart Anda menggunakan sumber daya yang tidak digunakan lagi, modifikasi file tersebut sesegera mungkin. Untuk informasi lebih lanjut, lihat catatan rilis sebelumnya dan API yang Tidak Digunakan Lagi.
Fitur dan konfigurasi kustom
Jika klaster ACK Lingjun Anda menggunakan fitur yang tercantum dalam tabel berikut, baca pertimbangan dan solusi yang disarankan.
Fitur | Pertimbangan | Solusi yang Disarankan |
FlexVolume | Volume Object Storage Service (OSS) yang dipasang menggunakan FlexVolume 1.11.2.5 atau lebih lama akan dimount ulang selama pembaruan klaster. | Setelah pembaruan selesai, Anda perlu membuat ulang pod yang menggunakan volume OSS. FlexVolume sudah tidak digunakan lagi. Kami menyarankan Anda untuk meningkatkan dari FlexVolume ke CSI. Untuk informasi lebih lanjut, lihat Upgrade from FlexVolume to CSI. |
Penyesuaian Otomatis | Jika penyesuaian otomatis diaktifkan, klaster secara otomatis memperbarui Cluster Autoscaler ke versi terbaru setelah klaster diperbarui. Ini memastikan bahwa fitur penyesuaian otomatis dapat bekerja seperti yang diharapkan. | Pastikan bahwa Cluster Autoscaler diperbarui ke versi terbaru. Untuk informasi lebih lanjut, lihat Penyesuaian Otomatis Node. |
Reservasi Sumber Daya | Setelah Anda memperbarui versi Kubernetes klaster ACK Lingjun ke 1.18, ACK secara otomatis mengonfigurasi reservasi sumber daya. Jika reservasi sumber daya tidak dikonfigurasi untuk klaster dan penggunaan sumber daya node tinggi, ACK mungkin gagal menjadwalkan pod yang dievakuasi ke node setelah klaster diperbarui. | Cadangkan sumber daya yang cukup pada node. Kami merekomendasikan agar Anda mencadangkan setidaknya 50% sumber daya CPU dan setidaknya 70% sumber daya memori. Untuk informasi lebih lanjut, lihat Kebijakan Reservasi Sumber Daya. |
Konfigurasi LoadBalancer | Klaster ACK Lingjun memerlukan instance Server Load Balancer (SLB) untuk menangani akses eksternal. Namun, jika | Periksa apakah externalTrafficPolicy: Local telah ditentukan untuk instance SLB jika instance SLB tidak dapat meneruskan trafik ke pod aplikasi. Untuk informasi lebih lanjut, lihat What Can I Do if the Cluster Cannot Access the IP Address of the SLB Instance Exposed by the LoadBalancer Service. |
API Server | Saat ACK memperbarui klaster, ACK mencoba memperbarui plane kontrol tanpa mengganggu komunikasi dengan aplikasi di klaster. Namun, komunikasi dengan server API mungkin terganggu sementara. Gangguan ini memengaruhi aplikasi yang sangat bergantung pada server API. Misalnya, jika aplikasi Anda perlu mencantumkan dan mengamati sumber daya, operasi pengamatan terganggu saat server API di-restart. Untuk menyelesaikan masalah ini, Anda perlu mengonfigurasi aplikasi untuk secara otomatis mencoba kembali operasi pengamatan saat gangguan terjadi. | Jika aplikasi Anda tidak perlu mengakses server API, aplikasi tidak terpengaruh oleh pembaruan. Jika tidak, pastikan aplikasi dapat mencoba kembali saat terjadi kegagalan. |
kubectl | Setelah klaster diperbarui, kami merekomendasikan agar Anda memperbarui kubectl di mesin lokal Anda. Jika Anda tidak memperbarui kubectl, versi kubectl mungkin tidak kompatibel dengan versi server API. Akibatnya, pesan kesalahan | Instal atau perbarui kubectl. Untuk informasi lebih lanjut, lihat Instal kubectl. |
Jika klaster Anda menggunakan konfigurasi kustom, baca deskripsi dalam tabel berikut.
Item | Deskripsi |
Jaringan | Untuk memperbarui klaster, Anda perlu menggunakan Yum untuk mengunduh paket perangkat lunak yang diperlukan. Jika klaster Anda menggunakan konfigurasi jaringan kustom atau citra OS kustom, Anda perlu memastikan bahwa Yum dapat berjalan dengan normal. Anda dapat menjalankan perintah |
Citra OS | Citra OS kustom tidak divalidasi secara ketat oleh ACK. ACK tidak menjamin keberhasilan pembaruan klaster jika klaster Anda menggunakan citra OS kustom. |
Lainnya | Jika klaster Anda menggunakan konfigurasi kustom lainnya, seperti partisi swap atau konfigurasi kubelet yang dimodifikasi menggunakan CLI, klaster mungkin gagal diperbarui atau konfigurasi kustom mungkin hilang selama pembaruan. |
Deskripsi
Saat Anda memperbarui klaster ACK, Anda perlu memperbarui plane kontrol dan pool node klaster. Gambar berikut menunjukkan prosedur pembaruan.
Persiapan
Baca catatan rilis untuk versi Kubernetes ke mana Anda ingin memperbarui klaster Anda untuk mempelajari tentang catatan pembaruan. Ini membantu Anda menghindari masalah kompatibilitas yang disebabkan oleh pembaruan fitur. Kami merekomendasikan agar Anda melakukan pembaruan selama jam-jam sepi.
Perbarui klaster
Klaster Anda harus lolos pemeriksaan awal sebelum Anda dapat memperbarui plane kontrol dan pool node klaster. Jika ada masalah yang dilaporkan dalam hasil pemeriksaan awal, Anda harus memperbaiki masalah tersebut dan menjalankan pemeriksaan awal lagi.
Perbarui Plane Kontrol
klaster ACK yang dikelola dan klaster ACK Serverless
Pembaruan bergulir digunakan. Perbarui komponen plane kontrol, termasuk kube-apiserver, kube-controller-manager, dan kube-scheduler.
klaster ACK khusus
Pembaruan di tempat dilakukan untuk memastikan kelangsungan bisnis dan mengurangi risiko potensial yang disebabkan oleh migrasi data dan modifikasi konfigurasi. Prosedur:
Saat ACK mengidentifikasi bahwa etcd dan runtime kontainer di klaster Anda perlu diperbarui, ACK memperbarui etcd dan runtime kontainer di setiap node master secara berurutan.
ACK hanya memperbarui satu node master pada satu waktu dan menampilkan ID node master.
Perbarui komponen pada node master, seperti kube-apiserver, kube-controller-manager, kube-scheduler.
Perbarui kubelet pada node master.
Perbarui Pool Node
Saat Anda memperbarui pool node, Anda perlu memperbarui kubelet dan runtime kontainer. Untuk mengubah runtime kontainer dari Docker ke containerd, ACK mengganti disk sistem node selama pembaruan. Dengan cara ini, sistem operasi dan aplikasi juga diperbarui. Kami merekomendasikan agar Anda mencadangkan data pada disk sistem node sebelum Anda memperbarui klaster. Dalam skenario lain, ACK menggunakan pembaruan di tempat untuk memperbarui pool node. Untuk informasi lebih lanjut, lihat Perbarui Pool Node.
ACK memperbarui node di klaster Anda secara bertahap.
Beberapa pool node diperbarui satu per satu.
Node dalam pool node diperbarui secara bertahap. Batch pertama mencakup satu node. Jumlah node meningkat berdasarkan pangkat dua dalam batch berikutnya. Kebijakan pembaruan batch masih berlaku setelah Anda melanjutkan pembaruan yang dijeda. Anda dapat menentukan ukuran batch maksimum pada halaman Kubelet Update. Untuk informasi lebih lanjut, lihat Perbarui Pool Node.
Verifikasi pembaruan
Periksa apakah versi Kubernetes klaster diperbarui, apakah pool node berjalan seperti yang diharapkan, dan apakah bisnis di klaster berjalan seperti yang diharapkan.
Prosedur
Perbarui plane kontrol
Masuk ke konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan klaster yang Anda inginkan dan klik namanya. Di panel kiri, pilih .
Di halaman Upgrade Cluster, atur Destination Version dan klik Precheck untuk mendeteksi risikopotensial dalam pembaruan.
Setelah pemeriksaan awal selesai, Anda dapat melihat hasil pemeriksaan awal di bagian Pre-check Results.
Jika tidak ada masalah yang ditampilkan, itu menunjukkan bahwa klaster lolos pemeriksaan awal. Anda dapat memulai pembaruan.
Jika ada masalah yang ditampilkan, klaster masih dapat berjalan seperti yang diharapkan dan status klaster tidak berubah. Anda dapat memperbaiki masalah berdasarkan saran yang diberikan oleh konsol. Untuk informasi lebih lanjut, lihat Item Pemeriksaan Klaster dan Saran tentang Cara Memperbaiki Masalah Klaster.
CatatanJika klaster Anda menjalankan Kubernetes 1.20 atau lebih baru, pemeriksaan awal memeriksa apakah API yang tidak digunakan lagi digunakan di klaster Anda. Hasil pemeriksaan awal hanya untuk referensi dan tidak menentukan apakah klaster dapat diperbarui. Untuk informasi lebih lanjut, lihat API yang Tidak Digunakan Lagi.
Setelah klaster Anda lolos pemeriksaan awal, klik Start Update dan ikuti petunjuk di layar untuk memperbarui plane kontrol.
Anda dapat melihat riwayat pembaruan di sudut kanan atas halaman Upgrade Cluster.
Setelah pembaruan selesai, Anda dapat pergi ke halaman Clusters dan periksa versi Kubernetes klaster Anda untuk memeriksa apakah plane kontrol diperbarui. Saat Anda menambahkan node baru setelah plane kontrol diperbarui, node baru menggunakan versi Kubernetes baru.
Langkah berikutnya: Perbarui pool node
Setelah plane kontrol diperbarui, node baru ditambahkan ke klaster berdasarkan versi Kubernetes yang diperbarui. Kami merekomendasikan agar Anda memperbarui node yang ada selama jam-jam sepi sesegera mungkin dan memastikan versi kubelet setelah pembaruan selesai. Untuk informasi lebih lanjut, lihat Perbarui Pool Node dan Perbarui Pool Node Lingjun.
Tanya Jawab Umum tentang pembaruan klaster
Apa yang harus saya lakukan jika pembaruan klaster gagal dan kesalahan berikut dikembalikan: layanan aliyun tidak berjalan di instance?
Bagaimana cara menangani kesalahan PLEG tidak sehat?
Prosedur untuk memperbarui plane kontrol dan pool node
Perbarui plane kontrol
ACK memperbarui plane kontrol klaster ACK Lingjun Anda berdasarkan prosedur berikut. Kebijakan pembaruan menentukan aturan berikut:
Perbarui plane kontrol dan komponen yang dikelola, seperti kube-apiserver, kube-controller-manager, dan kube-scheduler.
Perbarui komponen Kubernetes, seperti kube-proxy.
Perbarui pool node
ACK memperbarui node di klaster Anda secara bertahap. Kebijakan pembaruan batch menentukan aturan berikut:
ACK memperbarui pool node satu per satu.
Node dalam pool node diperbarui secara bertahap. Batch pertama mencakup satu node. Jumlah node meningkat berdasarkan pangkat dua dalam batch berikutnya. Kebijakan pembaruan batch masih berlaku setelah Anda melanjutkan pembaruan yang dijeda. Anda dapat menentukan ukuran batch maksimum pada halaman Pembaruan Pool Node. Kami merekomendasikan agar Anda mengatur ukuran batch maksimum menjadi 10. Untuk informasi lebih lanjut, lihat Perbarui Pool Node dan Perbarui Pool Node Lingjun.
Referensi
Jika terjadi kesalahan saat Anda memperbarui klaster ACK Lingjun, lihat Item Pemeriksaan Klaster dan Saran tentang Cara Memperbaiki Masalah Klaster untuk menganalisis kesalahan tersebut.