Dashboard Ray hanya tersedia saat kluster sedang berjalan. Setelah kluster dihentikan, pengguna tidak dapat mengakses log historis dan data pemantauan. Topik ini menjelaskan fitur HistoryServer RayCluster yang mengumpulkan log node secara real-time selama operasi kluster dan menyimpannya secara persisten di Object Storage Service (OSS), memungkinkan Anda untuk meninjau catatan historis bahkan setelah kluster didaur ulang.
Prasyarat
Setelah HistoryServer diaktifkan, PostStartHook dari pod yang dibuat oleh RayCluster akan ditimpa. Jika Anda ingin menggunakan PostStartHook, tambahkan skrip berikut. Skrip ini menulis
nodeidRay ke file/tmp/ray/init.log, sehingga sidecar HistoryServer Collector dapat membaca dan menggunakannya.
GetNodeId(){
while true;
do
nodeid=$(ps -ef | grep raylet | grep node_id | grep -v grep | grep -oP '(?<=--node_id=)[^ ]*' | tr -d '\n')
if [ -n "$nodeid" ]; then
echo "$(date) raylet started: \"$(ps -ef | grep raylet | grep node_id | grep -v grep | grep -oP '(?<=--node_id=)[^ ]*')\" => ${nodeid}" >> /tmp/ray/init.log
echo $nodeid > /tmp/ray/alibabacloud_raylet_node_id
break
else
echo "$(date) raylet not start >> /tmp/ray/init.log"
sleep 1
fi
done
}
GetNodeId
Setelah HistoryServer diaktifkan, ServiceAccount dari pod yang dibuat oleh RayCluster akan diganti. Aturan penamaan baru untuk ServiceAccount adalah
ServiceAccountPrefix-RayClusterName. Jika Anda ingin menggunakan ServiceAccount kustom, pastikan konfigurasinya sesuai dengan aturan pembuatan.Versi Kuberay yang diinstal harus lebih baru dari
1.2.1.5. Untuk informasi lebih lanjut, lihat Instal KubeRay di ACK.
1. Aktifkan fitur RRSA untuk kluster
Masuk ke Konsol ACK. Di panel navigasi sisi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel sisi kiri, klik Cluster Information.
Aktifkan fitur RAM Roles for Service Accounts (RRSA) OpenID Connect (OIDC) untuk kluster. Di halaman kluster, pilih Cluster Information > Basic Information > Keamanan dan Audit, lalu klik Aktifkan di sebelah parameter RRSA OIDC. Untuk informasi lebih lanjut tentang operasi tersebut, lihat Aktifkan selama pembuatan kluster.

2. Buat peran RRSA
Buat peran RRSA.
Masuk ke Konsol RAM sebagai administrator RAM.Di panel navigasi sisi kiri, pilih . Di halaman Roles, klik Create Role dan pilih Identity Provider sebagai tipe entitas tepercaya.
Tambahkan entitas utama.
Tipe Penyedia Identitas: Pilih kluster tempat RRSA OIDC diaktifkan.

Tambahkan kondisi.
Asosiasikan ServiceAccount tertentu. Setelah peran RRSA dibuat, asosiasikan peran RRSA dengan ServiceAccount tertentu di kluster.

Kondisi
Nilai
Kunci
oidc:subOperator
StringLikeNilai
system:serviceaccount:*:ray-historyserver*CatatanKarakter asterisk (*) mewakili karakter wildcard, dan <ray-historyserver> sesuai dengan serviceAccountPrefix dalam operasi selanjutnya.
ray-historyserver adalah bagian kustom yang harus sama dengan serviceAccountPrefix saat menginstal HistoryServer.
CatatanJika Anda menggunakan akun layanan kustom, Anda harus mengklik Add statement untuk menambahkan dua entitas utama dalam peran RRSA yang sama, serta menambahkan kondisi berikut untuk setiap entitas utama:
Entitas Utama 1: Penyedia Identitas
Kondisi
Nilai
Kunci
oidc:subOperator
StringEqualsNilai
system:serviceaccount:kuberay:ray-historyserverEntitas Utama 2: Penyedia Identitas
Kondisi
Nilai
Kunci
oidc:subOperator
StringLikeNilai
system:serviceaccount:*:rhs*
Dua akun layanan tersebut adalah
system:serviceaccount:kuberay:ray-historyserverdansystem:serviceaccount:*:rhs*, di mana rhs adalah bagian yang dapat dikustomisasi.
Tambahkan izin ke peran RRSA.
Tambahkan izin
AliyunARMSReadOnlyAccesske peran untuk akses baca-saja ke Application Real-Time Monitoring Service (ARMS).
Tambahkan izin
AliyunOSSFullAccesske peran untuk mengelola OSS. Langkah-langkahnya sama seperti di atas.PentingTopik ini memberikan peran izin OSS penuh. Dalam skenario nyata, kami sarankan Anda menggunakan otorisasi presisi untuk mengontrol ruang lingkup izin.
3. Buat aplikasi OAuth
Buat dan konfigurasikan aplikasi perusahaan OAuth.
PentingUntuk informasi lebih lanjut tentang cara terhubung ke HistoryServer melalui Internet, lihat Konfigurasikan akses Internet.
CatatanAlamat callback adalah:
http://localhost:8080/auth/callback.localhost:8080adalah nama domain HistoryServer, yang sesuai denganCallbackServiceNamedalam operasi selanjutnya dan harus ditentukan saat menginstal HistoryServer./auth/callbackadalah akhiran jalur tetap.Konfigurasikan aplikasi OAuth.
Tambahkan cakupan OAuth.
aliuid
Dapatkan UID Alibaba Cloud (RAM User atau ID Akun Alibaba).
profile
Dapatkan profil seperti nama pengguna pengguna. (Akses login akun utama mendapatkan nama login, dan login pengguna RAM mendapatkan nama prinsipal pengguna dan nama tampilan.)

