Aracılığıyla paylaş


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.

Örneğin, Ray GitHub deposu yanıt süresi, amacı ve destek düzeyine göre değişen çeşitli platformları açıklar.

Microsoft, AKS'de dağıttığımız açık kaynak paketleri oluşturma sorumluluğunu üstlenir. Bu sorumluluk derleme, tarama, imzalama, doğrulama ve düzeltme işleminin tam sahipliğini ve kapsayıcı görüntülerindeki ikili dosyalar üzerindeki denetimi içerir. Daha fazla bilgi için bkz. AKS ve AKS destek kapsamı için güvenlik açığı yönetimi.

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 bkz . Temel Flyte kullanım örnekleri.

Ö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 bkz . Flyte yüklemesi.

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. , , --enable-managed-identity--enable-aadve --dns-name-prefix parametreleriyle --enable-azure-rbackomutunu kullanarak az aks create 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

  • komutunu kullanarak AKS kümenize bağlanacak şekilde az aks get-credentials yapılandırınkubectl.

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

Flyte Helm deposunu ekleme

  • komutunu kullanarak Flyte Helm deposunu helm repo add ekleyin.

    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 grafiği 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 grafiği temel tek bir Flyte yürütülebilir dağıtımıdır.

  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. komutunu kullanarak helm install 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. komutunu kullanarak Flyte dağıtımının kubectl get services çalıştığını 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 tüm bağımlılıkları otomatik olarak yapılandıran ve üretim sınıfı flyte kümesi dağıtan bir başvuru uygulaması tutar.

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