Membangun dan menyebarkan data dan alur pembelajaran mesin dengan Flyte di Azure Kubernetes Service (AKS)
Artikel ini menunjukkan cara menggunakan Flyte di Azure Kubernetes Service (AKS). Flyte adalah orkestrator alur kerja sumber terbuka yang menyatukan pembelajaran mesin, rekayasa data, dan tumpukan analitik data untuk membantu Anda membangun aplikasi yang kuat dan andal. Saat menggunakan Flyte sebagai alat otomatisasi alur kerja asli Kubernetes, Anda dapat fokus pada eksperimen dan memberikan nilai bisnis tanpa meningkatkan cakupan Anda ke infrastruktur dan manajemen sumber daya. Perlu diingat bahwa Flyte tidak didukung secara resmi oleh Microsoft, jadi gunakan dengan kebijakan Anda sendiri.
Untuk informasi selengkapnya, lihat Pengantar Flyte.
Penting
Perangkat lunak sumber terbuka disebutkan di seluruh dokumentasi dan sampel AKS. Perangkat lunak yang Anda sebarkan dikecualikan dari perjanjian tingkat layanan AKS, garansi terbatas, dan dukungan Azure. Saat Anda menggunakan teknologi sumber terbuka bersama AKS, konsultasikan opsi dukungan yang tersedia dari masing-masing komunitas dan pengelola proyek untuk mengembangkan rencana.
Misalnya, repositori Ray GitHub menjelaskan beberapa platform yang bervariasi dalam tingkat waktu respons, tujuan, dan dukungan.
Microsoft bertanggung jawab untuk membangun paket sumber terbuka yang kami sebarkan di AKS. Tanggung jawab itu termasuk memiliki kepemilikan lengkap atas proses build, pemindaian, tanda tangan, validasi, dan perbaikan, bersama dengan kontrol atas biner dalam gambar kontainer. Untuk informasi selengkapnya, lihat Manajemen kerentanan untuk cakupan dukungan AKS dan AKS.
Flyte dapat digunakan untuk berbagai kasus penggunaan, termasuk:
- Memberikan model untuk perhitungan keuangan laba dan rugi yang disederhanakan.
- Proses petabyte data untuk melakukan pemetaan 3D area baru secara efisien.
- Putar kembali dengan cepat ke versi sebelumnya dan minimalkan dampak bug di alur Anda.
Untuk informasi selengkapnya, lihat Kasus penggunaan Core Flyte.
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.
- Jika Anda memiliki beberapa langganan, pastikan Anda memilih langganan yang benar menggunakan
az account set --subscription <subscription-id>
perintah .
- Jika Anda memiliki beberapa langganan, pastikan Anda memilih langganan yang benar menggunakan
- Azure CLI diinstal dan dikonfigurasi. Periksa versi Anda menggunakan
az --version
perintah . Jika Anda perlu memasang atau meningkatkan, Pasang Azure CLI. - Helm CLI diinstal dan diperbarui. Periksa versi Anda menggunakan
helm version
perintah . Jika Anda perlu menginstal atau meningkatkan, lihat Menginstal Helm. kubectl
CLI diinstal dan diperbarui. Instal secara lokal menggunakanaz aks install-cli
perintah atau menggunakan Instal kubectl.- Lingkungan pengembangan Docker lokal. Untuk informasi selengkapnya, lihat Mendapatkan Docker.
flytekit
danflytectl
diinstal. Untuk informasi selengkapnya, lihat Penginstalan flyte.
Catatan
Jika Anda menggunakan Azure Cloud Shell, Azure CLI, Helm, dan kubectl sudah diinstal.
Atur variabel lingkungan untuk digunakan di seluruh artikel. Ganti nilai tempat penampung dengan nilai Anda sendiri.
export RESOURCE_GROUP="<resource-group-name>" export LOCATION="<location>" export CLUSTER_NAME="<cluster-name>" export DNS_NAME_PREFIX="<dns-name-prefix>"
Buat grup sumber daya Azure untuk kluster AKS menggunakan
az group create
perintah .az group create --name $RESOURCE_GROUP --location $LOCATION
Buat kluster AKS menggunakan
az aks create
perintah dengan--enable-azure-rbac
parameter , ,--enable-aad
--enable-managed-identity
, dan--dns-name-prefix
.az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-azure-rbac --enable-managed-identity --enable-aad --dns-name-prefix $DNS_NAME_PREFIX --generate-ssh-keys
Konfigurasikan
kubectl
untuk menyambungkan ke kluster AKS Anda menggunakanaz aks get-credentials
perintah .az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
Tambahkan repositori Flyte Helm menggunakan
helm repo add
perintah .helm repo add flyteorg https://flyteorg.github.io/flyte
Cari bagan Flyte Helm menggunakan
helm search repo
perintah .helm search repo flyteorg
Contoh output berikut menunjukkan beberapa bagan Flyte Helm yang tersedia:
NAME CHART VERSION APP VERSION DESCRIPTION flyteorg/flyte v1.12.0 A Helm chart for Flyte Sandbox flyteorg/flyte-binary v1.12.0 1.16.0 Chart for basic single Flyte executable deployment flyteorg/flyte-core v1.12.0 A Helm chart for Flyte core flyteorg/flyte-deps v1.12.0 A Helm chart for Flyte dependencies flyteorg/flyte-sandbox 0.1.0 1.16.1 A Helm chart for the Flyte local sandbox flyteorg/flyteagent v0.1.10 A Helm chart for Flyte Agent
Perbarui repositori menggunakan
helm repo update
perintah .helm repo update
Di bagian ini, Anda menyebarkan bagan Helm flyte-biner sehingga Anda dapat mulai membangun dan menyebarkan data dan alur pembelajaran mesin dengan Flyte di AKS. Bagan flyte-binary adalah penyebaran flyte executable tunggal dasar.
Buat namespace untuk penyebaran Flyte Anda menggunakan
kubectl create namespace
perintah .kubectl create namespace <namespace-name>
Instal bagan Flyte Helm menggunakan
helm install
perintah . Dalam contoh ini, kita menggunakanflyte-binary
bagan.helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
Verifikasi bahwa penyebaran Flyte berjalan menggunakan
kubectl get services
perintah .kubectl get services --namespace <namespace-name> --output wide
Contoh output ringkas berikut menunjukkan penyebaran Flyte:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE flyteorg-flyte-binary-grpc ClusterIP xx.x.xx.xxx <none> 81/TCP 1m flyteorg-flyte-binary-http ClusterIP xx.x.xx.xxx <none> 80/TCP 1m flyteorg-flyte-binary-webhook ClusterIP xx.x.xx.xxx <none> 80/TCP 1m
Dalam artikel ini, Anda mempelajari cara menginstal Flyte di AKS menggunakan bagan Helm. Proyek Flyte juga mempertahankan implementasi referensi untuk AKS yang secara otomatis mengonfigurasi semua dependensi dan menyebarkan kluster Flyte tingkat produksi.
Untuk mulai membangun dan menyebarkan data dan alur pembelajaran mesin, lihat artikel berikut ini:
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: