Saat melakukan upgrade Cloud Controller Manager (CCM) di kluster Container Compute Service (ACS), sistem menjalankan pemeriksaan awal untuk memverifikasi bahwa setiap instance Server Load Balancer (SLB) sesuai dengan spesifikasi Kubernetes Service terkait. Jika ditemukan ketidaksesuaian, pemeriksaan awal akan gagal dan mengembalikan pesan error yang menjelaskan perubahan yang dimaksud.
Topik ini mencantumkan setiap error pemeriksaan awal berdasarkan kategori, menjelaskan akar penyebabnya, serta memberikan langkah-langkah penyelesaiannya.
Sebelum memulai
Tinjau dokumentasi Cloud Controller Manager untuk memahami perubahan yang diperkenalkan oleh versi baru.
Jangan mengubah Service apa pun selama pemeriksaan awal berlangsung. Mengubah Service selama pemeriksaan awal dapat menghasilkan hasil yang tidak akurat. Jika hal ini terjadi, jalankan ulang pemeriksaan awal tersebut. Jika pemeriksaan awal tetap gagal, submit a ticket.
CCM mengelola instance SLB berdasarkan anotasi Kubernetes Service. Memodifikasi instance SLB secara manual di Konsol SLB saat CCM mengelolanya menyebabkan deviasi konfigurasi, yang merupakan penyebab umum kegagalan pemeriksaan awal. Kelola load balancer sepenuhnya melalui anotasi Kubernetes Service, atau gunakan SLB yang dikelola secara eksternal—namun jangan mencampur kedua pendekatan tersebut.
Ketidaksesuaian spesifikasi dan penagihan SLB
Error ini terjadi ketika spesifikasi instans SLB, bandwidth, metode penagihan, atau metode pengukuran berbeda dari yang ditentukan dalam anotasi Service.
modify the slb instance spec
Penyebab: Spesifikasi instans SLB tidak sesuai dengan nilai dalam anotasi Service.
Penyelesaian: Atur service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec dalam anotasi Service agar sesuai dengan spesifikasi aktual instans SLB. Untuk detailnya, lihat Use annotations to configure CLB instances.
modify the slb internet spec
Penyebab: Bandwidth maksimum SLB atau metode penagihannya tidak sesuai dengan anotasi Service.
Resolusi:
Jika bandwidth salah, atur
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-bandwidthdalam anotasi Service agar sesuai dengan instans SLB. Untuk detailnya, lihat Create a pay-by-bandwidth CLB instance.Jika metode penagihan salah, atur
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-charge-typedalam anotasi Service agar sesuai dengan instans SLB. Untuk detailnya, lihat Create a pay-by-bandwidth CLB instance.
modify loadbalancer instance charge type
Penyebab: Metode pengukuran Service berbeda dari instans SLB.
Penyelesaian:
Jika Anda mengubah metode pengukuran instans Classic Load Balancer (CLB) secara manual menjadi PayByCLCU di Konsol SLB, hapus anotasi
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-specdari Service.Jika Anda tidak mengubah metode pengukuran di Konsol SLB, jangan memodifikasi Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut.
Ketidaksesuaian siklus hidup Service
Error ini terjadi ketika siklus hidup instans SLB tidak sinkron dengan Kubernetes Service.
create a new load balancer
Penyebab: Instans SLB sedang dibuat sebagai bagian dari pembuatan Service atau sinkronisasi Service yang sudah ada.
Solusi: Periksa apakah layanan berada dalam status Pending atau Running.
kubectl get svc <service-name> -n <namespace>Ganti <service-name> dengan nama Service dan <namespace> dengan namespace Service tersebut.
Jika Service berstatus Running dan memiliki Alamat IP publik, jalankan kembali pemeriksaan awal.
Jika Service berstatus Pending, submit a ticket.
delete the load balancer
Penyebab: Service sudah tidak ada, tetapi instans SLB terkait belum dihapus.
Penyelesaian:
Jika Anda tidak lagi memerlukan instans SLB tersebut, hapus di Konsol SLB.
Jika Anda masih memerlukan instans SLB tersebut, submit a ticket.
Ketidaksesuaian konfigurasi Pendengar
Error ini terjadi ketika konfigurasi port Service berbeda dari konfigurasi pendengar SLB. Hal ini biasanya terjadi setelah memodifikasi pendengar secara manual di Konsol SLB.
stop listener / start listener
Penyebab: Port Service berbeda dari port pendengar SLB.
Penyelesaian:
Jika Anda tidak memodifikasi pendengar di Konsol SLB, jangan memodifikasi Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut.
Jika Anda memodifikasi pendengar secara manual di Konsol SLB, bandingkan konfigurasi Service dengan pendengar SLB, kembalikan pengaturan pendengar, lalu jalankan kembali pemeriksaan awal:
kubectl -n <namespace> describe svc <service-name>
delete listener
Penyebab: Port Service berbeda dari port pendengar SLB.
Penyelesaian:
Jika Anda tidak memodifikasi pendengar di Konsol SLB, jangan memodifikasi Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut.
Jika Anda memodifikasi pendengar secara manual di Konsol SLB, hapus pendengar tambahan tersebut dan jalankan kembali pemeriksaan awal.
create listener
Penyebab: Port Service berbeda dari port pendengar SLB.
Penyelesaian:
Jika Anda tidak memodifikasi pendengar di Konsol SLB, jangan memodifikasi Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut.
Jika Anda memodifikasi pendengar secara manual di Konsol SLB, tambahkan pendengar yang hilang dan jalankan kembali pemeriksaan awal.
update listener
Penyebab: Port Service berbeda dari port pendengar SLB.
Resolusi:
Jika Anda tidak memodifikasi pendengar di Konsol SLB, jangan memodifikasi Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut.
Jika Anda memodifikasi pendengar secara manual di Konsol SLB, bandingkan konfigurasi Service dengan pengaturan pendengar SLB dan kembalikan konfigurasi pendengar (termasuk Sertifikat, pengaturan Kontrol akses, Pemeriksaan kesehatan, dan cookies). Lalu jalankan kembali pemeriksaan awal. Untuk detail tentang anotasi yang mengontrol pengaturan ini, lihat Use annotations to configure CLB instances.
kubectl -n <namespace> describe svc <service-name>
Ketidaksesuaian server backend dan kelompok vServer
Error ini terjadi ketika titik akhir Service berbeda dari konfigurasi server backend atau kelompok vServer pada instans SLB.
remove backend servers / add backend servers
Penyebab: Titik akhir Service berbeda dari konfigurasi server backend SLB.
Penyelesaian:
Jika Anda tidak memodifikasi konfigurasi server backend di Konsol SLB, jangan mengubah titik akhir Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut.
Jika Anda memodifikasi konfigurasi server backend secara manual di Konsol SLB, kembalikan konfigurasi kelompok vServer instans SLB dan jalankan kembali pemeriksaan awal.
create VServerGroup / delete VServerGroup / add VServerGroup backends / remove VServerGroup backends
Penyebab: Titik akhir Service berbeda dari konfigurasi kelompok vServer pada instans SLB.
Penyelesaian:
Jika Anda tidak memodifikasi kelompok vServer di Konsol SLB, jangan mengubah titik akhir Service selama pemeriksaan awal dan jalankan kembali pemeriksaan awal tersebut. Jika error
create vServerGrouptetap muncul setelah beberapa kali pemeriksaan awal, submit a ticket.Jika Anda memodifikasi konfigurasi server backend secara manual di Konsol SLB, kembalikan konfigurasi kelompok vServer instans SLB dan jalankan kembali pemeriksaan awal.
Minta bantuan
Jika pemeriksaan awal terus gagal setelah Anda mengikuti langkah-langkah penyelesaian, submit a ticket. Sertakan informasi berikut untuk mempercepat proses troubleshooting:
ID kluster ACS
Versi CCM yang sedang Anda upgrade dari dan ke
Pesan error pemeriksaan awal yang tepat
Output YAML Service:
kubectl get svc <service-name> -n <namespace> -o yamlID instans SLB dan konfigurasi saat ini di Konsol SLB