AI Platform Pipelines memudahkan Anda memulai Kubeflow Pipelines dengan TensorFlow Extended di Google Kubernetes Engine dengan menghemat kesulitan:
- Membuat cluster GKE
- Men-deploy Kubeflow Pipeline ke cluster GKE Anda
- Membuat bucket Cloud Storage yang akan digunakan untuk menyimpan artefak pipeline
Jika ingin, Anda dapat menggunakan AI Platform Pipelines untuk men-deploy Kubeflow Pipelines pada cluster yang sudah ada dan belum menginstal Kubeflow Pipelines. Gunakan panduan ini untuk memastikan cluster Anda dikonfigurasi dengan benar untuk men-deploy dan menjalankan Kubeflow Pipelines.
Pastikan 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 sesuai:
- Cluster Anda harus memiliki minimal 3 node. Setiap node harus memiliki minimal 2 CPU dan memori sebesar 4 GB.
- Cakupan akses cluster harus memberikan akses penuh ke semua Cloud API, atau cluster Anda harus menggunakan akun layanan kustom.
- Kubeflow Pipelines belum diinstal di cluster.
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 New instance. 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 tercantum sebagai Cluster yang tidak memenuhi syarat. Setiap cluster yang tidak memenuhi syarat menyertakan deskripsi mengapa 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 untuk cluster Anda.
- Cakupan OAuth tidak memadai: Cluster Anda tidak memiliki akses yang memadai ke resource dan API Google Cloud untuk menginstal Kubeflow Pipeline. Berikan lebih banyak izin ke cluster Anda.
Alokasikan lebih banyak resource untuk cluster GKE Anda
Untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace ke cluster GKE yang ada, cluster Anda harus memiliki minimal 3 node dengan 2 CPU dan penyimpanan sebesar 4 GB.
Gunakan petunjuk berikut untuk mengganti kumpulan node di cluster Anda dengan 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 kumpulan node baru akan terbuka.
Berikan informasi berikut ke formulir Tambahkan kumpulan node baru.
- Jumlah node: Tentukan jumlah node dalam kumpulan node 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 kumpulan node. 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 bagian Cakupan akses.
Jika tidak, konfigurasikan kumpulan node sesuai keinginan. Pelajari lebih lanjut cara menambahkan kumpulan node ke cluster.
Klik Create node pool. Pembuatan kumpulan node memerlukan waktu beberapa menit untuk diselesaikan.
Untuk setiap kumpulan node di bagian Kumpulan node, kecuali untuk kumpulan node yang Anda buat di langkah sebelumnya, klik
hapus. Dialog Delete a node pool akan muncul untuk mengonfirmasi bahwa Anda ingin menghapus kumpulan node ini.Klik Delete. Menghapus kumpulan node memerlukan waktu beberapa menit.
Setelah Anda menghapus kumpulan node lama, periksa apakah cluster Anda memiliki resource dan akses yang memadai untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace.
Memberikan akses cluster GKE ke resource dan API Google Cloud
Ada tiga cara untuk memberi pipeline ML Anda akses ke resource dan API Google Cloud:
- Beri cluster Google Kubernetes Engine akses penuh ke semua Google Cloud API. Pelajari cara mengonfigurasi cluster dengan akses penuh ke resource Google Cloud di project Anda.
- Beri cluster Google Kubernetes Engine akses terperinci ke Google Cloud API menggunakan akun layanan. Pelajari cara mengonfigurasi cluster Anda dengan akses terperinci ke resource Google Cloud.
- Memberi cluster GKE akses untuk menggunakan akun layanan yang disimpan sebagai secret Kubernetes. Pelajari lebih lanjut cara memberi pipeline Anda akses ke resource Google Cloud dengan rahasia Kubernetes.
Saat men-deploy Pipeline AI Platform, Anda harus memberi cluster GKE akses penuh ke resource dan API Google Cloud atau memberi cluster Anda akses ke Google Cloud menggunakan akun layanan.
Mengonfigurasi cluster GKE Anda dengan akses penuh ke Google Cloud API
Untuk memudahkan pipeline ML Anda dan beban kerja cluster GKE lainnya dalam mengakses resource Google Cloud project Anda, konfigurasikan cluster Anda 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 Anda. Jika pemberian cakupan akses ini memberikan akses berlebihan ke Google Cloud, konfigurasikan akses terperinci menggunakan akun layanan.
Gunakan petunjuk berikut untuk mengganti node pool cluster Anda dengan node yang memungkinkan semua workload 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 kumpulan node baru akan terbuka.
Berikan informasi berikut ke formulir Tambahkan kumpulan node baru.
- Jumlah node: Tentukan jumlah node dalam kumpulan node 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 kumpulan node. 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 bagian Cakupan akses.
Jika tidak, konfigurasikan kumpulan node sesuai keinginan. Pelajari lebih lanjut cara menambahkan kumpulan node ke cluster.
Klik Create node pool. Pembuatan kumpulan node memerlukan waktu beberapa menit untuk diselesaikan.
Untuk setiap kumpulan node di bagian Kumpulan node, kecuali untuk kumpulan node yang Anda buat di langkah sebelumnya, klik
hapus. Dialog Delete a node pool akan muncul untuk mengonfirmasi bahwa Anda ingin menghapus kumpulan node ini.Klik Delete. Menghapus kumpulan node memerlukan waktu beberapa menit.
Setelah Anda 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 Anda dengan akses terperinci ke Google Cloud API
Gunakan petunjuk berikut untuk mengonfigurasi akun layanan untuk cluster GKE dan mengganti kumpulan node cluster dengan node yang menggunakan akun layanan Anda. Dengan membuat akun layanan, Anda dapat mengelola secara terperinci resource Google Cloud mana yang dapat diakses workload di cluster Anda. Sebelum mengubah cluster GKE, diskusikan perubahan ini dengan administrator GKE.
Buka sesi Cloud Shell.
Cloud Shell akan terbuka dalam frame di bagian bawah Konsol Google Cloud.
Jalankan perintah berikut di Cloud Shell untuk membuat akun layanan Anda dan memberinya 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 semua resource atau API Google Cloud yang diperlukan pipeline ML Anda. Pelajari peran Pengelolaan Akses dan Identitas serta cara mengelola akun layanan lebih lanjut.
Berikan peran Service Account User (
iam.serviceAccountUser
) untuk akun pengguna Anda di akun layanan tersebut.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 kumpulan node baru akan terbuka.
Berikan informasi berikut ke formulir Tambahkan kumpulan node baru.
- Jumlah node: Tentukan jumlah node dalam kumpulan node 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 kumpulan node. Pilih jenis mesin dengan minimal 2 CPU dan memori 4 GB, seperti
n1-standard-2
.Akun layanan: Pilih akun layanan yang Anda buat di langkah sebelumnya.
Jika tidak, konfigurasikan kumpulan node sesuai keinginan. Pelajari lebih lanjut cara menambahkan kumpulan node ke cluster.
Klik Create node pool. Pembuatan kumpulan node memerlukan waktu beberapa menit untuk diselesaikan.
Untuk setiap kumpulan node di bagian Kumpulan node, kecuali untuk kumpulan node yang Anda buat di langkah sebelumnya, klik
hapus. Dialog Delete a node pool akan muncul untuk mengonfirmasi bahwa Anda ingin menghapus kumpulan node ini.Klik Delete. Menghapus kumpulan node memerlukan waktu beberapa menit.
Setelah Anda menghapus kumpulan node lama, periksa apakah cluster Anda memiliki resource dan akses yang memadai untuk menginstal Kubeflow Pipelines dari Google Cloud Marketplace.
Gunakan rahasia Kubernetes untuk memberi cluster Anda akses ke resource dan API Google Cloud
Pipeline yang dikembangkan menggunakan operator use_gcp_secret
di
Kubeflow Pipelines SDK akan melakukan autentikasi ke
resource Google Cloud menggunakan secret Kubernetes.
Gunakan petunjuk ini untuk membuat akun layanan, memberi akun tersebut akses ke resource yang digunakan oleh pipeline Anda, lalu tambahkan akun layanan tersebut ke cluster Anda sebagai rahasia 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 frame di bagian bawah Konsol Google Cloud. Gunakan Cloud Shell untuk menyelesaikan proses ini.
Setel 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 tempat Kubeflow Pipelines diinstal.
Namespace digunakan untuk mengelola resource di 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 untuk 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 memberi akun layanan Anda akses ke resource Google Cloud, ikat peran Identity and Access Management ke akun layanan. Gunakan petunjuk berikut untuk memberikan peran IAM ke akun layanan Anda. Panggil perintah ini sekali untuk setiap peran yang ingin diberikan ke akun layanan Anda.
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 di 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
agar 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