Alibaba Cloud Container Service for Kubernetes (ACK) menyediakan layanan terkelola untuk arsitektur teknis dan komponen inti layanan kontainer. Operasi yang tidak tepat pada komponen atau aplikasi yang tidak dikelola yang berjalan di kluster ACK dapat menyebabkan kegagalan layanan. Untuk menilai dan mengurangi risiko operasional secara efektif, tinjau rekomendasi dan tindakan pencegahan dalam topik ini sebelum menggunakan ACK.
Indeks
Item Informasi | Referensi |
Catatan penting
Komponen bidang data
Komponen bidang data adalah komponen sistem yang berjalan pada instance ECS Anda, seperti CoreDNS, Ingress, kube-proxy, Terway, dan kubelet. Karena komponen-komponen ini berjalan pada instance ECS Anda, stabilitasnya memerlukan pemeliharaan bersama antara Alibaba Cloud dan Anda.
ACK menyediakan dukungan berikut untuk komponen bidang data:
Manajemen konfigurasi terparameterisasi, optimasi fitur reguler, perbaikan bug, patch CVE, serta dokumentasi panduan terkait.
Fitur observabilitas, seperti pemantauan dan peringatan. Log untuk beberapa komponen inti disediakan dan dikirimkan kepada Anda melalui SLS.
Praktik terbaik dan rekomendasi konfigurasi yang disesuaikan dengan ukuran kluster Anda.
Fitur inspeksi dan peringatan reguler yang memeriksa versi komponen, konfigurasi, beban, topologi penerapan, jumlah instans, dan metrik relevan lainnya.
Ikuti rekomendasi berikut saat menggunakan komponen bidang data:
Gunakan versi komponen terbaru. Versi baru sering kali mencakup perbaikan bug dan fitur baru. Setelah rilis versi baru, lakukan peningkatan pada waktu yang tepat, pastikan stabilitas layanan, dan ikuti petunjuk peningkatan dalam dokumentasi terkait. Untuk informasi lebih lanjut, lihat Komponen.
Konfigurasikan alamat email kontak dan nomor telepon seluler di pusat peringatan ACK serta konfigurasikan metode notifikasi peringatan. Alibaba Cloud menggunakan saluran ini untuk mengirimkan peringatan dan notifikasi layanan. Untuk informasi lebih lanjut, lihat Manajemen peringatan ACK.
Jika Anda menerima laporan risiko stabilitas untuk suatu komponen, segera tangani sesuai instruksi yang diberikan untuk menghilangkan risiko keamanan.
Konfigurasikan parameter kustom komponen hanya melalui Konsol ACK dengan menavigasi ke , atau menggunakan OpenAPI. Memodifikasi konfigurasi komponen melalui metode lain dapat menyebabkan malfungsi komponen. Untuk informasi lebih lanjut, lihat Kelola komponen.
Jangan gunakan operasi OpenAPI lapisan IaaS untuk memodifikasi lingkungan runtime komponen. Ini termasuk menggunakan OpenAPI ECS untuk mengubah status instance ECS, memodifikasi pengaturan grup keamanan atau konfigurasi jaringan untuk node pekerja, atau menggunakan OpenAPI SLB untuk memodifikasi konfigurasi SLB. Perubahan tidak sah pada resource IaaS dapat menyebabkan malfungsi komponen bidang data.
Beberapa komponen bidang data didasarkan pada versi open-source hulu dan dapat mengandung bug atau kerentanan. Segera tingkatkan komponen untuk menghindari gangguan layanan akibat masalah tersebut.
Peningkatan kluster
Selalu gunakan fitur peningkatan kluster ACK untuk meningkatkan versi Kubernetes Anda. Peningkatan Kubernetes secara manual dapat menyebabkan masalah stabilitas dan kompatibilitas pada kluster ACK Anda. Untuk langkah-langkah detail, lihat Tingkatkan kluster dan tingkatkan lapisan kontrol serta kelompok node secara independen.
ACK menyediakan dukungan berikut untuk peningkatan kluster:
Fitur peningkatan versi Kubernetes.
Pemeriksaan pra-peningkatan untuk memastikan kluster Anda siap ditingkatkan.
Catatan rilis untuk versi Kubernetes baru, termasuk perubahan dari versi sebelumnya.
Notifikasi risiko tentang potensi masalah akibat perubahan resource selama peningkatan.
Ikuti rekomendasi berikut saat menggunakan fitur peningkatan kluster:
Jalankan pemeriksaan pra-peningkatan dan selesaikan semua masalah pemblokir sebelum melanjutkan.
Tinjau catatan rilis Kubernetes dan evaluasi risiko peningkatan berdasarkan status kluster dan workload Anda. Untuk informasi lebih lanjut, lihat [Usang] Ikhtisar rilis versi Kubernetes.
Karena peningkatan kluster tidak dapat dikembalikan, buat rencana peningkatan yang menyeluruh dan lakukan backup terlebih dahulu.
Tingkatkan kluster Anda dalam periode dukungan versi saat ini sesuai kebijakan dukungan versi ACK. Untuk informasi lebih lanjut, lihat Panduan Versi.
Konfigurasi native Kubernetes
Jangan memodifikasi konfigurasi Kubernetes kritis, termasuk path, tautan, atau isi direktori berikut:
/var/lib/kubelet
/var/lib/docker
/etc/kubernetes
/etc/kubeadm
/var/lib/containerd
Jangan gunakan anotasi yang dicadangkan Kubernetes dalam templat YAML Anda. Melakukannya dapat menyebabkan resource tidak tersedia, kegagalan pembuatan, atau perilaku abnormal. Anotasi yang diawali dengan
kubernetes.io/atauk8s.io/dicadangkan untuk komponen inti. Contohnya:pv.kubernetes.io/bind-completed: "yes".
Kluster ACK serverless
Kluster ACK serverless tidak memberikan kompensasi dalam skenario berikut:
Untuk menyederhanakan operasi kluster, kluster ACK Serverless mengelola beberapa komponen sistem saat pengelolaan komponen kluster diaktifkan. Jika bisnis Anda terdampak oleh penghapusan tidak sengaja resource Kubernetes yang menjadi dependensi komponen terkelola, tidak ada kompensasi yang diberikan.
Kluster terdaftar
Saat mendaftarkan kluster Kubernetes eksternal melalui Konsol ACK, pastikan konektivitas jaringan yang stabil antara kluster eksternal dan Alibaba Cloud.
ACK memungkinkan pendaftaran kluster Kubernetes eksternal tetapi tidak dapat mengontrol stabilitasnya atau mencegah operasi yang tidak tepat. Berhati-hatilah saat mengonfigurasi label, anotasi, atau tag pada node kluster eksternal melalui kluster terdaftar, karena hal ini dapat menyebabkan kegagalan aplikasi.
Katalog Aplikasi
Untuk memperkaya aplikasi Kubernetes, ACK Marketplace menyediakan Katalog Aplikasi yang menampilkan aplikasi yang telah diadaptasi dan dikustomisasi dari perangkat lunak open-source. ACK tidak dapat mengontrol cacat yang berasal dari perangkat lunak open-source itu sendiri. Sadari risiko ini. Untuk informasi lebih lanjut, lihat Marketplace.
Operasi berisiko tinggi
Operasi tertentu di ACK dapat berdampak signifikan terhadap stabilitas layanan. Pahami operasi berisiko tinggi berikut beserta dampaknya sebelum menggunakan fitur-fitur tersebut.
Operasi berisiko tinggi terkait kluster
Kategori | Operasi berisiko tinggi | Dampak | Solusi pemulihan |
API Server | Menggunakan kembali CLB yang digunakan oleh API Server untuk tujuan lain, seperti menggunakan Service bertipe LoadBalancer dengan CLB yang sama. | Kluster menjadi tidak tersedia, memengaruhi lalu lintas layanan. | Pulihkan konfigurasi asli atau hubungi layanan pelanggan. |
Memodifikasi konfigurasi CLB yang mengontrol forwarding, seperti listener, kelompok server, ACL, atau tag CLB yang digunakan oleh API Server. | Kluster mengalami malfungsi. | Pulihkan konfigurasi asli. | |
Menghapus CLB yang digunakan oleh API Server. | Kluster menjadi tidak beroperasi. | Tidak dapat dikembalikan. Buat ulang kluster. Untuk langkah-langkahnya, lihat Buat kluster ACK yang dikelola. | |
Node pekerja | Memodifikasi grup keamanan node kluster. | Node dapat menjadi tidak tersedia. | Tambahkan kembali node ke grup keamanan node yang dibuat secara otomatis. Untuk informasi lebih lanjut, lihat Kaitkan grup keamanan dengan instans (NIC utama). |
Kedaluwarsa atau penghapusan node. | Node menjadi tidak tersedia. | Tidak dapat dikembalikan. | |
Menginstal ulang sistem operasi. | Komponen pada node dihapus. | Hapus dan tambahkan kembali node ke kluster. Untuk langkah-langkahnya, lihat Hapus node dan Tambahkan node yang sudah ada. | |
Lakukan peningkatan versi komponen node secara manual. | Node dapat menjadi tidak dapat digunakan. | Kembalikan ke versi aslinya. | |
Mengubah alamat IP node. | Node menjadi tidak tersedia. | Pulihkan alamat IP asli. | |
Memodifikasi parameter komponen inti secara manual (seperti kubelet, Docker, atau containerd). | Node dapat menjadi tidak tersedia. | Gunakan parameter konfigurasi yang direkomendasikan dalam dokumentasi resmi. | |
Memodifikasi konfigurasi sistem operasi. | Node dapat menjadi tidak tersedia. | Coba pulihkan konfigurasi atau hapus dan buat ulang node. | |
Memodifikasi waktu node. | Komponen pada node dapat mengalami malfungsi. | Pulihkan waktu node asli. | |
Menambahkan resource komputasi node ke kluster menggunakan metode yang tidak didukung. | ACK mendukung penambahan resource komputasi node melalui konsol, OpenAPI, atau CLI. Untuk informasi lebih lanjut, lihat Tambahkan node yang sudah ada. Node yang ditambahkan melalui metode lain tidak dapat dikenali oleh ACK, sehingga manajemen siklus hidup, O&M otomatis, atau dukungan teknis tidak tersedia. Untuk detailnya, lihat Mengapa konsol menampilkan sumber kelompok node sebagai "Node lain"?. | Kelola resource komputasi melalui kelompok node. Jika Anda tetap menggunakan metode yang tidak didukung, pastikan kompatibilitas antara node dan komponen kluster (seperti komponen Kubernetes, jaringan, penyimpanan, dan keamanan). | |
Node master (kluster khusus ACK) | Memodifikasi grup keamanan node kluster. | Node master dapat menjadi tidak tersedia. | Tambahkan kembali node ke grup keamanan node yang dibuat secara otomatis. Untuk informasi lebih lanjut, lihat Kaitkan grup keamanan dengan instans (NIC utama). |
Kedaluwarsa atau penghapusan node. | Node master menjadi tidak tersedia. | Tidak dapat dikembalikan. | |
Menginstal ulang sistem operasi. | Komponen pada node master dihapus. | Tidak dapat dikembalikan. | |
Tingkatkan versi komponen master atau etcd secara manual. | Kluster dapat menjadi tidak dapat digunakan. | Kembalikan ke versi aslinya. | |
Menghapus atau memformat direktori inti seperti /etc/kubernetes pada node. | Node master menjadi tidak tersedia. | Tidak dapat dikembalikan. | |
Mengubah alamat IP node. | Node master menjadi tidak tersedia. | Pulihkan alamat IP asli. | |
Memodifikasi parameter komponen inti secara manual (seperti etcd, kube-apiserver, atau Docker). | Node master dapat menjadi tidak tersedia. | Gunakan parameter konfigurasi yang direkomendasikan dalam dokumentasi resmi. | |
Mengganti sertifikat master atau etcd secara manual. | Kluster dapat menjadi tidak dapat digunakan. | Tidak dapat dikembalikan. | |
Menambahkan atau menghapus node master secara manual. | Kluster dapat menjadi tidak dapat digunakan. | Tidak dapat dikembalikan. | |
Memodifikasi waktu node. | Komponen pada node dapat mengalami malfungsi. | Pulihkan waktu node asli. | |
Lainnya | Memodifikasi izin atau konfigurasi melalui RAM. | Resource kluster, seperti instance SLB, gagal dibuat. | Pulihkan izin asli. |
Catatan Berlaku hanya untuk kluster versi sebelum 1.26. Memodifikasi atau menghapus resource PodSecurityPolicy yang telah ditentukan sebelumnya di kluster, termasuk PodSecurityPolicy bernama | Komponen inti kluster dapat mengalami malfungsi. Pembuatan dan pembaruan Pod dapat gagal. | Pulihkan resource terkait. Untuk langkah-langkahnya, lihat Konfigurasikan atau pulihkan kebijakan keamanan Pod ACK default. |
Operasi berisiko tinggi terkait kelompok node
Operasi berisiko tinggi | Dampak | Solusi pemulihan |
Menghapus grup penskalaan. | Kelompok node mengalami malfungsi. | Tidak dapat dikembalikan. Buat ulang kelompok node. Untuk langkah-langkahnya, lihat Buat kelompok node. |
Menghapus node menggunakan kubectl. | Jumlah node yang ditampilkan di kelompok node tidak sesuai dengan jumlah aktual. | Hapus node melalui Konsol ACK atau API kelompok node (lihat Hapus node) atau sesuaikan jumlah node yang diinginkan untuk melakukan penskalaan masuk (lihat Buat dan kelola kelompok node). |
Melepaskan instance ECS secara langsung. | Halaman detail kelompok node dapat menampilkan informasi yang salah. Untuk kelompok node dengan jumlah node yang diinginkan diaktifkan, sistem secara otomatis melakukan penskalaan keluar untuk mempertahankan jumlah tersebut. | Tidak dapat dikembalikan. Lakukan penskalaan masuk yang benar dengan menyesuaikan jumlah node yang diinginkan melalui Konsol ACK atau API kelompok node (lihat Buat dan kelola kelompok node) atau hapus node tertentu (lihat Hapus node). |
Secara manual melakukan penskalaan keluar atau masuk pada kelompok node dengan auto scaling diaktifkan. | Komponen auto scaling menyesuaikan jumlah node berdasarkan kebijakan, mengakibatkan hasil yang tidak terduga. | Tidak dapat dikembalikan. Jangan campuri secara manual kelompok node dengan auto scaling. |
Memodifikasi jumlah maksimum atau minimum instance grup penskalaan ESS. | Penskalaan dapat mengalami malfungsi. |
|
Menambahkan node yang sudah ada tanpa mencadangkan data. | Data pada instance hilang. | Tidak dapat dikembalikan.
|
Menyimpan data penting di disk sistem node. | Operasi self-healing node dapat mengatur ulang konfigurasi node, menyebabkan kehilangan data di disk sistem. | Tidak dapat dikembalikan. Simpan data penting di disk data tambahan, cloud disk, NAS, atau OSS. |
Operasi berisiko tinggi terkait node virtual
Operasi berisiko tinggi | Dampak | Solusi pemulihan |
Mencopot komponen node virtual. | Manajemen Pod serverless gagal: Pod ECI dan ACS yang ada tidak dapat dihapus, dan yang baru tidak dapat dibuat. |
Operasi berisiko tinggi terkait jaringan dan Server Load Balancer
Operasi berisiko tinggi | Dampak | Solusi pemulihan |
Menyetel parameter kernel | Konektivitas jaringan gagal. | Setel parameter kernel ke |
Memodifikasi parameter kernel:
| Konektivitas jaringan gagal. | Setel parameter kernel ke:
|
Menyetel parameter kernel | Pemeriksaan kesehatan Pod gagal. | Setel parameter kernel ke |
Menyetel parameter kernel | NAT mengalami malfungsi. | Setel parameter kernel ke |
Memodifikasi parameter kernel | Terjadi masalah konektivitas jaringan intermiten. | Pulihkan parameter kernel ke nilai default: |
Menginstal perangkat lunak firewall seperti Firewalld atau ufw. | Jaringan kontainer gagal. | Uninstal perangkat lunak firewall dan restart node. |
Tidak mengizinkan port UDP 53 untuk CIDR kontainer di grup keamanan node. | DNS kluster gagal. | Konfigurasikan grup keamanan sesuai rekomendasi resmi. |
Memodifikasi atau menghapus tag yang ditambahkan oleh ACK pada instance SLB. | SLB mengalami malfungsi. | Pulihkan tag SLB. |
Memodifikasi konfigurasi instance SLB yang dikelola ACK melalui konsol SLB, termasuk instance SLB, listener, atau kelompok vServer. | SLB mengalami malfungsi. | Pulihkan konfigurasi SLB. |
Menghapus anotasi untuk menggunakan kembali SLB yang ada dari Service: | SLB mengalami malfungsi. | Tambahkan kembali anotasi untuk menggunakan kembali SLB yang ada ke Service. Catatan Service yang menggunakan kembali SLB yang ada tidak dapat langsung diubah untuk menggunakan SLB yang dibuat otomatis. Anda harus membuat ulang Service tersebut. |
Menghapus SLB yang dibuat ACK melalui konsol SLB. | Jaringan kluster dapat gagal. | Hapus SLB dengan menghapus Service terkait. Untuk langkah-langkahnya, lihat Hapus Service. |
Menghapus secara manual Service | Ingress Controller mengalami malfungsi atau crash. | Buat Service baru dengan nama yang sama menggunakan YAML berikut. |
Menambahkan atau memodifikasi opsi | Jika server DNS yang dikonfigurasi salah, resolusi DNS dapat gagal, memengaruhi operasi kluster. | Jika Anda ingin menggunakan Server DNS yang dikelola sendiri sebagai server hulu, konfigurasikan di CoreDNS. Untuk langkah-langkahnya, lihat Konfigurasi CoreDNS yang tidak dikelola. |
Memodifikasi atau menghapus elastic network interfaces (ENIs) atau ENI Lingjun yang dibuat oleh ACK. | Jaringan Pod gagal. | Tidak dapat dikembalikan. |
Memodifikasi atau menghapus CRD terkait jaringan. | Terway gagal. Kasus parah dapat menyebabkan kegagalan jaringan atau Pod. | Tidak dapat dikembalikan. |
Membuat, memodifikasi, atau menghapus CR sistem terkait jaringan. | Terway gagal. Kasus parah dapat menyebabkan kegagalan jaringan atau Pod. | Hapus definisi CR kustom dan buat ulang Pod terkait. |
Memodifikasi field dalam konfigurasi jaringan Terway yang tidak diizinkan untuk diubah. Untuk parameter yang dapat dikonfigurasi, lihat Parameter konfigurasi Terway kustom. | Terway gagal. Kasus parah dapat menyebabkan kegagalan jaringan atau Pod. | Pulihkan konfigurasi asli dan restart node. |
Operasi berisiko tinggi terkait penyimpanan
Operasi berisiko tinggi | Dampak | Solusi pemulihan |
Melepaskan cloud disk secara manual melalui konsol. | Pod melaporkan error IO saat menulis. | Restart Pod dan bersihkan secara manual sisa mount pada node. |
Menjalankan umount pada path mount disk di node. | Pod menulis ke disk lokal. | Restart Pod. |
Langsung mengoperasikan cloud disk di node. | Pod menulis ke disk lokal. | Tidak dapat dikembalikan. |
Memasang cloud disk yang sama ke beberapa Pod. | Pod menulis ke disk lokal atau melaporkan error IO. | Pastikan satu cloud disk hanya digunakan oleh satu Pod. Penting Cloud disk adalah penyimpanan non-bersama yang disediakan oleh Alibaba Cloud Storage dan hanya dapat dipasang ke satu Pod dalam satu waktu. |
Menghapus direktori mount NAS secara manual. | Pod melaporkan error IO saat menulis. | Restart Pod. |
Menghapus sistem file NAS atau titik pemasangan yang sedang digunakan. | Pod mengalami hang IO. | Restart node ECS. Untuk langkah-langkahnya, lihat Restart instance ECS. |
Operasi berisiko tinggi terkait log
Operasi berisiko tinggi | Dampak | Solusi pemulihan |
Menghapus direktori /tmp/ccs-log-collector/pos pada host. | Log dikumpulkan berulang-ulang. | Tidak dapat dikembalikan. Direktori ini mencatat posisi pengumpulan log. |
Menghapus direktori /tmp/ccs-log-collector/buffer pada host. | Log hilang. | Tidak dapat dikembalikan. Direktori ini menyimpan log cache yang menunggu diproses. |
Menghapus resource CRD aliyunlogconfig. | Pengumpulan log berhenti. | Buat ulang CRD yang dihapus beserta resource-nya, tetapi log yang dikumpulkan selama gangguan tidak dapat dipulihkan. Menghapus CRD juga menghapus semua instance terkait. Bahkan setelah memulihkan CRD, Anda harus membuat ulang instance yang dihapus secara manual. |
Menghapus komponen log. | Pengumpulan log berhenti. | Instal ulang komponen log dan pulihkan secara manual instance CRD aliyunlogconfig. Log yang dikumpulkan selama gangguan tidak dapat dipulihkan. Menghapus komponen log menghapus baik CRD aliyunlogconfig maupun collector Logtail, menonaktifkan semua kemampuan pengumpulan log selama periode tersebut. |