Buat dan simpan Secret aplikasi OAuth.
PentingCatat Application ID dan AppSecretValue Anda, yang akan digunakan saat membuat Secret di namespace kuberay dalam operasi selanjutnya.
Hubungkan ke kluster dan buat Secret di namespace kuberay.
Untuk informasi lebih lanjut tentang cara terhubung ke kluster Container Service for Kubernetes (ACK), lihat Hubungkan ke kluster.
kubectl create ns kuberay kubectl create secret -n kuberay generic webapp-secret --from-literal=webapp-id="yours-AppID" --from-literal=webapp-secret=yours-AppSecretValueParameter
Deskripsi
webapp-secret
Nama Secret yang akan dibuat, yang dapat dikustomisasi.
webapp-id
ID aplikasi OAuth.
webapp-secret
AppSecretValue dari kunci OAuth.
4. Konfigurasikan parameter KubeRay
Instal komponen Kuberay.
Untuk informasi lebih lanjut, lihat Instal KubeRay.
Konfigurasikan parameter Kuberay-Operator.
Parameter
Deskripsi
Aktifkan HistoryServer
Pilih untuk mengaktifkan HistoryServer.
CallbackServiceName
Nama domain callback untuk autentikasi OAuth HistoryServer, yang harus sesuai dengan nama domain dalam alamat callback aplikasi OAuth. Misalnya, jika konfigurasi OAuth adalah http://xx.com/oauth/callback, maka atur parameter ini ke xx.com.
CloudRoleName
Nama peran RRSA yang terkait dengan HistoryServer.
OSSBucket
Nama bucket OSS yang digunakan oleh HistoryServer.
OSSEndPoint
Titik akhir bucket OSS yang digunakan oleh HistoryServer.
OSSHistoryServerRootDir
Direktori tempat HistoryServer menyimpan log dan metadata.
OSSRegion
Wilayah OSS yang digunakan oleh HistoryServer, seperti cn-hangzhou dan ap-southeast-1.
5. Buat RayCluster
Untuk mengaktifkan fitur HistoryServer dalam RayCluster, tambahkan anotasi ray.alibabacloud.com/enable-historyserver: "true" saat mengirimkan RayCluster. Berikut adalah contoh konfigurasi YAML.
6. Hubungkan ke HistoryServer
Hubungkan ke HistoryServer menggunakan localhost
Secara default, HistoryServer perlu diakses menggunakan port-forward. Buka jendela terminal dan jalankan perintah berikut:
kubectl -n kuberay port-forward svc/ray-history-server --address 0.0.0.0 8080:80Setelah dikonfigurasi, Anda dapat mengakses HistoryServer dengan mengunjungi localhost:8080 di browser Anda. Pada titik ini, Anda tidak dapat melihat data pemantauan di HistoryServer. Untuk melihat data pemantauan, Anda harus menjalankan perintah port-forward tambahan.
kubectl -n kuberay port-forward svc/ray-history-server --address 0.0.0.0 3000:3000Konfigurasikan akses Internet
Contoh ini untuk tujuan demonstrasi. Untuk keamanan data aplikasi Anda, kami sarankan Anda juga mengaktifkan fitur Kontrol Akses dalam lingkungan produksi.
Masuk ke Konsol ACK. Di panel navigasi sisi kiri, klik Clusters. Klik nama kluster yang ingin Anda kelola untuk masuk ke halaman detail kluster. Seperti yang ditunjukkan pada gambar berikut, konfigurasikan layanan internet sesuai dengan nomor urut. Atur alamat callback aplikasi OAuth ke layanan internet yang telah dibuat, dalam format http://${externalIP}/auth/callback. Untuk informasi lebih lanjut tentang pengaturan aplikasi OAuth secara rinci, lihat 3. Buat aplikasi OAuth.
