Azure Kubernetes Service'te (AKS) Flyte ile veri ve makine öğrenmesi işlem hatları oluşturma ve dağıtma

Bu makalede, Azure Kubernetes Service'te (AKS) Flyte'ın nasıl kullanılacağı gösterilmektedir. Flyte, sağlam ve güvenilir uygulamalar oluşturmanıza yardımcı olmak için makine öğrenmesi, veri mühendisliği ve veri analizi yığınlarını birleştirir. Flyte'ı Kubernetes'e özel iş akışı otomasyon aracı olarak kullanırken, altyapı ve kaynak yönetimi kapsamınızı artırmadan denemelere ve iş değeri sağlamaya odaklanabilirsiniz. Flyte'ın Microsoft tarafından resmi olarak desteklenmediğini unutmayın, bu nedenle kendi takdirinize bağlı olarak kullanın.

Daha fazla bilgi için bkz . Flyte'a giriş.

Önemli

Aks belgeleri ve örnekleri boyunca açık kaynak yazılımdan bahsedilmektedir. Dağıttığınız yazılımlar AKS hizmet düzeyi sözleşmelerinin, sınırlı garantinin ve Azure desteği dışında tutulur. AKS ile birlikte açık kaynak teknolojisini kullanırken, bir plan geliştirmek için ilgili toplulukların ve proje bakımcılarının sağlanan destek seçeneklerine başvurun.

Microsoft, AKS'de dağıttığımız açık kaynak paketleri oluşturma sorumluluğunu üstlenir. Bu sorumluluk, derleme, tarama, imzalama, doğrulama ve hızlı düzeltme sürecinin tam sahipliğini ve kapsayıcı görüntülerindeki binary dosyalar üzerindeki denetimi içerir. Daha fazla bilgi için AKS için Güvenlik Açığı Yönetimi ve AKS Destek Kapsamı sayfalarına bakın.

Flyte kullanım örnekleri

Flyte, aşağıdakiler dahil olmak üzere çeşitli kullanım örnekleri için kullanılabilir:

  • Kolaylaştırılmış kar ve zarar finansal hesaplamaları için modeller sağlayın.
  • Yeni alanların 3B haritasını verimli bir şekilde yürütmek için petabaytlarca veriyi işleyin.
  • Önceki sürümlere hızla geri alın ve işlem hatlarınızdaki hataların etkisini en aza indirin.

Daha fazla bilgi için Flyte kılavuzlarına bakın.

Önkoşullar

  • Azure aboneliği. Azure aboneliğiniz yoksa ücretsiz hesap oluşturabilirsiniz.
    • Birden çok aboneliğiniz varsa komutunu kullanarak doğru aboneliği seçtiğinizden az account set --subscription <subscription-id> emin olun.
  • Azure CLI yüklü ve yapılandırılmış. komutunu kullanarak az --version sürümünüzü denetleyin. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI'yı yükleme.
  • Helm CLI yüklü ve güncelleştirildi. komutunu kullanarak helm version sürümünüzü denetleyin. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz . Helm'i Yükleme.
  • kubectl CLI yüklendi ve güncelleştirildi. komutunu veya az aks install-cli Install kubectl komutunu kullanarak yerel olarak yükleyin.
  • Yerel bir Docker geliştirme ortamı. Daha fazla bilgi için bkz . Docker'ı edinin.
  • flytekit ve flytectl yüklendi. Daha fazla bilgi için Flyte yüklemesi'ne bakın.

Not

Azure Cloud Shell kullanıyorsanız Azure CLI, Helm ve kubectl zaten yüklüdür.

Ortam değişkenlerini belirleme

  • Makale boyunca kullanılacak ortam değişkenlerini ayarlayın. Yer tutucu değerlerini kendi değerlerinizle değiştirin.

    export RESOURCE_GROUP="<resource-group-name>"
    export LOCATION="<location>"
    export CLUSTER_NAME="<cluster-name>"
    export DNS_NAME_PREFIX="<dns-name-prefix>"
    

AKS kümesi oluşturma

  1. komutunu kullanarak az group create AKS kümesi için bir Azure kaynak grubu oluşturun.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  2. az aks create komutunu ve --enable-azure-rbac, --enable-managed-identity, --enable-aad parametrelerini kullanarak --dns-name-prefix bir AKS kümesi oluşturun.

    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
    

AKS kümenize bağlanma

  • kubectl'yi, az aks get-credentials komutunu kullanarak AKS kümenize bağlanacak şekilde yapılandırın.

    az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    

Flyte Helm deposunu ekleme

  • Flyte Helm deposunu eklemek için helm repo add komutunu kullanın.

    helm repo add flyteorg https://flyteorg.github.io/flyte
    

Flyte Helm grafiklerini bulma

  1. komutunu kullanarak helm search repo Flyte Helm grafiklerini arayın.

    helm search repo flyteorg
    

    Aşağıdaki örnek çıktı, kullanılabilir Flyte Helm grafiklerinden bazılarını gösterir:

    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
    
  2. komutunu kullanarak depoyu güncelleştirin helm repo update .

    helm repo update
    

AKS'de Flyte şeması dağıtma

Bu bölümde flyte-binary Helm grafiğini dağıtarak AKS üzerinde Flyte ile veri ve makine öğrenmesi işlem hatları oluşturmaya ve dağıtmaya başlayabilirsiniz. Flyte-binary diyagramı, temel bir Flyte yürütülebilir dağıtımını temsil eder.

  1. komutunu kullanarak Flyte dağıtımınız için bir ad alanı kubectl create namespace oluşturun.

    kubectl create namespace <namespace-name>
    
  2. helm install komutunu kullanarak bir Flyte Helm grafiği yükleyin. Bu örnekte grafiği kullanacağız flyte-binary .

    helm install flyte-binary flyteorg/flyte-core --namespace <namespace-name>
    
  3. Flyte dağıtımının çalıştığını kubectl get services komutunu kullanarak doğrulayın.

    kubectl get services --namespace <namespace-name> --output wide
    

    Aşağıdaki daraltılmış örnek çıktı, Flyte dağıtımını gösterir:

    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
    

Sonraki adımlar

Bu makalede, Helm grafiği kullanarak AKS'ye Flyte yüklemeyi öğrendiniz. Flyte projesi ayrıca AKS için referans uygulama tutar ve bu, tüm bağımlılıkları otomatik olarak yapılandırarak üretim sınıfı bir Flyte kümesi dağıtır.

Veri ve makine öğrenmesi işlem hatlarını oluşturmaya ve dağıtmaya başlamak için aşağıdaki makalelere bakın: