Dalam posting ini, kami mendemonstrasikan Kubeflow di AWS (distribusi Kubeflow khusus AWS) dan nilai yang ditambahkannya melalui Kubeflow open-source melalui integrasi layanan AWS yang sangat dioptimalkan, cloud-native, dan siap untuk perusahaan.
Kubeflow adalah platform pembelajaran mesin (ML) sumber terbuka yang didedikasikan untuk membuat penerapan alur kerja ML di Kubernetes menjadi sederhana, portabel, dan skalabel. Kubeflow menyediakan banyak komponen, termasuk dasbor pusat, notebook Jupyter multi-pengguna, Kubeflow Pipelines, KFServing, dan Katib, serta operator pelatihan terdistribusi untuk TensorFlow, PyTorch, MXNet, dan XGBoost, untuk membangun alur kerja ML yang sederhana, skalabel, dan portabel .
AWS baru-baru ini meluncurkan Kubeflow v1.4 sebagai bagian dari distribusi Kubeflownya sendiri (disebut Kubeflow di AWS), yang menyederhanakan tugas ilmu data dan membantu membangun sistem ML yang sangat andal, aman, portabel, dan skalabel dengan pengurangan overhead operasional melalui integrasi dengan layanan terkelola AWS . Anda dapat menggunakan distribusi Kubeflow ini untuk membangun sistem ML di atas Layanan Amazon Elastic Kubernetes (Amazon EKS) untuk membangun, melatih, menyetel, dan menerapkan model ML untuk berbagai kasus penggunaan, termasuk visi komputer, pemrosesan bahasa alami, terjemahan ucapan, dan pemodelan keuangan.
Tantangan dengan Kubeflow sumber terbuka
Saat Anda menggunakan proyek Kubeflow open-source, proyek ini akan men-deploy semua bidang kontrol Kubeflow dan komponen bidang data pada node pekerja Kubernetes. Layanan komponen Kubeflow diterapkan sebagai bagian dari bidang kontrol Kubeflow, dan semua penerapan sumber daya yang terkait dengan Jupyter, pelatihan model, penyetelan, dan hosting diterapkan pada bidang data Kubeflow. Bidang kontrol dan bidang data Kubeflow dapat berjalan pada node pekerja Kubernetes yang sama atau berbeda. Posting ini berfokus pada komponen bidang kontrol Kubeflow, seperti yang diilustrasikan pada diagram berikut.
Model penerapan ini mungkin tidak memberikan pengalaman yang siap untuk perusahaan karena alasan berikut:
- Semua komponen infrastruktur angkat berat pesawat kontrol Kubeflow, termasuk database, penyimpanan, dan otentikasi, dikerahkan di node pekerja cluster Kubernetes itu sendiri. Ini membuatnya sulit untuk mengimplementasikan arsitektur desain bidang kontrol Kubeflow yang sangat tersedia dengan status persisten jika terjadi kegagalan node pekerja.
- Artefak yang dihasilkan bidang kontrol Kubeflow (seperti instans MySQL, log pod, atau penyimpanan MinIO) bertambah seiring waktu dan membutuhkan volume penyimpanan yang dapat diubah ukurannya dengan kemampuan pemantauan berkelanjutan untuk memenuhi permintaan penyimpanan yang terus meningkat. Karena bidang kontrol Kubeflow berbagi sumber daya dengan beban kerja bidang data Kubeflow (misalnya, untuk tugas pelatihan, jalur pipa, dan penerapan), ukuran dan penskalaan cluster dan volume penyimpanan Kubernetes yang tepat dapat menjadi tantangan dan mengakibatkan peningkatan biaya operasional.
- Kubernetes membatasi ukuran file log, dengan sebagian besar penginstalan mempertahankan batas terbaru 10 MB. Secara default, pod log menjadi tidak dapat diakses setelah mencapai batas atas ini. Log juga dapat menjadi tidak dapat diakses jika pod dikeluarkan, mengalami crash, dihapus, atau dijadwalkan pada node yang berbeda, yang dapat memengaruhi ketersediaan log aplikasi dan kemampuan pemantauan Anda.
Kubeflow di AWS
Kubeflow di AWS menyediakan jalur yang jelas untuk menggunakan Kubeflow, dengan layanan AWS berikut:
- Penyeimbang Beban Aplikasi untuk manajemen lalu lintas eksternal yang aman melalui HTTPS
- amazoncloudwatch untuk manajemen log yang persisten
- Kognito AWS untuk otentikasi pengguna dengan Transport Layer Security (TLS)
- Kontainer Pembelajaran Jauh AWS untuk gambar server notebook Jupyter yang sangat dioptimalkan
- Sistem File Amazon Elastis (Amazon EFS) atau Amazon FSx untuk Lustre untuk solusi penyimpanan file yang sederhana, skalabel, dan tanpa server untuk meningkatkan kinerja pelatihan
- Amazon EKS untuk klaster Kubernetes terkelola
- Layanan Database Relasional Amazon (Amazon RDS) untuk saluran pipa yang sangat skalabel dan penyimpanan metadata
- Manajer Rahasia AWS untuk melindungi rahasia yang diperlukan untuk mengakses aplikasi Anda
- Layanan Penyimpanan Sederhana Amazon (Amazon S3) untuk toko artefak pipa yang mudah digunakan
Integrasi layanan AWS dengan Kubeflow ini (seperti yang ditunjukkan dalam diagram berikut) memungkinkan kami untuk memisahkan bagian penting dari bidang kontrol Kubeflow dari Kubernetes, memberikan desain yang aman, skalabel, tangguh, dan hemat biaya.
Mari kita bahas manfaat dari setiap integrasi layanan dan solusinya seputar keamanan, menjalankan pipeline ML, dan penyimpanan.
Otentikasi aman pengguna Kubeflow dengan Amazon Cognito
Keamanan cloud di AWS adalah prioritas tertinggi, dan kami berinvestasi dalam mengintegrasikan keamanan Kubeflow secara erat langsung ke layanan keamanan tanggung jawab bersama AWS, seperti berikut ini:
- Application Load Balancer (ALB) untuk manajemen lalu lintas eksternal
- Manajer Sertifikat AWS (ACM) untuk mendukung TLS
- Peran IAM untuk akun layanan (IRSA) untuk kontrol akses halus di level Kubernetes Pod
- Layanan Manajemen Kunci AWS (AWS KMS) untuk manajemen kunci enkripsi data
- Perisai AWS untuk perlindungan DDoS
Di bagian ini, kami fokus pada integrasi bidang kontrol AWS Kubeflow dengan Amazon Cognito. Amazon Cognito menghilangkan kebutuhan untuk mengelola dan memelihara solusi Dex (open-source OpenID Connect (OIDC) asli yang didukung oleh LDAP lokal) untuk autentikasi pengguna dan mempermudah pengelolaan rahasia.
Anda juga dapat menggunakan Amazon Cognito untuk menambahkan pendaftaran pengguna, masuk, dan kontrol akses ke UI Kubeflow Anda dengan cepat dan mudah. Amazon Cognito menjangkau jutaan pengguna dan mendukung masuk dengan penyedia identitas sosial (IdP), seperti Facebook, Google, dan Amazon, dan IdP perusahaan melalui SAML 2.0. Ini mengurangi kerumitan dalam penyiapan Kubeflow Anda, membuatnya ramping secara operasional dan lebih mudah dioperasikan untuk mencapai isolasi multi-pengguna.
Mari kita lihat alur autentikasi multi-pengguna dengan integrasi Amazon Cognito, ALB, dan ACM dengan Kubeflow di AWS. Ada sejumlah komponen kunci sebagai bagian dari integrasi ini. Amazon Cognito dikonfigurasi sebagai IdP dengan callback autentikasi yang dikonfigurasi untuk merutekan permintaan ke Kubeflow setelah autentikasi pengguna. Sebagai bagian dari penyiapan Kubeflow, sumber daya ingress Kubernetes dibuat untuk mengelola lalu lintas eksternal ke layanan Istio Gateway. AWS ALB Ingress Controller menyediakan penyeimbang beban untuk ingress tersebut. Kita gunakan Amazon Route 53 untuk mengonfigurasi DNS publik untuk domain terdaftar dan membuat sertifikat menggunakan ACM untuk mengaktifkan autentikasi TLS di penyeimbang beban.
Diagram berikut menunjukkan alur kerja pengguna biasa untuk masuk ke Amazon Cognito dan dialihkan ke Kubeflow di namespace masing-masing.
Alur kerja berisi langkah-langkah berikut ini:
- Pengguna mengirimkan permintaan HTTPS ke dasbor pusat Kubeflow yang dihosting di belakang penyeimbang beban. Route 53 menyelesaikan FQDN ke catatan alias ALB.
- Jika cookie tidak ada, penyeimbang beban mengarahkan pengguna ke titik akhir otorisasi Amazon Cognito sehingga Amazon Cognito dapat mengautentikasi pengguna.
- Setelah pengguna diautentikasi, Amazon Cognito mengirim pengguna kembali ke penyeimbang beban dengan kode pemberian otorisasi.
- Penyeimbang beban menyajikan kode pemberian otorisasi ke titik akhir token Amazon Cognito.
- Setelah menerima kode pemberian otorisasi yang valid, Amazon Cognito memberikan token ID dan token akses ke load balancer.
- Setelah penyeimbang beban Anda berhasil mengautentikasi pengguna, ia mengirimkan token akses ke titik akhir info pengguna Amazon Cognito dan menerima klaim pengguna. Penyeimbang beban menandatangani dan menambahkan klaim pengguna ke header HTTP
x-amzn-oidc-*
dalam format permintaan token web JSON (JWT). - Permintaan dari load balancer dikirim ke pod Istio Ingress Gateway.
- Menggunakan filter utusan, Istio Gateway menerjemahkan kode
x-amzn-oidc-data
value, mengambil bidang email, dan menambahkan header HTTP khususkubeflow-userid
, yang digunakan oleh lapisan otorisasi Kubeflow. - Kebijakan kontrol akses berbasis sumber daya Istio diterapkan pada permintaan masuk untuk memvalidasi akses ke Dasbor Kubeflow. Jika salah satu dari itu tidak dapat diakses oleh pengguna, respons kesalahan dikirim kembali. Jika permintaan divalidasi, permintaan akan diteruskan ke layanan Kubeflow yang sesuai dan menyediakan akses ke Dasbor Kubeflow
Penyimpanan artefak dan metadata komponen Kubeflow dengan Amazon RDS dan Amazon S3
Kubeflow di AWS menyediakan integrasi dengan Layanan Database Relasional Amazon (Amazon RDS) di Kubeflow Pipelines dan AutoML (Katib) untuk penyimpanan metadata persisten, dan Amazon S3 di Kubeflow Pipelines untuk penyimpanan artefak persisten. Mari kita lanjutkan membahas Kubeflow Pipeline lebih detail.
Kubeflow Pipelines adalah platform untuk membangun dan menerapkan alur kerja ML yang portabel dan skalabel. Alur kerja ini dapat membantu mengotomatiskan pipeline ML yang kompleks menggunakan komponen Kubeflow bawaan dan kustom. Kubeflow Pipelines menyertakan Python SDK, kompiler DSL untuk mengonversi kode Python menjadi konfigurasi statis, layanan Pipelines yang menjalankan pipeline dari konfigurasi statis, dan satu set pengontrol untuk menjalankan container di dalam Kubernetes Pod yang diperlukan untuk menyelesaikan pipeline.
Metadata Kubeflow Pipelines untuk eksperimen dan proses pipeline disimpan di MySQL, dan artefak termasuk paket dan metrik pipeline disimpan di MinIO.
Seperti yang ditunjukkan pada diagram berikut, Kubeflow di AWS memungkinkan Anda menyimpan komponen berikut dengan layanan terkelola AWS:
- Metadata saluran pipa di Amazon RDS โ Amazon RDS menyediakan arsitektur penerapan Multi-AZ yang dapat diskalakan, sangat tersedia, dan andal dengan mekanisme failover otomatis bawaan dan kapasitas yang dapat diubah ukurannya untuk database relasional standar industri seperti MySQL. Ini mengelola tugas administrasi basis data umum tanpa perlu menyediakan infrastruktur atau memelihara perangkat lunak.
- Artefak saluran pipa di Amazon S3 โ Amazon S3 menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan di industri, dan dapat digunakan untuk memenuhi kebutuhan Anda. persyaratan kepatuhan.
Integrasi ini membantu memindahkan pengelolaan dan pemeliharaan metadata dan penyimpanan artefak dari Kubeflow yang dikelola sendiri ke layanan terkelola AWS, yang lebih mudah untuk disiapkan, dioperasikan, dan diskalakan.
Dukungan untuk sistem file terdistribusi dengan Amazon EFS dan Amazon FSx
Kubeflow dibangun di atas Kubernetes, yang menyediakan infrastruktur untuk pemrosesan data terdistribusi skala besar, termasuk pelatihan dan penyetelan model besar dengan jaringan dalam dengan jutaan atau bahkan miliaran parameter. Untuk mendukung sistem ML pemrosesan data terdistribusi tersebut, Kubeflow di AWS menyediakan integrasi dengan layanan penyimpanan berikut:
- Amazon EFS โ Sistem file terdistribusi berperforma tinggi, cloud-native, yang dapat Anda kelola melalui Driver CSI Amazon EFS. Amazon EFS menyediakan
ReadWriteMany
mode akses, dan sekarang Anda dapat menggunakannya untuk memasang ke dalam pod (Jupyter, pelatihan model, penyetelan model) yang berjalan di bidang data Kubeflow untuk menyediakan ruang kerja yang persisten, skalabel, dan dapat dibagikan yang secara otomatis bertambah dan menyusut saat Anda menambahkan dan menghapus file dengan tidak perlu manajemen. - Amazon FSx untuk Lustre โ Sistem file yang dioptimalkan untuk beban kerja intensif komputasi, seperti komputasi kinerja tinggi dan ML, yang dapat Anda kelola melalui Driver CSI Amazon FSx. FSx untuk Lustre menyediakan
ReadWriteMany
mode akses juga, dan Anda dapat menggunakannya untuk menyimpan data pelatihan dengan konektivitas langsung ke Amazon S3 sebagai penyimpanan cadangan, yang dapat Anda gunakan untuk mendukung server notebook Jupyter atau pelatihan terdistribusi yang berjalan di bidang data Kubeflow. Dengan konfigurasi ini, Anda tidak perlu mentransfer data ke sistem file sebelum menggunakan volume. FSx for Lustre memberikan latensi submilidetik yang konsisten dan konkurensi tinggi, dan dapat menskalakan hingga TB/dtk throughput dan jutaan IOPS.
Opsi penerapan Kubeflow
AWS menyediakan berbagai opsi penerapan Kubeflow:
- Penerapan dengan Amazon Cognito
- Penerapan dengan Amazon RDS dan Amazon S3
- Penerapan dengan Amazon Cognito, Amazon RDS, dan Amazon S3
- Penyebaran vanilla
Untuk detail tentang integrasi layanan dan add-on yang tersedia untuk setiap opsi ini, lihat Opsi Penerapan. Anda dapat menyesuaikan opsi yang paling sesuai dengan kasus penggunaan Anda.
Di bagian berikut, kami menelusuri langkah-langkah untuk menginstal distribusi AWS Kubeflow v1.4 di Amazon EKS. Kemudian kami menggunakan contoh pipeline XGBoost yang tersedia di dasbor UI pusat Kubeflow untuk mendemonstrasikan integrasi dan penggunaan AWS Kubeflow dengan Amazon Cognito, Amazon RDS, dan Amazon S3, dengan Secrets Manager sebagai add-on.
Prasyarat
Untuk penelusuran ini, Anda harus memiliki prasyarat berikut:
- An Akun AWS.
- Kluster Amazon EKS yang ada. Seharusnya Kubernetes versi 1.19 atau lebih tinggi. Untuk pembuatan cluster otomatis menggunakan ekstl, Lihat Buat Klaster Amazon EKS dan gunakan opsi eksctl.
Instal alat berikut di mesin klien yang digunakan untuk mengakses klaster Kubernetes Anda. Anda dapat gunakan AWS Cloud9, lingkungan pengembangan terintegrasi (IDE) berbasis cloud untuk penyiapan klaster Kubernetes.
- Antarmuka Baris Perintah AWS (AWS CLI) โ Alat baris perintah untuk berinteraksi dengan layanan AWS. Untuk petunjuk pemasangan, lihat Menginstal, memperbarui, dan menghapus AWS CLI.
- ekstl > 0.56 โ Alat baris perintah untuk bekerja dengan klaster Amazon EKS yang mengotomatiskan banyak tugas individu.
- kubectl โ Alat baris perintah untuk bekerja dengan cluster Kubernetes.
- git โ Perangkat lunak kontrol versi terdistribusi.
- Piton 3.8+ โ Lingkungan pemrograman Python.
- biji โ Manajer paket untuk Python.
- sesuaikan versi 3.2.0 โ Alat baris perintah untuk menyesuaikan objek Kubernetes melalui file kustomisasi.
Instal Kubeflow di AWS
Konfigurasikan kubectl agar Anda dapat terhubung ke klaster Amazon EKS:
Berbagai pengontrol dalam penerapan Kubeflow menggunakan Peran IAM untuk akun layanan (IRSA). Penyedia OIDC harus ada agar cluster Anda dapat menggunakan IRSA. Buat penyedia OIDC dan kaitkan dengannya untuk klaster Amazon EKS Anda dengan menjalankan perintah berikut, jika klaster Anda belum memilikinya:
Kloning repo manifes AWS dan Kubeflow manifes repo, dan periksa cabang rilis masing-masing:
Untuk informasi lebih lanjut tentang versi ini, lihat Rilis dan Versi.
Siapkan Amazon RDS, Amazon S3, dan Manajer Rahasia
Anda membuat sumber daya Amazon RDS dan Amazon S3 sebelum menerapkan manifes Kubeflow. Kami menggunakan skrip Python otomatis yang menangani pembuatan bucket S3, database RDS, dan rahasia yang diperlukan di Secrets Manager. Ini juga mengedit file konfigurasi yang diperlukan untuk pipeline Kubeflow dan AutoML agar dikonfigurasi dengan benar untuk database RDS dan bucket S3 selama penginstalan Kubeflow.
Buat pengguna IAM dengan izin untuk mengizinkan GetBucketLocation
dan akses baca dan tulis ke objek dalam bucket S3 tempat Anda ingin menyimpan artefak Kubeflow. Menggunakan AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
pengguna IAM dalam kode berikut:
Siapkan Amazon Cognito sebagai penyedia otentikasi
Di bagian ini, kami membuat domain khusus di Route 53 dan ALB untuk merutekan lalu lintas eksternal ke Kubeflow Istio Gateway. Kami menggunakan ACM untuk membuat sertifikat guna mengaktifkan autentikasi TLS di ALB dan Amazon Cognito untuk memelihara kumpulan pengguna dan mengelola autentikasi pengguna.
Substitusikan nilai-nilai berikut ke dalam
- route53.rootDomain.nama โ Domain terdaftar. Mari kita asumsikan domain ini adalah
example.com
. - rute53.rootDomain.hostedZoneId โ Jika domain Anda dikelola di Route53, masukkan ID zona yang dihosting yang ditemukan di bawah detail zona yang dihosting. Lewati langkah ini jika domain Anda dikelola oleh penyedia domain lain.
- route53.subDomain.nama โ Nama subdomain tempat Anda ingin menghosting Kubeflow (misalnya,
platform.example.com
). Untuk informasi lebih lanjut tentang subdomain, lihat Menerapkan Kubeflow dengan AWS Cognito sebagai IdP. - cluster.nama โ Nama cluster dan tempat Kubeflow di-deploy.
- cluster.wilayah โ Wilayah cluster tempat Kubeflow di-deploy (misalnya,
us-west-2
). - cognitoUserpool.nama โ Nama kumpulan pengguna Amazon Cognito (misalnya,
kubeflow-users
).
File konfigurasi terlihat seperti kode berikut:
Jalankan skrip untuk membuat sumber daya:
Skrip memperbarui config.yaml
file dengan nama sumber daya, ID, dan ARN yang dibuatnya. Itu terlihat seperti kode berikut:
Buat manifes dan terapkan Kubeflow
Deploy Kubeflow menggunakan perintah berikut:
Perbarui domain dengan alamat ALB
Deployment membuat penyeimbang beban aplikasi AWS yang dikelola ingress. Kami memperbarui entri DNS untuk subdomain di Route 53 dengan DNS penyeimbang beban. Jalankan perintah berikut untuk memeriksa apakah penyeimbang beban disediakan (ini membutuhkan waktu sekitar 3-5 menit):
Jika ADDRESS
bidang kosong setelah beberapa menit, periksa log alb-ingress-controller
. Untuk petunjuk, lihat ALB gagal menyediakan.
Saat penyeimbang beban disediakan, salin nama DNS penyeimbang beban dan gantikan alamatnya dengan kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. Bagian Kubeflow dari file konfigurasi terlihat seperti kode berikut:
Jalankan skrip berikut untuk memperbarui entri DNS untuk subdomain di Route 53 dengan DNS penyeimbang beban yang disediakan:
Penyelesaian masalah
Jika Anda mengalami masalah selama penginstalan, lihat panduan mengatasi masalah atau mulai segar dengan mengikuti bagian "Bersihkan" di blog ini.
Gunakan panduan kasus
Sekarang kita telah selesai menginstal komponen Kubeflow yang diperlukan, mari kita lihat mereka beraksi menggunakan salah satu contoh yang ada yang disediakan oleh Kubeflow Pipelines di dasbor.
Akses Dasbor Kubeflow menggunakan Amazon Cognito
Untuk memulai, mari dapatkan akses ke Dasbor Kubeflow. Karena kami menggunakan Amazon Cognito sebagai IdP, gunakan informasi yang disediakan di file README resmi. Kami pertama-tama membuat beberapa pengguna di konsol Amazon Cognito. Ini adalah pengguna yang akan masuk ke dasbor pusat. Berikutnya, buat profil untuk pengguna yang Anda buat. Maka Anda harus dapat mengakses dasbor melalui halaman login di https://kubeflow.platform.example.com.
Tangkapan layar berikut menunjukkan Dasbor Kubeflow kami.
Jalankan pipa
Di Dasbor Kubeflow, pilih Jaringan pipa dalam nama navigasi. Anda akan melihat empat contoh yang disediakan oleh Kubeflow Pipelines yang dapat Anda jalankan secara langsung untuk menjelajahi berbagai fitur Pipelines.
Untuk posting ini, kami menggunakan sampel XGBoost yang disebut [Demo] XGBoost โ Pelatihan model berulang. Anda dapat menemukan kode sumber di GitHub. Ini adalah pipa sederhana yang menggunakan yang ada XGBoost/Train
dan XGBoost/Predict
Komponen pipeline Kubeflow untuk melatih model secara iteratif hingga metrik dianggap baik berdasarkan metrik yang ditentukan.
Untuk menjalankan pipeline, selesaikan langkah-langkah berikut:
- Pilih pipa dan pilih Buat eksperimen.
- Bawah Detail eksperimen, masukkan nama (untuk posting ini,
demo-blog
) dan deskripsi opsional. - Pilih Selanjutnya.
- Bawah Jalankan detailpilih versi pipa dan pipa Anda.
- Untuk Jalankan nama, masukkan nama.
- Untuk Percobaan, pilih eksperimen yang Anda buat.
- Untuk Jalankan jenis, pilih Satu kali.
- Pilih Start.
Setelah pipeline mulai berjalan, Anda akan melihat komponen selesai (dalam beberapa detik). Pada tahap ini, Anda dapat memilih salah satu komponen yang sudah selesai untuk melihat detail lebih lanjut.
Akses artefak di Amazon S3
Saat menerapkan Kubeflow, kami menetapkan Kubeflow Pipelines harus menggunakan Amazon S3 untuk menyimpan artefaknya. Ini mencakup semua artefak keluaran saluran, proses cache, dan grafik saluranโsemuanya kemudian dapat digunakan untuk visualisasi yang kaya dan evaluasi kinerja.
Saat proses pipeline selesai, Anda seharusnya dapat melihat artefak di bucket S3 yang Anda buat selama penginstalan. Untuk mengonfirmasi hal ini, pilih komponen pipa yang sudah selesai dan centang Input / Output bagian pada default Grafik tab. URL artefak harus mengarah ke bucket S3 yang Anda tentukan selama penerapan.
Untuk mengonfirmasi bahwa sumber daya telah ditambahkan ke Amazon S3, kami juga dapat memeriksa bucket S3 di akun AWS kami melalui konsol Amazon S3.
Tangkapan layar berikut menunjukkan file kami.
Verifikasi metadata ML di Amazon RDS
Kami juga mengintegrasikan Kubeflow Pipelines dengan Amazon RDS selama penerapan, yang berarti bahwa semua metadata pipeline harus disimpan di Amazon RDS. Ini termasuk informasi runtime seperti status tugas, ketersediaan artefak, properti kustom yang terkait dengan proses atau artefak, dan banyak lagi.
Untuk memverifikasi integrasi Amazon RDS, ikuti langkah-langkah yang disediakan di file README resmi. Secara khusus, selesaikan langkah-langkah berikut:
- Dapatkan nama pengguna dan kata sandi Amazon RDS dari rahasia yang dibuat selama penginstalan:
- Gunakan kredensial ini untuk terhubung ke Amazon RDS dari dalam klaster:
- Ketika prompt MySQL terbuka, kami dapat memverifikasi
mlpipelines
basis data sebagai berikut: - Sekarang kita dapat membaca konten tabel tertentu, untuk memastikan bahwa kita dapat melihat informasi metadata tentang eksperimen yang menjalankan pipeline:
Membersihkan
Untuk mencopot pemasangan Kubeflow dan menghapus sumber daya AWS yang Anda buat, selesaikan langkah-langkah berikut:
- Hapus penyeimbang beban yang dikelola masuk dan masuk dengan menjalankan perintah berikut:
- Hapus sisa komponen Kubeflow:
- Hapus sumber daya AWS yang dibuat oleh skrip:
- Sumber daya yang dibuat untuk integrasi Amazon RDS dan Amazon S3. Pastikan Anda memiliki file konfigurasi yang dibuat oleh skrip di
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Sumber daya yang dibuat untuk integrasi Amazon Cognito. Pastikan Anda memiliki file konfigurasi yang dibuat oleh skrip di
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Sumber daya yang dibuat untuk integrasi Amazon RDS dan Amazon S3. Pastikan Anda memiliki file konfigurasi yang dibuat oleh skrip di
- Jika Anda membuat klaster Amazon EKS khusus untuk Kubeflow menggunakan eksctl, Anda dapat menghapusnya dengan perintah berikut:
Kesimpulan
Dalam posting ini, kami menyoroti nilai yang Kubeflow on AWS berikan melalui integrasi layanan asli yang dikelola AWS untuk beban kerja AI dan ML yang aman, skalabel, dan siap untuk perusahaan. Anda dapat memilih dari beberapa opsi penerapan untuk menginstal Kubeflow di AWS dengan berbagai integrasi layanan. Kasus penggunaan dalam posting ini menunjukkan integrasi Kubeflow dengan Amazon Cognito, Secrets Manager, Amazon RDS, dan Amazon S3. Untuk memulai Kubeflow di AWS, lihat opsi penerapan terintegrasi AWS yang tersedia di Kubeflow di AWS.
Dimulai dengan v1.3, Anda dapat mengikuti Repositori AWS Labs untuk melacak semua kontribusi AWS ke Kubeflow. Anda juga dapat menemukan kami di Saluran Kubeflow #AWS Slack; umpan balik Anda akan membantu kami memprioritaskan fitur berikutnya untuk berkontribusi pada proyek Kubeflow.
Tentang Penulis
Kanwaljit Khurmi adalah Arsitek Solusi Spesialis AI/ML di Amazon Web Services. Dia bekerja dengan produk, teknik, dan pelanggan AWS untuk memberikan panduan dan bantuan teknis yang membantu mereka meningkatkan nilai solusi ML hibrid mereka saat menggunakan AWS. Kanwaljit mengkhususkan diri dalam membantu pelanggan dengan aplikasi kemas dan pembelajaran mesin.
Meghna Baijal adalah Software Engineer dengan AWS AI yang memudahkan pengguna untuk memasukkan beban kerja Machine Learning mereka ke AWS dengan membangun produk dan platform ML seperti Deep Learning Containers, AMI Deep Learning, AWS Controllers for Kubernetes (ACK) dan Kubeflow di AWS . Di luar pekerjaan dia suka membaca, bepergian dan berkecimpung dalam lukisan.
Suraj Kota adalah Insinyur Perangkat Lunak yang berspesialisasi dalam infrastruktur Pembelajaran Mesin. Dia membuat alat untuk memulai dengan mudah dan menskalakan beban kerja pembelajaran mesin di AWS. Dia mengerjakan AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators for Kubernetes, dan integrasi open source lainnya seperti Kubeflow.
- Coinsmart. Pertukaran Bitcoin dan Crypto Terbaik Eropa.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. AKSES GRATIS.
- CryptoHawk. Radar Altcoin. Uji Coba Gratis.
- Sumber: https://aws.amazon.com/blogs/machine-learning/build-and-deploy-a-scalable-machine-learning-system-on-kubernetes-with-kubeflow-on-aws/
- "
- 10
- 100
- 420
- 7
- Tentang Kami
- mengakses
- Akun
- Tindakan
- Tambahan
- alamat
- admin
- administrasi
- Afiliasi
- AI
- Semua
- sudah
- Amazon
- Amazon Web Services
- Lain
- Aplikasi
- aplikasi
- sesuai
- arsitektur
- sekitar
- Menghubungkan
- dikonfirmasi
- mengotentikasi
- Otentikasi
- otorisasi
- mengotomatisasikan
- Otomatis
- mengotomatiskan
- tersedianya
- tersedia
- AWS
- menjadi
- Manfaat
- TERBAIK
- miliaran
- Blog
- batas
- membangun
- Bangunan
- membangun
- built-in
- kemampuan
- Kapasitas
- yang
- kasus
- CD
- sertifikat
- sertifikat
- menantang
- Pembayaran
- Pilih
- klaim
- kelas
- kode
- Umum
- menyelesaikan
- kompleks
- komponen
- komputer
- komputasi
- konfigurasi
- Terhubung
- Konektivitas
- konsul
- Wadah
- mengandung
- Konten
- terus
- menyumbang
- kontrol
- pengawas
- hak cipta
- bisa
- membuat
- dibuat
- menciptakan
- membuat
- penciptaan
- Surat kepercayaan
- kritis
- adat
- pelanggan
- dasbor
- data
- pengolahan data
- ilmu data
- Basis Data
- DDoS
- dedicated
- Permintaan
- mendemonstrasikan
- menunjukkan
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- penyebaran
- menyebarkan
- Mendesain
- rinci
- rincian
- Pengembangan
- dex
- berbeda
- langsung
- langsung
- membahas
- didistribusikan
- distribusi
- dns
- Tidak
- domain
- mudah
- mudah digunakan
- gema
- aktif
- enkripsi
- Titik akhir
- insinyur
- Teknik
- Enter
- Enterprise
- Lingkungan Hidup
- evaluasi
- Acara
- contoh
- ada
- pengalaman
- eksperimen
- menyelidiki
- Kegagalan
- Fitur
- umpan balik
- keuangan
- Pertama
- cocok
- aliran
- Fokus
- berfokus
- mengikuti
- berikut
- format
- ditemukan
- segar
- mendapatkan
- pergi
- GitHub
- baik
- Tumbuh
- Pertumbuhan
- membantu
- membantu
- membantu
- di sini
- High
- lebih tinggi
- Disorot
- sangat
- tuan
- HTTPS
- Hibrida
- identitas
- Dampak
- melaksanakan
- memperbaiki
- Inc
- termasuk
- Termasuk
- Pada meningkat
- sendiri-sendiri
- industri terkemuka
- Info
- informasi
- Infrastruktur
- install
- terpadu
- integrasi
- integrasi
- investasi
- isolasi
- masalah
- IT
- Diri
- Jobs
- pemeliharaan
- kunci
- Labs
- bahasa
- besar
- diluncurkan
- pengetahuan
- pengangkatan
- baris
- memuat
- lokal
- mesin
- Mesin belajar
- memelihara
- MEMBUAT
- Membuat
- mengelola
- berhasil
- pengelolaan
- manajer
- Metrik
- jutaan
- ML
- model
- model
- pemantauan
- lebih
- paling
- nama
- Alam
- Navigasi
- bersih
- jaringan
- node
- buku catatan
- jumlah
- Penawaran
- Buka
- open source
- membuka
- operator
- dioptimalkan
- pilihan
- Opsi
- Lainnya
- sendiri
- Kata Sandi
- prestasi
- Platform
- Platform
- Titik
- Kebijakan
- kolam
- menyajikan
- prioritas
- pengolahan
- Produk
- Produk
- Pemrograman
- proyek
- melindungi
- memberikan
- menyediakan
- menyediakan
- publik
- segera
- mencapai
- Bacaan
- alasan
- catatan
- terdaftar
- melepaskan
- permintaan
- wajib
- Persyaratan
- sumber
- Sumber
- tanggapan
- ISTIRAHAT
- Rute
- Run
- berjalan
- Skalabilitas
- terukur
- Skala
- skala
- Ilmu
- SDK
- SEC
- detik
- aman
- keamanan
- Tanpa Server
- layanan
- Layanan
- set
- penyiapan
- saham
- Tanda
- Sederhana
- Ukuran
- kendur
- tidur
- So
- Sosial
- Perangkat lunak
- Software Engineer
- padat
- larutan
- Solusi
- beberapa
- sesuatu
- kode sumber
- spesialis
- khusus
- spesialisasi
- Secara khusus
- Tahap
- awal
- mulai
- dimulai
- Negara
- Status
- penyimpanan
- menyimpan
- berhasil
- mendukung
- Mendukung
- sistem
- sistem
- tugas
- Teknis
- Sumber
- Melalui
- waktu
- token
- alat
- alat
- puncak
- jalur
- lalu lintas
- Pelatihan
- transfer
- Terjemahan
- mengangkut
- Perjalanan
- ui
- Memperbarui
- Pembaruan
- us
- menggunakan
- Pengguna
- divalidasi
- nilai
- variasi
- berbagai
- memeriksa
- penglihatan
- volume
- jaringan
- layanan web
- SIAPA
- dalam
- tanpa
- Kerja
- bekerja
- kerja
- bekerja