ACK mendukung pemeriksaan untuk peningkatan kluster, migrasi kluster, komponen, dan kelompok node. Sebelum meningkatkan atau memigrasikan kluster, Anda dapat menjalankan pemeriksaan kluster untuk memastikan kluster memenuhi persyaratan. Pemeriksaan ini juga menyediakan solusi untuk setiap item pemeriksaan yang gagal.
Item pemeriksaan kluster
Pemeriksaan peningkatan kluster
Karena Kubernetes bersifat kompleks, peningkatan kluster berisiko. Untuk memastikan peningkatan berjalan lancar, ACK menyediakan pemeriksaan pra-peningkatan. Anda hanya dapat meningkatkan kluster setelah lulus pemeriksaan ini. Item pemeriksaan bervariasi berdasarkan jenis kluster, versi Kubernetes, dan runtime kontainer. Item pemeriksaan yang ditampilkan di Konsol merupakan versi terbaru.
Pemeriksaan peningkatan kluster mencakup tiga jenis berikut:
Sumber daya kluster: Memeriksa sumber daya cloud yang terkait dengan kluster ACK, seperti instance SLB, ECS, dan VPC.
Komponen kluster: Memeriksa konfigurasi kluster ACK, komponen, dan aplikasi. Misalnya, pemeriksaan memverifikasi apakah versi komponen memenuhi persyaratan atau jika aplikasi menggunakan API yang sudah usang.
Konfigurasi kluster: Memeriksa konfigurasi node dalam kluster ACK. Pemeriksaan ini memerlukan pembuatan pod pada setiap node untuk mengumpulkan informasi.
Jenis | Item pemeriksaan | Deskripsi |
Sumber daya kluster | API Server SLB | Memeriksa apakah instance SLB ada. |
Memeriksa apakah status instance SLB Normal. | ||
Memeriksa apakah konfigurasi pendengar SLB, termasuk port dan protokol, benar. | ||
Memeriksa apakah konfigurasi grup server backend instance SLB benar. | ||
Memeriksa apakah konfigurasi kontrol akses SLB benar. Jika tidak ada kontrol akses yang dikonfigurasi, pemeriksaan lolos. | ||
VPC | Memeriksa apakah instansi terhubung-VPC ada. | |
Memeriksa apakah instansi terhubung-VPC Normal. | ||
vSwitch | Memeriksa apakah vSwitch ada. | |
Memeriksa apakah vSwitch Normal. | ||
Memeriksa apakah vSwitch memiliki dua atau lebih alamat IP yang tersedia. | ||
ECS | Memeriksa apakah instance ECS ada. | |
Memeriksa apakah instance ECS Normal. | ||
Memeriksa apakah grup keamanan ECS Normal. | ||
Memeriksa apakah langganan instance ECS aktif. | ||
Memeriksa apakah tipe instans ECS memenuhi persyaratan. | ||
Memeriksa apakah klien Asisten Cloud Normal. | ||
Komponen kluster | Kube Proxy Master | Memeriksa apakah komponen ada. |
Kube Proxy Worker | Memeriksa apakah komponen ada. | |
API Service | Memeriksa apakah ada layanan API yang tidak tersedia. | |
Instans kluster | Memeriksa apakah jumlah node Master dalam kluster adalah 3 atau 5. | |
Komponen kluster | Memeriksa apakah versi komponen Terway memenuhi persyaratan. | |
Memeriksa apakah versi komponen CoreDNS memenuhi persyaratan. | ||
Memeriksa apakah versi komponen cloud-controller-manager memenuhi persyaratan. | ||
Memeriksa apakah versi komponen Nginx Ingress Controller memenuhi persyaratan. | ||
Memeriksa apakah versi komponen ACK Virtual Node memenuhi persyaratan. | ||
Memeriksa apakah versi komponen Metrics Server memenuhi persyaratan. | ||
Node | Memeriksa apakah alamat IP node ada. | |
Memeriksa apakah node dapat dijadwalkan. | ||
Memeriksa apakah node berada dalam status Ready. | ||
Memeriksa apakah sistem operasi node mendukung peningkatan. | ||
Memeriksa apakah jumlah pod yang tersedia pada node lebih dari 2. | ||
API usang | Memeriksa apakah kluster menggunakan API yang sudah usang. | |
Konfigurasi kluster | Konfigurasi iptables | Memeriksa apakah konfigurasi iptables benar. |
Sistem operasi | Memeriksa apakah sistem operasi mendukung peningkatan. | |
yum | Memeriksa apakah yum berfungsi dengan benar. | |
Disk | Memeriksa apakah sistem file node Normal. | |
Memeriksa apakah lebih dari 5% ruang disk pada node masih tersedia. | ||
Swap | Memeriksa apakah Swap diaktifkan pada node. | |
NTP | Memeriksa apakah Network Time Protocol (NTP) pada node berfungsi dengan benar. | |
Systemd | Memeriksa apakah versi Systemd node lebih baru dari systemd-219-67. | |
kubelet | Memeriksa apakah konfigurasi kubelet sesuai harapan. | |
Runtime kontainer | Memeriksa apakah runtime Docker atau containerd Normal. | |
Konfigurasi kernel | Memeriksa apakah konfigurasi kernel node benar. | |
Konfigurasi manifest | Memeriksa apakah file manifest sesuai harapan. |
Pemeriksaan migrasi kluster
Pemeriksaan pra-migrasi dipicu sebelum migrasi kluster. Migrasi hanya dapat dilanjutkan setelah kluster lulus pemeriksaan. Pemeriksaan ini berlaku untuk skenario berikut.
Migrasi dari Cluster khusus ACK ke Edisi Pro Kluster ACK yang dikelola.
Migrasi dari Edisi Dasar Kluster ACK yang dikelola ke Kluster ACK yang dikelola.
Pemeriksaan migrasi kluster mencakup empat jenis berikut:
Sumber daya kluster: Memeriksa sumber daya cloud yang terkait dengan kluster ACK, seperti instance SLB, ECS, dan VPC.
Komponen kluster: Memeriksa konfigurasi komponen dalam kluster ACK, seperti memeriksa adanya layanan API yang tidak tersedia.
Konfigurasi kluster: Memeriksa konfigurasi node dalam kluster ACK. Pemeriksaan ini memerlukan pembuatan pod pada setiap node untuk mengumpulkan informasi.
Penggunaan komponen: Beberapa komponen menjadi dikelola oleh ACK setelah Cluster khusus ACK dimigrasikan. Oleh karena itu, komponen-komponen ini diperiksa terlebih dahulu untuk mendeteksi masalah sebelum migrasi.
Jenis | Item pemeriksaan | Deskripsi |
Sumber daya kluster | API Server SLB | Memeriksa apakah instance SLB ada. |
Memeriksa apakah status instance SLB Normal. | ||
Memeriksa apakah konfigurasi pendengar SLB, termasuk port dan protokol, benar. | ||
Memeriksa apakah konfigurasi grup server backend instance SLB benar. | ||
Memeriksa apakah konfigurasi kontrol akses SLB benar. Jika tidak ada kontrol akses yang dikonfigurasi, pemeriksaan lolos. | ||
VPC | Memeriksa apakah instansi terhubung-VPC ada. | |
Memeriksa apakah instansi terhubung-VPC Normal. | ||
vSwitch | Memeriksa apakah vSwitch ada. | |
Memeriksa apakah vSwitch Normal. | ||
Memeriksa apakah vSwitch memiliki dua atau lebih alamat IP yang tersedia. | ||
ECS | Memeriksa apakah instance ECS ada. | |
Memeriksa apakah instance ECS Normal. | ||
Memeriksa apakah grup keamanan ECS Normal. | ||
Memeriksa apakah klien Asisten Cloud Normal. | ||
Komponen kluster | Kube Proxy Master | Memeriksa apakah komponen ada. |
Kube Proxy Worker | Memeriksa apakah komponen ada. | |
API Service | Memeriksa apakah ada layanan API yang tidak tersedia. | |
Instans kluster | Memeriksa apakah jumlah node Master dalam kluster adalah 3 atau 5. | |
Node | Memeriksa apakah alamat IP node ada. | |
Memeriksa apakah node dapat dijadwalkan. | ||
Memeriksa apakah node berada dalam status Ready. | ||
Memeriksa apakah sistem operasi node mendukung peningkatan. | ||
Memeriksa apakah jumlah pod yang tersedia pada node lebih dari 2. | ||
Konfigurasi kluster | Sistem operasi | Memeriksa apakah sistem operasi mendukung peningkatan. |
yum | Memeriksa apakah yum berfungsi dengan benar. | |
Penggunaan komponen | cloud-controller-manager | Memeriksa apakah komponen cloud-controller-manager memiliki masalah. |
Pemeriksaan komponen
Pemeriksaan komponen berlaku untuk skenario peningkatan komponen. Pemeriksaan pra-peningkatan dipicu sebelum komponen ditingkatkan. Peningkatan hanya dapat dilanjutkan setelah komponen lulus pemeriksaan.
Jenis | Item pemeriksaan | Deskripsi |
cloud-controller-manager | Addon_CCM | Memeriksa apakah peningkatan komponen ini menyebabkan perubahan SLB. |
Component_Block_Version | Memeriksa apakah versi CCM dapat ditingkatkan. | |
csi-plugin | DaemonSet_Annotation | Memeriksa apakah anotasi DaemonSet sesuai harapan. |
Csi_Driver_Attributes | Memeriksa apakah properti CSI Driver memenuhi persyaratan. | |
Node_Status_Ready | Memeriksa apakah node kluster berada dalam status Ready. | |
csi-provisioner | Stateful_Set_Exist | Memeriksa apakah sumber daya merupakan StatefulSet. |
Deployment_Annotation | Memeriksa apakah anotasi deployment sesuai harapan. | |
Storage_Class_Attributes | Memeriksa apakah properti StorageClass memenuhi persyaratan. | |
Csi_Provisioner_Node_Count | Memeriksa apakah jumlah node Ready adalah 2 atau lebih. | |
terway-eniip | Systemd | Memeriksa apakah versi Systemd node lebih baru dari systemd-219-67. |
nginx-ingress-controller | Deployment_Healthy | Memeriksa apakah deployment Nginx Ingress sehat. |
Deployment_Not_Under_HPA | Memeriksa apakah autoscaler pod horizontal (HPA) dikonfigurasi untuk deployment tersebut. | |
Deployment_Not_Modified | Memeriksa apakah deployment telah dimodifikasi. | |
Nginx_Ingress_Pod_Error_Log | Memeriksa apakah Nginx memiliki log kesalahan. | |
LoadBalancer_Service_Healthy | Memeriksa apakah Layanan Nginx sehat. | |
Nginx_Ingress_Configuration | Memeriksa apakah Ingress memiliki konfigurasi yang tidak kompatibel. | |
aliyun-acr-credential-helper | RamRole_Exist | Memeriksa apakah komponen diberikan izin AliyunCSManagedAcrRole. |
ack-cost-exporter | RamRole_Exist | Memeriksa apakah komponen diberikan izin AliyunCSManagedCostRole. |
Pemeriksaan kelompok node
Pemeriksaan kelompok node berlaku untuk skenario peningkatan kelompok node. Pemeriksaan pra-peningkatan dipicu saat kelompok node ditingkatkan. Peningkatan hanya dapat dilanjutkan setelah kelompok node lulus pemeriksaan.
Pemeriksaan kelompok node mencakup tiga jenis berikut:
Sumber daya kluster: Memeriksa sumber daya cloud yang terkait dengan kluster ACK, seperti instance SLB dan VPC.
Komponen kluster: Memeriksa konfigurasi kluster ACK, node, dan aplikasi.
Konfigurasi kluster: Memeriksa konfigurasi node dalam kluster ACK. Pemeriksaan ini memerlukan pembuatan pod pada setiap node untuk mengumpulkan informasi.
Jenis | Item pemeriksaan | Deskripsi |
Sumber daya kluster | API Server SLB | Memeriksa apakah instance SLB ada. |
Memeriksa apakah status instance SLB Normal. | ||
Memeriksa apakah konfigurasi pendengar SLB, termasuk port dan protokol, benar. | ||
Memeriksa apakah konfigurasi grup server backend instance SLB benar. | ||
Memeriksa apakah konfigurasi kontrol akses SLB benar. Jika tidak ada kontrol akses yang dikonfigurasi, pemeriksaan lolos. | ||
VPC | Memeriksa apakah instansi terhubung-VPC ada. | |
Memeriksa apakah instansi terhubung-VPC Normal. | ||
vSwitch | Memeriksa apakah vSwitch ada. | |
Memeriksa apakah vSwitch Normal. | ||
Memeriksa apakah vSwitch memiliki dua atau lebih alamat IP yang tersedia. | ||
Komponen kluster | API Service | Memeriksa apakah ada layanan API yang tidak tersedia. |
Instans kluster | Memeriksa apakah jumlah node Master dalam kluster adalah 3 atau 5. | |
Node | Memeriksa apakah node berada dalam status Ready. | |
Memeriksa apakah jumlah pod yang tersedia pada node lebih dari 2. | ||
HostPath | Memeriksa apakah ada pod pada node yang menggunakan HostPath. | |
Konfigurasi kluster | Konfigurasi iptables | Memeriksa apakah konfigurasi iptables benar. |
Sistem operasi | Memeriksa apakah sistem operasi mendukung peningkatan. | |
yum | Memeriksa apakah yum berfungsi dengan benar. | |
Disk | Memeriksa apakah sistem file node Normal. | |
Ruang disk tersisa pada node | Memeriksa apakah lebih dari 5% ruang disk pada node masih tersedia. | |
Swap | Memeriksa apakah Swap diaktifkan pada node. | |
NTP | Memeriksa apakah NTP pada node berfungsi dengan benar. | |
Systemd | Memeriksa apakah versi Systemd node lebih baru dari systemd-219-67. | |
kubelet | Memeriksa apakah konfigurasi kubelet sesuai harapan. | |
Runtime kontainer | Memeriksa apakah runtime Docker atau containerd Normal. | |
Konfigurasi kernel | Memeriksa apakah konfigurasi kernel node benar. | |
Konfigurasi manifest | Memeriksa apakah file manifest sesuai harapan. |
Solusi untuk item pemeriksaan yang gagal
Item pemeriksaan yang gagal | Solusi |
Versi Systemd terlalu rendah | |
Versi komponen terlalu rendah | Tingkatkan versi komponen. Untuk informasi selengkapnya, lihat Mengelola komponen. |
Pemeriksaan yum melebihi waktu tunggu | Jalankan perintah berikut untuk memeriksa apakah yum melebihi waktu tunggu. Waktu tunggu default adalah 10 detik. |
Layanan API tidak tersedia |
|
Node memiliki pod yang menggunakan HostPath | Saat Anda meningkatkan node dengan mengganti disk sistemnya, kehilangan data dapat terjadi jika pod pada node tersebut menggunakan HostPath untuk memasang direktori kontainer ke host. Periksa direktori yang dipasang untuk pod tersebut. Jika tidak ada dampak, Anda dapat melanjutkan peningkatan. Hasil pemeriksaan ini hanya sebagai referensi. |
Kluster menggunakan API yang sudah usang | Identifikasi sumber API yang sudah usang dan ambil tindakan yang sesuai. Untuk informasi selengkapnya, lihat API yang sudah usang. |
API yang sudah usang
Untuk kluster yang menjalankan Kubernetes 1.20 atau lebih baru, pemeriksaan pra-peningkatan mencakup pemindaian terhadap API yang sudah usang. Laporan pemeriksaan mencantumkan API yang sudah usang yang digunakan oleh kluster.
Sebagai contoh, saat Anda meningkatkan kluster dari Kubernetes 1.20 ke 1.22, sistem memindai log audit dari hari sebelumnya untuk memeriksa apakah kluster Kubernetes 1.20 menggunakan API yang sudah usang.
Jika kluster Kubernetes 1.20 menggunakan API yang sudah usang, hasil pemeriksaan hanya berupa notifikasi dan tidak menghalangi proses peningkatan.
Risiko keamanan dapat terjadi jika kluster terus menggunakan API yang sudah usang di Kubernetes 1.22. Anda harus menilai dampaknya terhadap layanan Anda.
API yang sudah usang dikategorikan ke dalam empat jenis berdasarkan sumber permintaannya (user agent). Sebelum melakukan peningkatan, gunakan kolom Type pada tabel berikut untuk mengidentifikasi sumber API yang sudah usang dan mengambil tindakan yang sesuai.
Jenis | Tindakan yang disarankan | Contoh |
core | Komponen inti Kubernetes: ACK secara otomatis meningkatkan komponen-komponen ini selama peningkatan kluster. Komponen ini tidak ditampilkan di halaman pemeriksaan dan tidak memerlukan tindakan dari Anda. | kube-apiserver, kube-scheduler, kube-controller-manager |
ack | Komponen ACK: Ini adalah komponen yang disediakan oleh ACK. Halaman API yang sudah usang tidak menampilkannya. Sebaliknya, ACK memandu Anda untuk meningkatkan komponen di halaman manajemen komponen guna menyelesaikan masalah tersebut. Catatan
| metrics-server, nginx-ingress-controller, CoreDNS |
opensource | Komponen open source: ACK mencantumkan beberapa komponen open source dari komunitas. Anda harus memutuskan apakah akan meningkatkannya. Catatan Informasi API yang sudah usang hanya sebagai referensi dan tidak memengaruhi proses peningkatan Anda. Tingkatkan komponen sesuai kebutuhan untuk menghindari gangguan pada beberapa fitur. | rancher, elasticsearch-operator, dan lainnya |
unknown | Sumber tidak dikenal: Jika suatu API tidak cocok dengan aturan sebelumnya, ACK menandainya sebagai berasal dari sumber tidak dikenal. Anda harus memutuskan apakah akan meningkatkannya dan melakukan peningkatan sendiri. Catatan Informasi API yang sudah usang hanya sebagai referensi dan tidak memengaruhi proses peningkatan Anda. Tingkatkan komponen sesuai kebutuhan untuk menghindari gangguan pada beberapa fitur. | kubectl, agent, Go-http-client, okhttp |
Untuk melihat informasi tentang API yang sudah usang:
Pada halaman Upgrade Cluster, klik Pre-check, lalu klik View Details.
Pada halaman Check Report, klik View Details.
Halaman detail menampilkan API yang sudah usang, user agent, jenis, versi Kubernetes tempat API tersebut diusang, waktu akses terakhir, dan IP sumber akses terakhir.