Alibaba Cloud Container Service for Kubernetes (ACK) menyediakan layanan terkelola untuk arsitektur teknis dan komponen intinya. Namun, operasi yang tidak tepat pada komponen atau aplikasi yang tidak dikelola di kluster ACK Anda dapat menyebabkan kegagalan layanan. Untuk menilai dan mencegah risiko tersebut, baca rekomendasi dan catatan dalam topik ini sebelum menggunakan ACK.
Indeks
Item | Referensi |
Catatan penggunaan
Komponen bidang data
Komponen bidang data adalah komponen sistem yang berjalan pada instans ECS Anda, seperti CoreDNS, Ingress, kube-proxy, Terway, dan kubelet. Karena komponen-komponen ini berjalan pada instans ECS Anda, Alibaba Cloud Container Service dan Anda sama-sama bertanggung jawab atas stabilitasnya.
ACK menyediakan dukungan berikut untuk komponen bidang data:
Mengelola pengaturan parameter komponen, menyediakan optimasi fitur rutin, perbaikan bug, dan patch CVE, serta memberikan dokumen panduan terkait.
Menyediakan fitur observabilitas seperti pemantauan dan peringatan untuk komponen. Untuk beberapa komponen inti, log disediakan dan ditampilkan kepada Anda melalui Simple Log Service (SLS).
Menyediakan praktik terbaik dan rekomendasi konfigurasi. Container Service for Kubernetes memberikan rekomendasi konfigurasi komponen berdasarkan ukuran kluster.
Menyediakan inspeksi komponen rutin dan beberapa kemampuan pemberitahuan peringatan. Item inspeksi mencakup, namun tidak terbatas pada, versi komponen, konfigurasi, muatan, topologi penerapan, dan jumlah instans.
Ikuti rekomendasi berikut saat menggunakan komponen bidang data:
Gunakan versi komponen terbaru. Versi baru sering dirilis untuk memperbaiki bug atau menyediakan fitur baru. Setelah versi baru dirilis, lakukan peningkatan komponen pada waktu yang tepat sambil memastikan stabilitas layanan. Ikuti petunjuk dalam panduan peningkatan komponen. Untuk informasi lebih lanjut, lihat Komponen.
Di pusat peringatan ACK, konfigurasikan alamat email dan nomor ponsel kontak Anda, serta atur metode notifikasi peringatan pilihan Anda. Alibaba Cloud mengirim informasi peringatan, pemberitahuan layanan, dan pesan lainnya melalui saluran ini. Untuk informasi lebih lanjut, lihat Kelola peringatan untuk Container Service for Kubernetes.
Saat menerima laporan risiko stabilitas komponen, ikuti petunjuk untuk menyelesaikan masalah dan menghilangkan risiko keamanan.
Saat menggunakan komponen bidang data, konfigurasikan parameter kustom untuk komponen di Konsol Container Service for Kubernetes pada halaman kluster Anda, atau menggunakan OpenAPI. Memodifikasi konfigurasi komponen melalui saluran lain dapat menyebabkan pengecualian komponen. Untuk informasi lebih lanjut, lihat Kelola komponen.
Jangan gunakan OpenAPI produk lapisan IaaS untuk mengubah lingkungan runtime komponen. Ini termasuk menggunakan ECS OpenAPI untuk mengubah status berjalan instans ECS, memodifikasi konfigurasi grup keamanan node pekerja, mengubah konfigurasi jaringan node pekerja, atau menggunakan Server Load Balancer OpenAPI untuk memodifikasi konfigurasi SLB. Perubahan tidak sah pada resource lapisan IaaS dapat menyebabkan pengecualian komponen bidang data.
Beberapa komponen bidang data dipengaruhi oleh versi open source hulu mereka, yang mungkin memiliki bug atau kerentanan. Segera tingkatkan komponen untuk mencegah layanan Anda terpengaruh oleh bug atau kerentanan pada komponen open source.
Peningkatan kluster
Gunakan fitur pembaruan kluster ACK untuk memperbarui versi Kubernetes kluster Anda. Metode lain dapat menyebabkan masalah stabilitas atau kompatibilitas. Untuk informasi lebih lanjut, lihat Perbarui kluster dan perbarui secara terpisah lapisan kontrol dan kelompok node.
ACK menyediakan dukungan berikut untuk peningkatan kluster:
Menyediakan fitur untuk meningkatkan kluster ke versi Kubernetes baru.
Menyediakan fitur pra-periksa untuk peningkatan versi Kubernetes baru guna memastikan kluster siap untuk ditingkatkan.
Menyediakan catatan rilis untuk versi Kubernetes baru, termasuk perubahan dari versi sebelumnya.
Memberikan peringatan tentang potensi risiko yang mungkin terjadi akibat perubahan resource saat Anda meningkatkan ke versi Kubernetes baru.
Ikuti rekomendasi berikut saat menggunakan fitur peningkatan kluster:
Lakukan pra-periksa sebelum meningkatkan kluster. Perbaiki masalah apa pun yang menghalangi peningkatan berdasarkan hasil pra-periksa.
Baca dengan cermat catatan rilis untuk versi Kubernetes baru. Konfirmasi status kluster dan layanan Anda berdasarkan risiko peningkatan yang diperingatkan oleh ACK, dan nilai sendiri risiko peningkatan tersebut. Untuk informasi lebih lanjut, lihat [Dihentikan] Ikhtisar rilis versi Kubernetes.
Fitur peningkatan kluster tidak mendukung rollback. Buat rencana peningkatan menyeluruh dan backup data Anda sebelum memulai.
Tingkatkan versi Kubernetes kluster Anda tepat waktu dalam siklus hidup dukungan versi saat ini, sesuai dengan kebijakan dukungan versi ACK. Untuk informasi lebih lanjut, lihat Panduan versi.
Konfigurasi Kubernetes native
Jangan mengubah konfigurasi Kubernetes utama, seperti path, tautan, dan konten file berikut:
/var/lib/kubelet
/var/lib/docker
/etc/kubernetes
/etc/kubeadm
/var/lib/containerd
Jangan gunakan anotasi yang dicadangkan untuk kluster Kubernetes dalam templat YAML. Jika tidak, resource mungkin menjadi tidak tersedia, gagal diminta, atau mengalami pengecualian. Anotasi yang diawali dengan
kubernetes.io/dank8s.io/dicadangkan untuk komponen inti. Contoh tidak valid:pv.kubernetes.io/bind-completed: "yes".
Kluster ACK serverless
Dalam skenario berikut, kluster ACK serverless tidak memberikan kompensasi:
Untuk menyederhanakan O&M kluster, kluster ACK serverless menyediakan kemampuan terkelola untuk beberapa komponen sistem. Setelah Anda mengaktifkan fitur terkelola untuk suatu komponen di kluster, ACK bertanggung jawab atas penerapan dan pemeliharaannya. Jika layanan Anda terpengaruh karena Anda secara tidak sengaja menghapus objek Kubernetes yang menjadi dependensi komponen terkelola, ACK Serverless tidak memberikan kompensasi.
Kluster terdaftar
Saat menghubungkan kluster Kubernetes eksternal menggunakan fitur kluster terdaftar di Management Console, pastikan stabilitas jaringan antara kluster eksternal dan Alibaba Cloud.
ACK memungkinkan Anda mendaftarkan dan menghubungkan kluster Kubernetes eksternal, tetapi tidak dapat mengontrol stabilitas kluster eksternal atau mencegah operasi yang tidak tepat. Oleh karena itu, berhati-hatilah saat mengonfigurasi informasi seperti label, anotasi, dan tag untuk node kluster terdaftar. Operasi semacam itu dapat menyebabkan pengecualian aplikasi.
Katalog Aplikasi
Untuk memperkaya aplikasi Kubernetes, App Catalog ACK menyediakan aplikasi yang telah diadaptasi dan dikustomisasi berdasarkan perangkat lunak open source. ACK tidak dapat mengontrol cacat yang melekat pada perangkat lunak open source itu sendiri. Sadari risiko ini. Untuk informasi lebih lanjut, lihat App Catalog.
Operasi berisiko
Beberapa modul fungsional dalam ACK melibatkan operasi berisiko yang dapat secara signifikan memengaruhi stabilitas layanan. Sebelum menggunakan fitur-fitur ini, baca dengan cermat operasi berisiko berikut beserta dampaknya.
Operasi berisiko terkait kluster
Klasifikasi | Operasi berisiko | Dampak | Rencana pemulihan |
API Server | Gunakan kembali instans SLB yang digunakan oleh API Server untuk skenario lain, seperti menggunakan kembali instans SLB untuk layanan LoadBalancer. | Kluster menjadi tidak tersedia, yang memengaruhi traffic layanan. | Kembalikan ke konfigurasi asal, atau minta dukungan purnajual. |
Modifikasi konfigurasi listener, kelompok vServer, daftar kontrol akses (ACL), atau tag instans SLB yang digunakan oleh API Server. Konfigurasi ini mengontrol penerusan SLB. | Kluster menjadi abnormal. | Kembalikan ke konfigurasi asal. | |
Hapus instans SLB yang digunakan oleh API Server. | Kluster menjadi tidak dapat dioperasikan. | Tidak dapat dipulihkan. Buat ulang kluster. Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola. | |
Node pekerja | Modifikasi grup keamanan node di kluster. | Node mungkin menjadi tidak tersedia. | Tambahkan kembali node ke grup keamanan yang dibuat otomatis untuk kluster. Untuk informasi lebih lanjut, lihat Asosiasikan grup keamanan dengan instans (ENI primer). |
Node kedaluwarsa atau dihapus. | Node menjadi tidak tersedia. | Tidak dapat dipulihkan. | |
Instal ulang sistem operasi. | Komponen pada node dihapus. | Hapus node dari kluster lalu tambahkan kembali. Untuk informasi lebih lanjut, lihat Hapus node dan Tambahkan node yang ada ke kluster. | |
Tingkatkan versi komponen node secara mandiri. | Node mungkin menjadi tidak dapat digunakan. | Kembalikan ke versi asal. | |
Ubah alamat IP node. | Node menjadi tidak tersedia. | Ubah kembali alamat IP ke nilai asalnya. | |
Modifikasi parameter komponen inti, seperti kubelet, docker, dan containerd, secara mandiri. | Node mungkin menjadi tidak tersedia. | Konfigurasikan parameter sesuai rekomendasi di situs resmi. | |
Modifikasi konfigurasi sistem operasi. | Node mungkin menjadi tidak tersedia. | Coba kembalikan item konfigurasi, atau hapus node dan beli yang baru. | |
Modifikasi waktu node. | Komponen pada node mungkin bekerja secara abnormal. | Kembalikan waktu node. | |
Tambahkan resource daya komputasi ke kluster dengan cara yang tidak didukung oleh ACK. | ACK menyediakan berbagai cara untuk menambahkan resource daya komputasi ke kluster, seperti menggunakan konsol, OpenAPI, dan command-line interface (CLI). Untuk informasi lebih lanjut, lihat Tambahkan node yang ada ke kluster. Jika Anda menambahkan node ke kluster melalui cara lain, ACK tidak dapat mengidentifikasi sumber node tersebut. Akibatnya, ACK tidak dapat menyediakan kemampuan produk seperti manajemen siklus hidup node, O&M otomatis, dan dukungan teknis. Untuk informasi lebih lanjut tentang risiko tersebut, lihat Mengapa konsol menampilkan bahwa sumber kelompok node tempat node tersebut berada adalah "Other Nodes"?. | Kami menyarankan agar Anda mengelola resource daya komputasi menggunakan kelompok node. Jika Anda ingin terus menggunakan node tersebut, pastikan kompatibilitasnya dengan semua komponen kluster, seperti komponen Kubernetes, jaringan, penyimpanan, dan keamanan. | |
Node master (kluster khusus ACK) | Modifikasi grup keamanan node di kluster. | Node master mungkin menjadi tidak tersedia. | Tambahkan kembali node ke grup keamanan yang dibuat otomatis untuk kluster. Untuk informasi lebih lanjut, lihat Asosiasikan grup keamanan dengan instans (ENI primer). |
Node kedaluwarsa atau dihapus. | Node master menjadi tidak tersedia. | Tidak dapat dipulihkan. | |
Instal ulang sistem operasi. | Komponen pada node master dihapus. | Tidak dapat dipulihkan. | |
Tingkatkan versi komponen Master atau etcd secara mandiri. | Kluster mungkin menjadi tidak dapat digunakan. | Kembalikan ke versi asal. | |
Hapus atau format data di direktori inti, seperti /etc/kubernetes, pada node. | Node master menjadi tidak tersedia. | Tidak dapat dipulihkan. | |
Ubah alamat IP node. | Node master menjadi tidak tersedia. | Ubah kembali alamat IP ke nilai asalnya. | |
Modifikasi parameter komponen inti, seperti etcd, kube-apiserver, dan docker, secara mandiri. | Node master mungkin menjadi tidak tersedia. | Konfigurasikan parameter sesuai rekomendasi di situs resmi. | |
Ganti sertifikat Master atau etcd secara mandiri. | Kluster mungkin menjadi tidak dapat digunakan. | Tidak dapat dipulihkan. | |
Tambahkan atau hapus node Master secara mandiri. | Kluster mungkin menjadi tidak dapat digunakan. | Tidak dapat dipulihkan. | |
Modifikasi waktu node. | Komponen pada node mungkin bekerja secara abnormal. | Kembalikan waktu node. | |
Lainnya | Ubah atau modifikasi izin menggunakan RAM. | Beberapa resource kluster, seperti Server Load Balancer, mungkin gagal dibuat. | Kembalikan ke izin asal. |
Catatan Ini hanya berlaku untuk kluster versi sebelum 1.26. Modifikasi atau hapus resource terkait PodSecurityPolicy yang telah ditentukan sebelumnya di kluster. Ini mencakup resource PodSecurityPolicy bernama | Komponen inti kluster mungkin menjadi abnormal. Anda mungkin tidak dapat membuat atau memperbarui resource pod di kluster. | Pulihkan resource terkait. Untuk informasi lebih lanjut, lihat Konfigurasikan atau pulihkan kebijakan keamanan Pod default ACK. |
Operasi berisiko terkait kelompok node
Operasi berisiko | Dampak | Rencana pemulihan |
Hapus grup penskalaan. | Kelompok node menjadi abnormal. | Tidak dapat dipulihkan. Anda hanya dapat membuat ulang kelompok node. Untuk informasi lebih lanjut, lihat Buat kelompok node. |
Hapus node menggunakan kubectl. | Jumlah node yang ditampilkan untuk kelompok node tidak sesuai dengan jumlah aktual. | Hapus node yang ditentukan menggunakan Management Console atau API terkait kelompok node (lihat Hapus node), atau kurangi skala kelompok node dengan memodifikasi jumlah node yang diharapkan (lihat Buat dan kelola kelompok node). |
Langsung lepas instans ECS. | Halaman produk kelompok node mungkin menampilkan pengecualian. Untuk kelompok node dengan jumlah node yang diharapkan, kelompok tersebut akan secara otomatis menambah skala ke jumlah yang diharapkan berdasarkan konfigurasinya untuk mempertahankan jumlah tersebut. | Tidak dapat dipulihkan. Cara yang benar adalah mengurangi skala kelompok node dengan memodifikasi jumlah node yang diharapkan (lihat Buat dan kelola kelompok node) atau menghapus node tertentu (lihat Hapus node) menggunakan Management Console atau API terkait kelompok node. |
Lakukan scale-out atau scale-in secara manual pada kelompok node yang telah diaktifkan auto scaling-nya. | Komponen auto scaling secara otomatis menyesuaikan jumlah node berdasarkan kebijakan, yang mengakibatkan hasil yang tidak diinginkan. | Tidak dapat dipulihkan. Jangan campuri secara manual kelompok node dengan auto scaling. |
Ubah jumlah maksimum atau minimum instans di grup penskalaan ESS. | Penskalaan mungkin menjadi abnormal. |
|
Jangan backup data sebelum menambahkan node yang ada. | Data pada instans hilang sebelum ditambahkan. | Tidak dapat dipulihkan.
|
Simpan data penting di disk sistem node. | Operasi self-healing kelompok node mungkin memperbaiki node dengan mereset konfigurasinya, yang dapat menyebabkan kehilangan data di disk sistem. | Tidak dapat dipulihkan. Cara yang benar adalah menyimpan data penting di disk data tambahan atau di cloud disk, NAS, atau OSS. |
Operasi berisiko terkait jaringan dan load balancing
Operasi berisiko | Dampak | Rencana pemulihan |
Modifikasi parameter kernel | Koneksi jaringan gagal. | Ubah parameter kernel menjadi |
Modifikasi parameter kernel:
| Koneksi jaringan gagal. | Ubah parameter kernel menjadi:
|
Modifikasi parameter kernel | Pemeriksaan kesehatan Pod menjadi abnormal. | Ubah parameter kernel menjadi |
Modifikasi parameter kernel | NAT menjadi tidak normal. | Modifikasi parameter kernel |
Modifikasi parameter kernel | Koneksi jaringan gagal secara intermiten. | Ubah parameter kernel ke nilai default |
Instal perangkat lunak firewall, seperti Firewalld atau ufw. | Koneksi jaringan kontainer gagal. | Uninstal perangkat lunak firewall dan restart node. |
Konfigurasi grup keamanan node tidak mengizinkan traffic UDP pada port 53 untuk blok CIDR kontainer. | DNS di kluster tidak berfungsi dengan benar. | Konfigurasikan grup keamanan untuk mengizinkan traffic sesuai rekomendasi di situs resmi. |
Ubah atau hapus tag instans SLB yang ditambahkan oleh ACK. | Instance SLB menjadi abnormal. | Kembalikan tag instans SLB. |
Modifikasi konfigurasi instans SLB yang dikelola ACK, termasuk instans SLB, listener, dan kelompok vServer, di konsol Server Load Balancer. | Instance SLB menjadi abnormal. | Kembalikan konfigurasi instans SLB. |
Hapus anotasi untuk menggunakan kembali instans SLB yang ada dari layanan: | Instance SLB menjadi abnormal. | Tambahkan kembali anotasi untuk menggunakan kembali instans SLB yang ada ke layanan. Catatan Layanan yang menggunakan kembali instans SLB yang ada tidak dapat langsung diubah menjadi layanan yang menggunakan instans SLB yang dibuat otomatis. Anda harus membuat ulang layanan tersebut. |
Hapus instans SLB yang dibuat oleh ACK di konsol Server Load Balancer. | Jaringan kluster mungkin menjadi abnormal. | Hapus instans SLB dengan menghapus layanan. Untuk informasi lebih lanjut, lihat Hapus Service. |
Hapus secara manual layanan | Controller Ingress tidak berfungsi dengan benar dan bahkan mungkin crash. | Buat layanan baru dengan nama yang sama menggunakan templat YAML berikut. |
Tambahkan atau modifikasi opsi | Jika server DNS yang dikonfigurasi tidak dikonfigurasi dengan benar, resolusi DNS mungkin gagal, yang memengaruhi operasi normal kluster. | Jika Anda ingin menggunakan server DNS yang dikelola sendiri sebagai server hulu, kami sarankan Anda mengonfigurasinya di sisi CoreDNS. Untuk informasi lebih lanjut, lihat Petunjuk untuk mengonfigurasi CoreDNS yang tidak dikelola. |
Ubah atau hapus ENI atau ENI Lingjun yang dibuat oleh ACK. | Jaringan pod terputus. | Tidak dapat dipulihkan. |
Ubah atau hapus CRD terkait jaringan. | Komponen Terway tidak akan berfungsi. Dalam kasus parah, ini dapat menyebabkan gangguan jaringan dan pengecualian pod. | Tidak dapat dipulihkan. |
Buat, modifikasi, atau hapus CR sistem terkait jaringan. | Komponen Terway tidak akan berfungsi. Dalam kasus parah, ini dapat menyebabkan gangguan jaringan dan pengecualian pod. | Hapus definisi CR kustom dan buat ulang pod yang terkait. |
Modifikasi atau hapus field dalam konfigurasi jaringan Terway yang tidak diizinkan untuk dimodifikasi. Untuk informasi lebih lanjut tentang parameter konfigurasi, lihat Kustomisasi parameter konfigurasi Terway. | Komponen Terway tidak akan berfungsi. Dalam kasus parah, ini dapat menyebabkan gangguan jaringan dan pengecualian pod. | Kembalikan ke konfigurasi asal dan restart node. |
Operasi berisiko terkait penyimpanan
Operasi berisiko | Dampak | Rencana pemulihan |
Melepaskan disk secara manual di konsol. | Pod melaporkan error I/O selama operasi penulisan. | Restart pod dan bersihkan secara manual informasi mount residual pada node. |
Jalankan perintah umount untuk path mount disk pada node. | Pod menulis data ke disk lokal. | Restart pod. |
Langsung mengoperasikan disk pada node. | Pod menulis data ke disk lokal. | Tidak dapat dipulihkan. |
Mount disk yang sama ke beberapa pod. | Pod menulis data ke disk lokal atau melaporkan error I/O. | Pastikan satu disk hanya digunakan oleh satu pod. Penting Disk cloud adalah penyimpanan non-shared yang disediakan oleh tim penyimpanan Alibaba Cloud dan hanya dapat dimount ke satu pod dalam satu waktu. |
Hapus secara manual direktori pemasangan NAS. | Pod melaporkan error I/O selama operasi penulisan. | Restart pod. |
Hapus disk NAS atau titik pemasangan yang sedang digunakan. | Pod mengalami hang I/O. | Restart node ECS. Untuk informasi lebih lanjut, lihat Restart instans ECS. |
Operasi berisiko terkait log
Operasi berisiko | Dampak | Rencana pemulihan |
Hapus direktori /tmp/ccs-log-collector/pos pada host. | Log dikumpulkan berulang-ulang. | Tidak dapat dipulihkan. File dalam direktori ini mencatat posisi pengumpulan log. |
Hapus direktori /tmp/ccs-log-collector/buffer pada host. | Log hilang. | Tidak dapat dipulihkan. Direktori ini berisi file cache untuk log yang menunggu untuk dikonsumsi. |
Hapus resource CRD aliyunlogconfig. | Pengumpulan log gagal. | Buat ulang CRD yang dihapus dan resource terkaitnya. Namun, log dari periode kegagalan tidak dapat dipulihkan. Menghapus CRD juga menghapus semua instans terkaitnya. Bahkan setelah Anda memulihkan CRD, Anda harus membuat instans yang dihapus secara manual. |
Uninstal komponen log. | Pengumpulan log gagal. | Instal ulang komponen log dan pulihkan secara manual instans CRD aliyunlogconfig. Log dari periode uninstall tidak dapat dipulihkan. Menguninstal komponen log sama dengan menghapus CRD aliyunlogconfig dan kolektor log Logtail. Semua kemampuan pengumpulan log hilang selama periode ini. |