Topik ini menjelaskan cara menginstal Operator KubeRay di kluster Pro ACK yang dikelola serta mengaktifkan Simple Log Service dan Managed Service for Prometheus untuk KubeRay guna meningkatkan manajemen log, observabilitas sistem, dan ketersediaan sistem. Anda dapat membuat resource kustom Kubernetes untuk mengelola kluster dan aplikasi Ray.
Prasyarat
Untuk informasi selengkapnya, lihat Buat kluster ACK yang dikelola. Untuk informasi selengkapnya tentang peningkatan kluster, lihat Tingkatkan kluster secara manual. Buat kluster Pro ACK yang dikelola yang memenuhi persyaratan berikut:
Versi Kubernetes kluster adalah v1.24 atau lebih baru.
Spesifikasi node: Telah tersedia node dengan setidaknya 8 vCPU dan memori 32 GB.
Anda dapat menggunakan spesifikasi minimum yang direkomendasikan di lingkungan pengujian. Di lingkungan produksi, spesifikasi bergantung pada kebutuhan aktual Anda. Jika Anda perlu menggunakan node GPU, konfigurasikan node GPU tersebut.
Untuk informasi selengkapnya tentang tipe instans yang didukung oleh ECS, lihat Family instans.
Anda telah terhubung ke kluster Kubernetes menggunakan kubectl dan telah menginstal kubectl di komputer Anda. Untuk informasi selengkapnya, lihat Dapatkan file KubeConfig kluster dan sambungkan ke kluster menggunakan kubectl.
Instal KubeRay
Masuk ke Konsol Container Service for Kubernetes (ACK). Di panel navigasi sebelah kiri, klik Clusters. Klik nama kluster tersebut. Pada halaman detail kluster, klik berturut-turut Operations > Add-ons > Application Management > Click to Install Kuberay-Operator seperti yang ditunjukkan pada gambar berikut untuk menginstal komponen Kuberay-Operator untuk kluster tersebut.
Kuberay-Operator sedang dalam pratinjau undangan. Untuk menggunakan Kuberay-Operator, kirim tiket.

Aktifkan pengumpulan log untuk KubeRay
Buka halaman detail kluster dan pilih Operations > Log Center > Control Plane Component Logs > Enable Component Log Collection.
Pilih kuberay-operator dari daftar drop-down.
Aktifkan pengumpulan log untuk kluster Ray
Anda dapat mengintegrasikan Simple Log Service dengan kluster Ray untuk menyimpan log secara persisten.
Jalankan perintah berikut untuk membuat objek AliyunLogConfig global guna mengaktifkan komponen Logtail di kluster ACK agar mengumpulkan log yang dihasilkan oleh pod kluster Ray dan mengirimkannya ke proyek Simple Log Service.
Parameter
Deskripsi
logPathMengumpulkan semua log di direktori
/tmp/ray/session_*-*-*_*/logspod. Anda dapat menentukan jalur kustom.advanced.k8s.ExternalK8sLabelTagMenambahkan tag ke log yang dikumpulkan untuk memudahkan pengambilan. Secara default, tag
_raycluster_name_dan_node_type_ditambahkan.Untuk informasi selengkapnya tentang parameter AliyunLogConfig, lihat Gunakan CRD untuk mengumpulkan log kontainer dalam mode DaemonSet. Simple Log Service adalah layanan berbayar. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.
Lihat log yang dikumpulkan dari kluster Ray.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters. Klik nama kluster yang ingin Anda kelola. Pada halaman detail kluster, ikuti petunjuk pada gambar berikut secara berurutan. Pilih Cluster Information > Basic Information > Cluster Resources. Lalu, klik tautan di sebelah kanan Log Service Project untuk membuka halaman detail SLS Project.

Pilih Logstore yang sesuai dengan
rayclustersdan lihat konten log tersebut.Anda dapat melihat log dari kluster Ray yang berbeda berdasarkan tag, seperti
_raycluster_name_.
Aktifkan pemantauan untuk kluster Ray
Anda dapat mengaktifkan Managed Service for Prometheus untuk kluster Ray. Untuk informasi selengkapnya tentang Managed Service for Prometheus, lihat Gunakan Managed Service for Prometheus. Untuk informasi selengkapnya tentang penagihan Managed Service for Prometheus, lihat Penagihan instans Managed Service for Prometheus.
Buat PodMonitor dan ServiceMonitor untuk mengumpulkan metrik dari kluster Ray.
Jalankan perintah berikut untuk membuat PodMonitor:
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: annotations: arms.prometheus.io/discovery: 'true' arms.prometheus.io/resource: arms name: ray-workers-monitor namespace: arms-prom labels: # `release: $HELM_RELEASE`: Prometheus hanya dapat mendeteksi PodMonitor dengan label ini. release: prometheus #ray.io/cluster: raycluster-kuberay # $RAY_CLUSTER_NAME: "kubectl get rayclusters.ray.io" spec: namespaceSelector: any: true jobLabel: ray-workers # Hanya memilih Pod Kubernetes dengan "matchLabels". selector: matchLabels: ray.io/node-type: worker # Daftar titik akhir yang diizinkan sebagai bagian dari PodMonitor ini. podMetricsEndpoints: - port: metrics relabelings: - action: replace regex: (.+) replacement: $1 separator: ; sourceLabels: - __meta_kubernetes_pod_label_ray_io_cluster targetLabel: ray_io_clusterJalankan perintah berikut untuk membuat ServiceMonitor:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: annotations: arms.prometheus.io/discovery: 'true' arms.prometheus.io/resource: arms name: ray-head-monitor namespace: arms-prom labels: # `release: $HELM_RELEASE`: Prometheus hanya dapat mendeteksi ServiceMonitor dengan label ini. release: prometheus spec: namespaceSelector: any: true jobLabel: ray-head # Hanya memilih Layanan Kubernetes dengan "matchLabels". selector: matchLabels: ray.io/node-type: head # Daftar titik akhir yang diizinkan sebagai bagian dari ServiceMonitor ini. endpoints: - port: metrics path: /metrics targetLabels: - ray.io/clusterMasuk ke konsol Application Real-Time Monitoring Service (ARMS) dan lihat informasi integrasi resource.
Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, klik Integration Center. Pada halaman Infrastructure, seperti yang ditunjukkan pada gambar berikut, masukkan Ray di kotak pencarian (②), lalu klik Ray (③). Kemudian, di panel Ray Observability, pilih kluster yang telah Anda buat dan klik OK.

Setelah kluster ACK diintegrasikan dengan Managed Service for Prometheus, klik Integration Management untuk membuka halaman Manajemen Integrasi ARMS. Pada tab Component Management, klik Component Type di bagian Dashboards, lalu klik Ray Cluster.

Di dasbor, tentukan Namespace, RayClusterName, dan SessionName untuk memfilter data pemantauan tugas yang berjalan di kluster Ray.
