AI Platform Pipelines memudahkan Anda memulai Kubeflow Pipelines dengan TensorFlow Extended di Google Kubernetes Engine dengan menghemat kesulitan:
- Membuat cluster GKE
- Men-deploy Kubeflow Pipelines ke cluster GKE
- Membuat bucket Cloud Storage yang akan digunakan untuk menyimpan artefak pipeline
Jika mau, Anda dapat menggunakan AI Platform Pipelines untuk men-deploy Kubeflow Pipelines di cluster yang ada yang belum menginstal Kubeflow Pipelines. Gunakan panduan ini untuk memastikan bahwa cluster Anda dikonfigurasi dengan benar untuk men-deploy dan menjalankan Kubeflow Pipelines.
Memastikan cluster GKE Anda memiliki resource yang cukup untuk AI Platform Pipelines
Untuk menggunakan Google Cloud Marketplace guna men-deploy Kubeflow Pipelines di cluster GKE, hal berikut harus benar:
- Cluster Anda harus memiliki minimal 3 node. Setiap node harus memiliki minimal 2 CPU dan memori 4 GB yang tersedia.
- Cakupan akses cluster harus memberikan akses penuh ke semua Cloud API, atau cluster Anda harus menggunakan akun layanan kustom.
- Cluster tidak boleh sudah menginstal Kubeflow Pipelines.
Gunakan petunjuk berikut untuk memeriksa apakah cluster Anda memiliki resource yang memadai untuk menginstal AI Platform Pipelines.
Buka AI Platform Pipelines di konsol Google Cloud.
Di toolbar AI Platform Pipelines, klik Instance baru. Kubeflow Pipelines akan terbuka di Google Cloud Marketplace.
Klik Konfigurasikan. Formulir Deploy Kubeflow Pipelines akan terbuka.
Klik Cluster untuk meluaskan daftar. Cluster GKE yang tidak memiliki resource atau izin yang memadai akan dicantumkan sebagai Cluster yang tidak memenuhi syarat. Setiap cluster yang tidak memenuhi syarat menyertakan deskripsi alasan Kubeflow Pipelines tidak dapat diinstal, seperti:
- Cluster tidak sesuai dengan aplikasi: Cluster Anda tidak memiliki resource yang memadai untuk menginstal Kubeflow Pipelines. Alokasikan lebih banyak resource ke cluster Anda.
- Cakupan OAuth tidak memadai: Cluster Anda tidak memiliki akses yang memadai ke resource dan API Google Cloud untuk menginstal Kubeflow Pipelines. Berikan lebih banyak izin ke cluster Anda.
Mengalokasikan lebih banyak resource ke cluster GKE
Untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace ke cluster GKE yang ada, cluster Anda harus memiliki minimal 3 node dengan 2 CPU dan 4 GB yang tersedia.
Gunakan petunjuk berikut untuk mengganti node pool di cluster Anda dengan node pool yang memiliki resource CPU dan memori yang cukup untuk AI Platform Pipelines.
Buka cluster Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster Anda. Detail cluster akan muncul.
Di toolbar GKE, klik Add node pool. Formulir Tambahkan node pool baru akan terbuka.
Berikan informasi berikut ke formulir Tambahkan node pool baru.
- Jumlah node: Tentukan jumlah node dalam node pool Anda. Cluster Anda harus memiliki 3 node atau lebih untuk menginstal Kubeflow Pipelines menggunakan Google Cloud Marketplace.
Jenis mesin: Tentukan jenis mesin Compute Engine yang akan digunakan untuk instance di node pool. Pilih jenis mesin dengan minimal 2 CPU dan memori 4 GB, seperti
n1-standard-2
.Cakupan akses: Klik Izinkan akses penuh ke semua Cloud API di Cakupan akses.
Jika tidak, konfigurasikan node pool Anda sesuai keinginan. Pelajari lebih lanjut cara menambahkan node pool ke cluster.
Klik Create node pool. Pembuatan kumpulan node memerlukan waktu beberapa menit hingga selesai.
Untuk setiap node pool di bagian Node pools, kecuali untuk node pool yang Anda buat di langkah sebelumnya, klik
delete. Dialog Hapus kumpulan node akan muncul untuk mengonfirmasi bahwa Anda ingin menghapus kumpulan node ini.Klik Hapus. Penghapusan kumpulan node memerlukan waktu beberapa menit.
Setelah menghapus kumpulan node lama, periksa apakah cluster Anda memiliki resource dan akses yang memadai untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace.
Memberikan akses ke resource dan API Google Cloud ke cluster GKE Anda
Ada tiga cara untuk memberikan akses ke resource dan API Google Cloud kepada pipeline ML Anda:
- Berikan cluster Google Kubernetes Engine Anda akses penuh ke semua Google Cloud API. Pelajari cara mengonfigurasi cluster dengan akses penuh ke resource Google Cloud dalam project Anda.
- Berikan akses terperinci cluster Google Kubernetes Engine Anda ke Google Cloud API menggunakan akun layanan. Pelajari cara mengonfigurasi cluster Anda dengan akses terperinci ke resource Google Cloud.
- Berikan akses cluster GKE Anda untuk menggunakan akun layanan yang disimpan sebagai secret Kubernetes. Pelajari lebih lanjut cara memberikan akses ke resource Google Cloud dengan secret Kubernetes.
Saat men-deploy AI Platform Pipelines, Anda harus memberikan akses penuh ke resource dan API Google Cloud ke cluster GKE atau memberikan akses ke Google Cloud menggunakan akun layanan.
Mengonfigurasi cluster GKE dengan akses penuh ke Google Cloud API
Untuk memudahkan pipeline ML dan beban kerja cluster GKE
lainnya mengakses resource Google Cloud project Anda, konfigurasikan
cluster ke cakupan akses
https://www.googleapis.com/auth/cloud-platform
. Cakupan akses ini memberikan akses penuh ke resource dan API Google Cloud yang telah Anda aktifkan di project. Jika memberikan cakupan akses ini
memberikan akses berlebihan ke Google Cloud, konfigurasi akses terperinci menggunakan
akun layanan.
Gunakan petunjuk berikut untuk mengganti kumpulan node cluster dengan kumpulan node yang memungkinkan semua beban kerja di cluster ini mengakses semua Google Cloud API yang diaktifkan di project Anda. Sebelum mengubah cluster GKE, diskusikan perubahan ini dengan administrator GKE Anda.
Buka cluster Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster Anda. Detail cluster akan muncul.
Di toolbar GKE, klik Add node pool. Formulir Tambahkan node pool baru akan terbuka.
Berikan informasi berikut ke formulir Tambahkan node pool baru.
- Jumlah node: Tentukan jumlah node dalam node pool Anda. Cluster Anda harus memiliki 3 node atau lebih untuk menginstal Kubeflow Pipelines menggunakan Google Cloud Marketplace.
Jenis mesin: Tentukan jenis mesin Compute Engine yang akan digunakan untuk instance di node pool. Pilih jenis mesin dengan minimal 2 CPU dan memori 4 GB, seperti
n1-standard-2
.Cakupan akses: Klik Izinkan akses penuh ke semua Cloud API di Cakupan akses.
Jika tidak, konfigurasikan node pool Anda sesuai keinginan. Pelajari lebih lanjut cara menambahkan node pool ke cluster.
Klik Create node pool. Pembuatan kumpulan node memerlukan waktu beberapa menit hingga selesai.
Untuk setiap node pool di bagian Node pools, kecuali untuk node pool yang Anda buat di langkah sebelumnya, klik
delete. Dialog Hapus kumpulan node akan muncul untuk mengonfirmasi bahwa Anda ingin menghapus kumpulan node ini.Klik Hapus. Penghapusan kumpulan node memerlukan waktu beberapa menit.
Setelah menghapus kumpulan node lama, periksa apakah cluster Anda memiliki resource dan akses yang memadai untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace.
Mengonfigurasi cluster GKE dengan akses terperinci ke Google Cloud API
Gunakan petunjuk berikut untuk mengonfigurasi akun layanan untuk cluster GKE dan mengganti node pool cluster dengan node pool yang menggunakan akun layanan Anda. Dengan membuat akun layanan, Anda dapat mengelola resource Google Cloud mana yang dapat diakses oleh workload di cluster secara terperinci. Sebelum mengubah cluster GKE, diskusikan perubahan ini dengan administrator GKE Anda.
Buka sesi Cloud Shell.
Cloud Shell akan terbuka dalam bingkai di bagian bawah konsol Google Cloud.
Jalankan perintah berikut di Cloud Shell untuk membuat akun layanan dan memberikan akses yang memadai untuk menjalankan AI Platform Pipelines. Pelajari lebih lanjut peran yang diperlukan untuk menjalankan AI Platform Pipelines dengan akun layanan yang dikelola pengguna.
export PROJECT=PROJECT_ID
export SERVICE_ACCOUNT=SERVICE_ACCOUNT_NAME
gcloud iam service-accounts create $SERVICE_ACCOUNT \ --display-name=$SERVICE_ACCOUNT \ --project=$PROJECT
gcloud projects add-iam-policy-binding $PROJECT \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT.iam.gserviceaccount.com" \ --role=roles/logging.logWriter
gcloud projects add-iam-policy-binding $PROJECT \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT.iam.gserviceaccount.com" \ --role=roles/monitoring.metricWriter
gcloud projects add-iam-policy-binding $PROJECT \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT.iam.gserviceaccount.com" \ --role=roles/monitoring.viewer
gcloud projects add-iam-policy-binding $PROJECT \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT.iam.gserviceaccount.com" \ --role=roles/storage.objectViewer
Ganti kode berikut:
- SERVICE_ACCOUNT_NAME: Nama akun layanan yang akan dibuat.
- PROJECT_ID: Project Google Cloud tempat akun layanan dibuat.
Beri akun layanan Anda akses ke resource atau API Google Cloud apa pun yang diperlukan pipeline ML Anda. Pelajari lebih lanjut peran Identity and Access Management dan cara mengelola akun layanan.
Berikan peran Service Account User (
iam.serviceAccountUser
) kepada akun pengguna Anda di akun layanan.gcloud iam service-accounts add-iam-policy-binding \ "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --member=user:USERNAME \ --role=roles/iam.serviceAccountUser
Ganti kode berikut:
- SERVICE_ACCOUNT_NAME: Nama akun layanan Anda.
- PROJECT_ID: Project Google Cloud Anda.
- USERNAME: Nama pengguna Anda di Google Cloud.
Buka cluster Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster Anda. Detail cluster akan muncul.
Di toolbar GKE, klik Add node pool. Formulir Tambahkan node pool baru akan terbuka.
Berikan informasi berikut ke formulir Tambahkan node pool baru.
- Jumlah node: Tentukan jumlah node dalam node pool Anda. Cluster Anda harus memiliki 3 node atau lebih untuk menginstal Kubeflow Pipelines menggunakan Google Cloud Marketplace.
Jenis mesin: Tentukan jenis mesin Compute Engine yang akan digunakan untuk instance di node pool. Pilih jenis mesin dengan minimal 2 CPU dan memori 4 GB, seperti
n1-standard-2
.Service account: Pilih akun layanan yang Anda buat di langkah sebelumnya.
Jika tidak, konfigurasikan node pool Anda sesuai keinginan. Pelajari lebih lanjut cara menambahkan node pool ke cluster.
Klik Create node pool. Pembuatan kumpulan node memerlukan waktu beberapa menit hingga selesai.
Untuk setiap node pool di bagian Node pools, kecuali untuk node pool yang Anda buat di langkah sebelumnya, klik
delete. Dialog Hapus kumpulan node akan muncul untuk mengonfirmasi bahwa Anda ingin menghapus kumpulan node ini.Klik Hapus. Penghapusan kumpulan node memerlukan waktu beberapa menit.
Setelah menghapus kumpulan node lama, periksa apakah cluster Anda memiliki resource dan akses yang memadai untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace.
Menggunakan secret Kubernetes untuk memberikan akses cluster ke resource dan API Google Cloud
Pipeline yang dikembangkan menggunakan operator use_gcp_secret
di Kubeflow Pipelines SDK mengautentikasi ke resource Google Cloud menggunakan secret Kubernetes.
Gunakan petunjuk ini untuk membuat akun layanan, memberikan akses akun ke resource yang digunakan oleh pipeline, lalu tambahkan akun layanan ke cluster sebagai secret Kubernetes.
Buka cluster Google Kubernetes Engine di Konsol Google Cloud.
Di baris untuk cluster Anda, temukan nama dan zona cluster.
Buka sesi Cloud Shell.
Cloud Shell akan terbuka dalam bingkai di bagian bawah konsol Google Cloud. Gunakan Cloud Shell untuk menyelesaikan proses ini.
Tetapkan variabel lingkungan berikut.
export PROJECT_ID=PROJECT_ID
export ZONE=ZONE
export CLUSTER=CLUSTER_NAME
export NAMESPACE=NAMESPACE
export SA_NAME=SERVICE_ACCOUNT_NAME
Ganti kode berikut:
- PROJECT_ID: Project Google Cloud tempat cluster GKE Anda dibuat.
- ZONE: Zona Google Cloud tempat cluster GKE Anda dibuat.
- CLUSTER_NAME: Nama cluster GKE Anda.
NAMESPACE: Namespace di cluster GKE Anda tempat Kubeflow Pipelines diinstal.
Namespace digunakan untuk mengelola resource dalam cluster Kubernetes yang besar. Jika cluster Anda tidak menggunakan namespace, masukkan default sebagai kubernetes-namespace.
SERVICE_ACCOUNT_NAME: Nama akun layanan yang akan dibuat untuk cluster Kubeflow Pipelines Anda guna mengakses resource dan API Google Cloud.
Buat akun layanan untuk cluster Anda.
gcloud iam service-accounts create $SA_NAME \ --display-name $SA_NAME --project "$PROJECT_ID"
Untuk memberikan akses ke resource Google Cloud ke akun layanan Anda, ikat peran Identity and Access Management ke akun layanan. Gunakan petunjuk berikut untuk memberikan peran IAM ke akun layanan Anda. Panggil perintah ini satu kali untuk setiap peran yang ingin Anda berikan ke akun layanan.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$SA_NAME@$PROJECT_ID.iam.gserviceaccount.com \ --role=iam-role
iam-role: Peran IAM yang akan diberikan ke akun layanan Anda. Misalnya, roles/storage.admin memberikan kontrol penuh atas bucket dan objek Cloud Storage dalam project Anda.
Untuk mempelajari peran IAM lebih lanjut, baca panduan untuk memahami peran IAM.
Buat kunci pribadi untuk akun layanan Anda di direktori saat ini.
gcloud iam service-accounts keys create ./service-account-key.json \ --iam-account $SA_NAME@$PROJECT_ID.iam.gserviceaccount.com
Konfigurasi
kubectl
untuk terhubung ke cluster Anda, lalu buat secret Kubernetes user-gcp-sa.gcloud container clusters get-credentials "$CLUSTER" --zone "$ZONE" \ --project "$PROJECT_ID"
kubectl create secret generic user-gcp-sa \ --from-file=user-gcp-sa.json=./service-account-key.json \ -n $NAMESPACE --dry-run -o yaml | kubectl apply -f -
Bersihkan kunci pribadi akun layanan.
rm ./service-account-key.json