Topik ini menjelaskan cara melihat dashboard komponen control plane di Container Service for Kubernetes (ACK) Pro clusters dan memberikan praktik terbaik untuk mengakses komponen control plane.
Prasyarat
Fitur pemantauan komponen control plane berlaku untuk kluster ACK Pro versi 1.16 atau lebih baru.
Application Real-Time Monitoring Service (ARMS) telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan ARMS.
Komponen ack-arms-prometheus telah diinstal. Untuk informasi lebih lanjut, lihat Kelola Komponen.
Lihat dashboard komponen control plane
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel sebelah kiri, pilih .
Di halaman Prometheus Monitoring, klik tab Key Component Monitoring.
Anda dapat melihat dashboard ACK Pro API server, ACK Pro ETCD, ACK Pro Scheduler, ACK Pro Cloud Controller Manager, dan ACK Pro Kube Controller Manager di halaman ini.
CatatanUntuk menggunakan dashboard Prometheus terbaru, perbarui ack-arms-prometheus ke versi terbaru dari halaman Add-ons di konsol. Untuk informasi lebih lanjut, lihat Kelola Komponen.
Praktik terbaik untuk mengakses komponen control plane
Kami menyarankan Anda mengikuti aturan praktik terbaik kami saat mengakses komponen control plane di kluster ACK Pro yang berisi lebih dari 100 node dan sejumlah besar sumber daya Kubernetes. Ini membantu meningkatkan stabilitas kluster.
Ambil data dari API server menggunakan Informer atau Lister. Ini membantu mengurangi beban API server dan etcd.
Jika Anda ingin mencantumkan semua data, tambahkan
resourceVersion=0ke permintaan untuk mengambil data dari cache API server jika etcd kelebihan beban. Jika Anda ingin mengambil data dari etcd, tambahkan opsi batas untuk membatasi jumlah entri yang dikembalikan per halaman.Gunakan
Protobufsebagai protokol serialisasi API, yang membutuhkan lebih sedikit sumber daya memori dan transfer data dibandingkan JSON. Untuk informasi lebih lanjut, lihat Representasi Alternatif Sumber Daya. Blok kode berikut menunjukkan contohnya:kubeConfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig) if err != nil { return nil, err } kubeConfig.AcceptContentTypes = strings.Join([]string{runtime.ContentTypeProtobuf, runtime.ContentTypeJSON}, ",") kubeConfig.ContentType = runtime.ContentTypeProtobuf client, err := clientset.NewForConfig(restclient.AddUserAgent(kubeConfig, "content-type-example")) ...Hapus sumber daya Kubernetes yang tidak aktif, seperti ConfigMaps, Secrets, dan Persistent Volume Claims (PVCs), sesegera mungkin. Sumber daya tidak aktif ini dapat membuat pod tertunda. Saat jumlah pod tertunda dalam kluster melebihi 1.000, stabilitas kube-apiserver, kube-controller-manager, dan kube-scheduler terpengaruh.
Perhatikan penggunaan sumber daya komponen control plane, terutama metrik penggunaan CPU dan memori, untuk mencegah kesalahan kehabisan memori akibat penggunaan sumber daya tinggi secara terus-menerus. Jika penggunaan sumber daya tetap tinggi, hapus sumber daya yang tidak valid, optimalkan tindakan klien, dan pisahkan beban kerja di kluster.
Beberapa komponen open source dapat sangat meningkatkan beban control plane. Anda dapat menemukan solusi optimasi di situs resmi komponen tersebut. Sebagai contoh, Argo Workflows menyediakan solusi untuk menyelesaikan masalah Kubernetes API yang kewalahan saat Argo sibuk. Untuk informasi lebih lanjut, lihat Berjalan Pada Skala Besar.
Referensi
Komponen control plane | Dashboard | Pengenalan referensi | Tautan |
kube-apiserver | ACK Pro APIServer | Menggambarkan metrik yang didukung oleh kube-apiserver, memberikan catatan penggunaan untuk dashboard kube-apiserver, dan menyarankan cara menangani anomali metrik umum. | |
cloud-controller-manager | ACK Pro Cloud Controller Manager | Menggambarkan metrik yang didukung oleh cloud-controller-manager, memberikan catatan penggunaan untuk dashboard cloud-controller-manager, dan menyarankan cara menangani anomali metrik umum. | |
etcd | ACK Pro ETCD | Menggambarkan metrik yang didukung oleh etcd, memberikan catatan penggunaan untuk dashboard etcd, dan menyarankan cara menangani anomali metrik umum. | |
kube-controller-manager | ACK Pro Kube Controller Manager | Menggambarkan metrik yang didukung oleh kube-controller-manager dan memberikan catatan penggunaan untuk dashboard kube-controller-manager. | |
kube-scheduler | ACK Pro Scheduler | Menggambarkan metrik yang didukung oleh kube-scheduler, memberikan catatan penggunaan untuk dashboard kube-scheduler, dan menyarankan cara menangani anomali metrik umum. | |
Pemantauan dan peringatan Prometheus kustom | Nama dashboard kustom | Menggambarkan cara mengumpulkan metrik dari kube-apiserver, etcd, kube-scheduler, cloud-controller-manager, dan kube-controller-manager di kluster ACK Pro ke sistem Prometheus mandiri dan memberikan konfigurasi peringatan yang direkomendasikan. |