Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Installazione di Kubeflow Pipelines

Modalità Focus
Installazione di Kubeflow Pipelines - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Kubeflow Pipelines (KFP) è il componente di orchestrazione delle pipeline di Kubeflow.

Puoi distribuire Kubeflow Pipelines (KFP) su un Amazon Elastic Kubernetes Service (Amazon EKS) esistente o creare un nuovo cluster Amazon EKS. Usa un nodo gateway per interagire con il cluster. Il nodo gateway può essere il computer locale o un' EC2 istanza Amazon.

La seguente sezione illustra le fasi necessarie per impostare e configurare queste risorse.

Selezione di un'opzione di installazione

Kubeflow Pipelines è disponibile come componente principale della distribuzione completa di Kubeflow su AWS o come installazione autonoma.

Seleziona l'opzione applicabile al tuo caso d'uso:

  1. Kubeflow completo su Deployment AWS

    Per utilizzare altri componenti Kubeflow oltre a Kubeflow Pipelines, scegli l’implementazione completa AWS per la distribuzione di Kubeflow.

  2. Implementazione standalone di Kubeflow Pipelines

    Per utilizzare Kubeflow Pipelines senza gli altri componenti di Kubeflow, installa Kubeflow Pipelines standalone.

Per installare la versione completa di Kubeflow su AWS, scegli l'opzione di distribuzione vanilla dalla guida alla distribuzione Kubeflow on o qualsiasi altra opzione di AWS distribuzione che supporti le integrazioni con vari servizi ( AWS Amazon S3, Amazon RDS, Amazon Cognito).

Kubeflow completo su Deployment AWS

Per installare la versione completa di Kubeflow su AWS, scegli l'opzione di distribuzione vanilla dalla guida alla distribuzione Kubeflow on o qualsiasi altra opzione di AWS distribuzione che supporti le integrazioni con vari servizi ( AWS Amazon S3, Amazon RDS, Amazon Cognito).

Questa sezione presuppone che l'utente disponga delle autorizzazioni per creare ruoli e definire le policy per gli stessi.

Configurazione di un nodo gateway

Puoi usare il tuo computer locale o un' EC2 istanza Amazon come nodo gateway. Un nodo gateway viene utilizzato per creare un cluster Amazon EKS e accedere all'interfaccia utente di Kubeflow Pipelines.

Completa la seguente procedura per configurare il nodo.

  1. Crea un nodo gateway.

    Puoi usare un' EC2 istanza Amazon esistente o creare una nuova istanza con l'ultima versione di Ubuntu 18.04 DLAMI seguendo i passaggi descritti in Avvio e configurazione di un DLAMI.

  2. Crea un ruolo IAM per concedere al nodo gateway l'accesso alle risorse AWS .

    Crea un ruolo IAM con autorizzazioni per le seguenti risorse: CloudWatch,, IAM AWS CloudFormation, Amazon EC2, Amazon S3, Amazon EKS.

    Collega al ruolo IAM le policy seguenti:

    Per informazioni sull'aggiunta di autorizzazioni IAM a un ruolo IAM, consulta Aggiunta e rimozione di autorizzazioni per identità IAM.

  3. Installazione di strumenti e client

    Installa e configura i seguenti strumenti e risorse sul nodo gateway per accedere al cluster Amazon EKS e all'interfaccia utente (UI) KFP.

    • AWS CLI: Lo strumento da riga di comando per lavorare con i servizi. AWS Per informazioni sulla configurazione di AWS CLI , consulta Configurazione di AWS CLI.

    • aws-iam-authenticatorversione 0.1.31 e successive: uno strumento per utilizzare le credenziali AWS IAM per l'autenticazione in un cluster Kubernetes.

    • eksctl versione 0.15 e successive: strumento a riga di comando per lavorare con i cluster Amazon EKS.

    • kubectl: strumento a riga di comando per lavorare con cluster Kubernetes. La versione deve corrispondere all’installazione di Kubernetes in una versione secondaria.

    • AWS SDK for Python (Boto3).

      pip install boto3

Configurazione di un cluster Amazon EKS

  1. Se non disponi di un cluster Amazon EKS esistente, esegui le seguenti fasi dalla riga di comando del nodo gateway; in caso contrario, ignora questa fase.

    1. Esegui il comando seguente per creare un cluster Amazon EKS con la versione 1.17 o successiva. Sostituisci <clustername> con un nome da assegnare al cluster.

      eksctl create cluster --name <clustername> --region us-east-1 --auto-kubeconfig --timeout=50m --managed --nodes=1
    2. Una volta completata la creazione del cluster, assicurati di poter accedere al cluster elencandone i nodi.

      kubectl get nodes
  2. Assicurati che il contesto kubectl corrente punti al cluster con il comando seguente. Il contesto corrente è contrassegnato da un asterisco (*) nell'output.

    kubectl config get-contexts CURRENT NAME CLUSTER * <username>@<clustername>.us-east-1.eksctl.io <clustername>.us-east-1.eksctl.io
  3. Se il cluster desiderato non è configurato come quello attualmente predefinito, aggiorna il cluster predefinito con il seguente comando.

    aws eks update-kubeconfig --name <clustername> --region us-east-1

Installazione di Kubeflow Pipelines

Esegui la seguente procedura dal terminale del nodo gateway per installare Kubeflow Pipelines sul tuo cluster.

  1. Installa tutti i componenti cert-manager.

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
  2. Installa Kubeflow Pipelines.

    export PIPELINE_VERSION=2.0.0-alpha.5 kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/cert-manager/cluster-scoped-resources?ref=$KFP_VERSION" kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/cert-manager/dev?ref=$KFP_VERSION"
  3. Assicurati che il servizio Kubeflow Pipelines e le altre risorse correlate siano in esecuzione.

    kubectl -n kubeflow get all | grep pipeline

    L'aspetto dell'output sarà simile al seguente.

    pod/ml-pipeline-6b88c67994-kdtjv                      1/1     Running            0          2d pod/ml-pipeline-persistenceagent-64d74dfdbf-66stk     1/1     Running            0          2d pod/ml-pipeline-scheduledworkflow-65bdf46db7-5x9qj    1/1     Running            0          2d pod/ml-pipeline-ui-66cc4cffb6-cmsdb                   1/1     Running            0          2d pod/ml-pipeline-viewer-crd-6db65ccc4-wqlzj            1/1     Running            0          2d pod/ml-pipeline-visualizationserver-9c47576f4-bqmx4   1/1     Running            0          2d service/ml-pipeline                       ClusterIP   10.100.170.170   <none>        8888/TCP,8887/TCP   2d service/ml-pipeline-ui                    ClusterIP   10.100.38.71     <none>        80/TCP              2d service/ml-pipeline-visualizationserver   ClusterIP   10.100.61.47     <none>        8888/TCP            2d deployment.apps/ml-pipeline                       1/1     1            1           2d deployment.apps/ml-pipeline-persistenceagent      1/1     1            1           2d deployment.apps/ml-pipeline-scheduledworkflow     1/1     1            1           2d deployment.apps/ml-pipeline-ui                    1/1     1            1           2d deployment.apps/ml-pipeline-viewer-crd            1/1     1            1           2d deployment.apps/ml-pipeline-visualizationserver   1/1     1            1           2d replicaset.apps/ml-pipeline-6b88c67994                      1         1         1       2d replicaset.apps/ml-pipeline-persistenceagent-64d74dfdbf     1         1         1       2d replicaset.apps/ml-pipeline-scheduledworkflow-65bdf46db7    1         1         1       2d replicaset.apps/ml-pipeline-ui-66cc4cffb6                   1         1         1       2d replicaset.apps/ml-pipeline-viewer-crd-6db65ccc4            1         1         1       2d replicaset.apps/ml-pipeline-visualizationserver-9c47576f4   1         1         1       2d

Questa sezione presuppone che l'utente disponga delle autorizzazioni per creare ruoli e definire le policy per gli stessi.

Configurazione di un nodo gateway

Puoi usare il tuo computer locale o un' EC2 istanza Amazon come nodo gateway. Un nodo gateway viene utilizzato per creare un cluster Amazon EKS e accedere all'interfaccia utente di Kubeflow Pipelines.

Completa la seguente procedura per configurare il nodo.

  1. Crea un nodo gateway.

    Puoi usare un' EC2 istanza Amazon esistente o creare una nuova istanza con l'ultima versione di Ubuntu 18.04 DLAMI seguendo i passaggi descritti in Avvio e configurazione di un DLAMI.

  2. Crea un ruolo IAM per concedere al nodo gateway l'accesso alle risorse AWS .

    Crea un ruolo IAM con autorizzazioni per le seguenti risorse: CloudWatch,, IAM AWS CloudFormation, Amazon EC2, Amazon S3, Amazon EKS.

    Collega al ruolo IAM le policy seguenti:

    Per informazioni sull'aggiunta di autorizzazioni IAM a un ruolo IAM, consulta Aggiunta e rimozione di autorizzazioni per identità IAM.

  3. Installazione di strumenti e client

    Installa e configura i seguenti strumenti e risorse sul nodo gateway per accedere al cluster Amazon EKS e all'interfaccia utente (UI) KFP.

    • AWS CLI: Lo strumento da riga di comando per lavorare con i servizi. AWS Per informazioni sulla configurazione di AWS CLI , consulta Configurazione di AWS CLI.

    • aws-iam-authenticatorversione 0.1.31 e successive: uno strumento per utilizzare le credenziali AWS IAM per l'autenticazione in un cluster Kubernetes.

    • eksctl versione 0.15 e successive: strumento a riga di comando per lavorare con i cluster Amazon EKS.

    • kubectl: strumento a riga di comando per lavorare con cluster Kubernetes. La versione deve corrispondere all’installazione di Kubernetes in una versione secondaria.

    • AWS SDK for Python (Boto3).

      pip install boto3

Configurazione di un cluster Amazon EKS

  1. Se non disponi di un cluster Amazon EKS esistente, esegui le seguenti fasi dalla riga di comando del nodo gateway; in caso contrario, ignora questa fase.

    1. Esegui il comando seguente per creare un cluster Amazon EKS con la versione 1.17 o successiva. Sostituisci <clustername> con un nome da assegnare al cluster.

      eksctl create cluster --name <clustername> --region us-east-1 --auto-kubeconfig --timeout=50m --managed --nodes=1
    2. Una volta completata la creazione del cluster, assicurati di poter accedere al cluster elencandone i nodi.

      kubectl get nodes
  2. Assicurati che il contesto kubectl corrente punti al cluster con il comando seguente. Il contesto corrente è contrassegnato da un asterisco (*) nell'output.

    kubectl config get-contexts CURRENT NAME CLUSTER * <username>@<clustername>.us-east-1.eksctl.io <clustername>.us-east-1.eksctl.io
  3. Se il cluster desiderato non è configurato come quello attualmente predefinito, aggiorna il cluster predefinito con il seguente comando.

    aws eks update-kubeconfig --name <clustername> --region us-east-1

Installazione di Kubeflow Pipelines

Esegui la seguente procedura dal terminale del nodo gateway per installare Kubeflow Pipelines sul tuo cluster.

  1. Installa tutti i componenti cert-manager.

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
  2. Installa Kubeflow Pipelines.

    export PIPELINE_VERSION=2.0.0-alpha.5 kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/cert-manager/cluster-scoped-resources?ref=$KFP_VERSION" kubectl wait --for condition=established --timeout=60s crd/applications.app.k8s.io kubectl apply -k "github.com/kubeflow/pipelines/manifests/kustomize/env/cert-manager/dev?ref=$KFP_VERSION"
  3. Assicurati che il servizio Kubeflow Pipelines e le altre risorse correlate siano in esecuzione.

    kubectl -n kubeflow get all | grep pipeline

    L'aspetto dell'output sarà simile al seguente.

    pod/ml-pipeline-6b88c67994-kdtjv                      1/1     Running            0          2d pod/ml-pipeline-persistenceagent-64d74dfdbf-66stk     1/1     Running            0          2d pod/ml-pipeline-scheduledworkflow-65bdf46db7-5x9qj    1/1     Running            0          2d pod/ml-pipeline-ui-66cc4cffb6-cmsdb                   1/1     Running            0          2d pod/ml-pipeline-viewer-crd-6db65ccc4-wqlzj            1/1     Running            0          2d pod/ml-pipeline-visualizationserver-9c47576f4-bqmx4   1/1     Running            0          2d service/ml-pipeline                       ClusterIP   10.100.170.170   <none>        8888/TCP,8887/TCP   2d service/ml-pipeline-ui                    ClusterIP   10.100.38.71     <none>        80/TCP              2d service/ml-pipeline-visualizationserver   ClusterIP   10.100.61.47     <none>        8888/TCP            2d deployment.apps/ml-pipeline                       1/1     1            1           2d deployment.apps/ml-pipeline-persistenceagent      1/1     1            1           2d deployment.apps/ml-pipeline-scheduledworkflow     1/1     1            1           2d deployment.apps/ml-pipeline-ui                    1/1     1            1           2d deployment.apps/ml-pipeline-viewer-crd            1/1     1            1           2d deployment.apps/ml-pipeline-visualizationserver   1/1     1            1           2d replicaset.apps/ml-pipeline-6b88c67994                      1         1         1       2d replicaset.apps/ml-pipeline-persistenceagent-64d74dfdbf     1         1         1       2d replicaset.apps/ml-pipeline-scheduledworkflow-65bdf46db7    1         1         1       2d replicaset.apps/ml-pipeline-ui-66cc4cffb6                   1         1         1       2d replicaset.apps/ml-pipeline-viewer-crd-6db65ccc4            1         1         1       2d replicaset.apps/ml-pipeline-visualizationserver-9c47576f4   1         1         1       2d

Configura le autorizzazioni della pipeline per accedere all'IA SageMaker

In questa sezione, crei un ruolo di esecuzione IAM che concede ai pod Kubeflow Pipeline l'accesso ai servizi di intelligenza artificiale. SageMaker

Configurazione per i componenti AI versione 2 SageMaker

Per eseguire la versione 2 di SageMaker AI Components per Kubeflow Pipelines, devi installare SageMaker AI Operator for Kubernetes e configurare Role-Based Access Control (RBAC) che consenta ai pod Kubeflow Pipelines di creare risorse AI personalizzate nel tuo cluster Kubernetes. SageMaker

Importante

Attieniti a questa sezione per l’implementazione standalone di Kubeflow Pipelines. Se utilizzi AWS la distribuzione della versione 1.6.0-aws-b1.0.0 o successiva di Kubeflow, la versione 2 dei componenti AI è già configurata. SageMaker

  1. Installa SageMaker AI Operator for Kubernetes per utilizzare la versione 2 dei componenti AI. SageMaker

    Segui la sezione Configurazione del tutorial Machine Learning with ACK SageMaker AI Controller.

  2. Configura le autorizzazioni RBAC per il ruolo di esecuzione (account di servizio) utilizzato dai pod Kubeflow Pipelines. Nell’implementazione standalone di Kubeflow Pipelines, le esecuzioni della pipeline vengono eseguite nello spazio dei nomi kubeflow utilizzando l'account di servizio pipeline-runner.

    1. Creane uno RoleBindingche dia all'account del servizio l'autorizzazione a gestire le risorse personalizzate SageMaker AI.

      cat > manage_sagemaker_cr.yaml <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: manage-sagemaker-cr namespace: kubeflow subjects: - kind: ServiceAccount name: pipeline-runner namespace: kubeflow roleRef: kind: ClusterRole name: ack-sagemaker-controller apiGroup: rbac.authorization.k8s.io EOF
      kubectl apply -f manage_sagemaker_cr.yaml
    2. Assicurati che il RoleBinding sia stato creato eseguendo:

      kubectl get rolebinding manage-sagemaker-cr -n kubeflow -o yaml

Configurazione per i componenti SageMaker AI (versione 1)

Per eseguire la versione 1 di SageMaker AI Components per Kubeflow Pipelines, i pod Kubeflow Pipeline devono accedere all'IA. SageMaker

Importante

Segui questa sezione se stai utilizzando la versione completa di Kubeflow on deployment o Kubeflow Pilepines standalone. AWS

Per creare un ruolo di esecuzione IAM che consenta ai pod della pipeline Kubeflow di accedere all'intelligenza artificiale, segui questi passaggi: SageMaker

  1. Esporta il nome del cluster (ad es. my-cluster-name) e la regione del cluster (ad es. us-east-1).

    export CLUSTER_NAME=my-cluster-name export CLUSTER_REGION=us-east-1
  2. Esporta lo spazio dei nomi e il nome dell'account di servizio in base all'installazione.

    • Per l' AWS installazione completa di Kubeflow, esporta il tuo profilo namespace (ad esempio kubeflow-user-example-com) e l'editor predefinito come account di servizio.

      export NAMESPACE=kubeflow-user-example-com export KUBEFLOW_PIPELINE_POD_SERVICE_ACCOUNT=default-editor
    • Per l’implementazione standalone di Pipelines, esporta kubeflow come namespace e pipeline-runner come account di servizio.

      export NAMESPACE=kubeflow export KUBEFLOW_PIPELINE_POD_SERVICE_ACCOUNT=pipeline-runner
  3. Crea un provider di identità OIDC IAM per il cluster Amazon EKS con il comando seguente.

    eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} \ --region ${CLUSTER_REGION} --approve
  4. Crea un ruolo di esecuzione IAM per i pod KFP per accedere ai servizi (AI,). AWS SageMaker CloudWatch

    eksctl create iamserviceaccount \ --name ${KUBEFLOW_PIPELINE_POD_SERVICE_ACCOUNT} \ --namespace ${NAMESPACE} --cluster ${CLUSTER_NAME} \ --region ${CLUSTER_REGION} \ --attach-policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess \ --override-existing-serviceaccounts \ --approve

Una volta configurate le autorizzazioni della pipeline per accedere alla versione 1 di SageMaker AI Components, segui la guida ai componenti SageMaker AI per le pipeline Kubeflow sulla documentazione di Kubeflow. AWS

Accesso all'interfaccia utente KFP (dashboard Kubeflow)

L'interfaccia utente di Kubeflow Pipelines viene utilizzata per gestire e monitorare esperimenti, processi ed esecuzioni sul cluster. Per istruzioni su come accedere all'interfaccia utente di Kubeflow Pipelines dal nodo gateway, segui le fasi relative all'opzione di implementazione in questa sezione.

Segui le istruzioni sul AWS sito web di Kubeflow on per connetterti alla dashboard di Kubeflow e vai alla scheda pipeline.

Installazione completa di Kubeflow su AWS Deployment

Segui le istruzioni sul AWS sito web di Kubeflow on per connetterti alla dashboard di Kubeflow e vai alla scheda pipeline.

Utilizza l’inoltro delle porte per accedere all'interfaccia utente di Kubeflow Pipelines dal nodo gateway seguendo questa procedura.

Configurazione dell’inoltro delle porte verso il servizio dell’interfaccia utente KFP

Esegui il comando seguente dalla riga di comando del nodo gateway.

  1. Verifica che il servizio dell'interfaccia utente KFP sia in esecuzione utilizzando il comando riportato di seguito.

    kubectl -n kubeflow get service ml-pipeline-ui NAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE ml-pipeline-ui   ClusterIP   10.100.38.71   <none>        80/TCP    2d22h
  2. Esegui il comando riportato di seguito per configurare l’inoltro delle porte verso il servizio dell'interfaccia utente KFP. In questo modo, l'interfaccia utente KFP viene inoltrata alla porta 8080 sul nodo gateway, consentendo di accedere all'interfaccia utente KFP dal browser.

    kubectl port-forward -n kubeflow service/ml-pipeline-ui 8080:80

    L’inoltro delle porte dal computer remoto si interrompe in caso di inattività. Esegui nuovamente questo comando se il dashboard non è in grado di ricevere registri o aggiornamenti. Se i comandi restituiscono un errore, assicurati che non vi siano processi in esecuzione sulla porta che stai cercando di utilizzare.

Accesso al servizio dell’interfaccia utente KFP

Il metodo di accesso all'interfaccia utente KFP dipende dal tipo di nodo gateway.

  • Computer locale come nodo gateway:

    1. Accedi al dashboard del tuo browser nel modo seguente:

      http://localhost:8080
    2. Scegli Pipelines per accedere all'interfaccia utente di Pipelines.

  • EC2 Istanza Amazon come nodo gateway:

    1. Devi configurare un tunnel SSH sulla tua EC2 istanza Amazon per accedere alla dashboard di Kubeflow dal browser del tuo computer locale.

      Da una nuova sessione di terminale nel computer locale, svolgi le seguenti operazioni. Sostituisci <public-DNS-of-gateway-node> con l'indirizzo IP della tua istanza trovato sulla EC2 console Amazon. Puoi anche usare il DNS pubblico. Sostituisci <path_to_key> con il percorso della chiave pem utilizzata per accedere al nodo gateway.

      public_DNS_address=<public-DNS-of-gateway-node> key=<path_to_key> on Ubuntu: ssh -i ${key} -L 9000:localhost:8080 ubuntu@${public_DNS_address} or on Amazon Linux: ssh -i ${key} -L 9000:localhost:8080 ec2-user@${public_DNS_address}
    2. Accedi al dashboard del tuo browser nel browser.

      http://localhost:9000
    3. Scegli Pipelines per accedere all'interfaccia utente di KFP.

(Facoltativo) Concedi alle istanze di notebook SageMaker AI l'accesso ad Amazon EKS ed esegui pipeline KFP dal tuo notebook.

Un'istanza SageMaker notebook è un'istanza di EC2 calcolo Amazon completamente gestita che esegue l'app Jupyter Notebook. È possibile utilizzare un'istanza del notebook per creare e gestire notebook Jupyter, quindi definire, compilare, distribuire ed eseguire le pipeline KFP utilizzando AWS SDK for Python (Boto3) o la CLI KFP.

  1. Segui la procedura descritta in Crea un'istanza SageMaker Notebook per creare un'istanza notebook, quindi collega la S3FullAccess policy al relativo ruolo di esecuzione IAM.

  2. Dalla riga di comando del nodo gateway, esegui il comando seguente per recuperare l'ARN del ruolo IAM dell'istanza del notebook creato. Sostituisci <instance-name> con il nome dell’istanza.

    aws sagemaker describe-notebook-instance --notebook-instance-name <instance-name> --region <region> --output text --query 'RoleArn'

    Questo comando restituisce l'ARN del ruolo IAM nel formato arn:aws:iam::<account-id>:role/<role-name>. Annota l'ARN.

  3. Esegui questo comando per allegare le seguenti politiche (AmazonSageMakerFullAccess, Amazon EKSWorkerNodePolicy, AmazonS3FullAccess) a questo ruolo IAM. Nell’ARN, sostituisci <role-name> con <role-name>.

    aws iam attach-role-policy --role-name <role-name> --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess aws iam attach-role-policy --role-name <role-name> --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy aws iam attach-role-policy --role-name <role-name> --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
  4. I cluster Amazon EKS utilizzano i ruoli IAM per controllare l'accesso al cluster. Le regole sono implementate in una mappa di configurazione denominata aws-auth. eksctl fornisce comandi per leggere e modificare la mappa di configurazione aws-auth. Solo gli utenti che hanno accesso al cluster possono modificare questa mappa di configurazione.

    system:masters rappresenta uno dei gruppi di utenti predefiniti con privilegi per il cluster. Aggiungi il tuo utente a questo gruppo o crea un gruppo con autorizzazioni più restrittive.

  5. Collega il ruolo al cluster eseguendo il seguente comando. Sostituisci <IAM-Role-arn> con l'ARN del ruolo IAM. <your_username> può essere qualsiasi nome utente univoco.

    eksctl create iamidentitymapping \ --cluster <cluster-name> \ --arn <IAM-Role-arn> \ --group system:masters \ --username <your-username> \ --region <region>
  6. Apri un notebook Jupyter sulla tua istanza SageMaker AI ed esegui il comando seguente per assicurarti che abbia accesso al cluster.

    aws eks --region <region> update-kubeconfig --name <cluster-name> kubectl -n kubeflow get all | grep pipeline

Utilizza l’inoltro delle porte per accedere all'interfaccia utente di Kubeflow Pipelines dal nodo gateway seguendo questa procedura.

Configurazione dell’inoltro delle porte verso il servizio dell’interfaccia utente KFP

Esegui il comando seguente dalla riga di comando del nodo gateway.

  1. Verifica che il servizio dell'interfaccia utente KFP sia in esecuzione utilizzando il comando riportato di seguito.

    kubectl -n kubeflow get service ml-pipeline-ui NAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE ml-pipeline-ui   ClusterIP   10.100.38.71   <none>        80/TCP    2d22h
  2. Esegui il comando riportato di seguito per configurare l’inoltro delle porte verso il servizio dell'interfaccia utente KFP. In questo modo, l'interfaccia utente KFP viene inoltrata alla porta 8080 sul nodo gateway, consentendo di accedere all'interfaccia utente KFP dal browser.

    kubectl port-forward -n kubeflow service/ml-pipeline-ui 8080:80

    L’inoltro delle porte dal computer remoto si interrompe in caso di inattività. Esegui nuovamente questo comando se il dashboard non è in grado di ricevere registri o aggiornamenti. Se i comandi restituiscono un errore, assicurati che non vi siano processi in esecuzione sulla porta che stai cercando di utilizzare.

Accesso al servizio dell’interfaccia utente KFP

Il metodo di accesso all'interfaccia utente KFP dipende dal tipo di nodo gateway.

  • Computer locale come nodo gateway:

    1. Accedi al dashboard del tuo browser nel modo seguente:

      http://localhost:8080
    2. Scegli Pipelines per accedere all'interfaccia utente di Pipelines.

  • EC2 Istanza Amazon come nodo gateway:

    1. Devi configurare un tunnel SSH sulla tua EC2 istanza Amazon per accedere alla dashboard di Kubeflow dal browser del tuo computer locale.

      Da una nuova sessione di terminale nel computer locale, svolgi le seguenti operazioni. Sostituisci <public-DNS-of-gateway-node> con l'indirizzo IP della tua istanza trovato sulla EC2 console Amazon. Puoi anche usare il DNS pubblico. Sostituisci <path_to_key> con il percorso della chiave pem utilizzata per accedere al nodo gateway.

      public_DNS_address=<public-DNS-of-gateway-node> key=<path_to_key> on Ubuntu: ssh -i ${key} -L 9000:localhost:8080 ubuntu@${public_DNS_address} or on Amazon Linux: ssh -i ${key} -L 9000:localhost:8080 ec2-user@${public_DNS_address}
    2. Accedi al dashboard del tuo browser nel browser.

      http://localhost:9000
    3. Scegli Pipelines per accedere all'interfaccia utente di KFP.

(Facoltativo) Concedi alle istanze di notebook SageMaker AI l'accesso ad Amazon EKS ed esegui pipeline KFP dal tuo notebook.

Un'istanza SageMaker notebook è un'istanza di EC2 calcolo Amazon completamente gestita che esegue l'app Jupyter Notebook. È possibile utilizzare un'istanza del notebook per creare e gestire notebook Jupyter, quindi definire, compilare, distribuire ed eseguire le pipeline KFP utilizzando AWS SDK for Python (Boto3) o la CLI KFP.

  1. Segui la procedura descritta in Crea un'istanza SageMaker Notebook per creare un'istanza notebook, quindi collega la S3FullAccess policy al relativo ruolo di esecuzione IAM.

  2. Dalla riga di comando del nodo gateway, esegui il comando seguente per recuperare l'ARN del ruolo IAM dell'istanza del notebook creato. Sostituisci <instance-name> con il nome dell’istanza.

    aws sagemaker describe-notebook-instance --notebook-instance-name <instance-name> --region <region> --output text --query 'RoleArn'

    Questo comando restituisce l'ARN del ruolo IAM nel formato arn:aws:iam::<account-id>:role/<role-name>. Annota l'ARN.

  3. Esegui questo comando per allegare le seguenti politiche (AmazonSageMakerFullAccess, Amazon EKSWorkerNodePolicy, AmazonS3FullAccess) a questo ruolo IAM. Nell’ARN, sostituisci <role-name> con <role-name>.

    aws iam attach-role-policy --role-name <role-name> --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess aws iam attach-role-policy --role-name <role-name> --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy aws iam attach-role-policy --role-name <role-name> --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
  4. I cluster Amazon EKS utilizzano i ruoli IAM per controllare l'accesso al cluster. Le regole sono implementate in una mappa di configurazione denominata aws-auth. eksctl fornisce comandi per leggere e modificare la mappa di configurazione aws-auth. Solo gli utenti che hanno accesso al cluster possono modificare questa mappa di configurazione.

    system:masters rappresenta uno dei gruppi di utenti predefiniti con privilegi per il cluster. Aggiungi il tuo utente a questo gruppo o crea un gruppo con autorizzazioni più restrittive.

  5. Collega il ruolo al cluster eseguendo il seguente comando. Sostituisci <IAM-Role-arn> con l'ARN del ruolo IAM. <your_username> può essere qualsiasi nome utente univoco.

    eksctl create iamidentitymapping \ --cluster <cluster-name> \ --arn <IAM-Role-arn> \ --group system:masters \ --username <your-username> \ --region <region>
  6. Apri un notebook Jupyter sulla tua istanza SageMaker AI ed esegui il comando seguente per assicurarti che abbia accesso al cluster.

    aws eks --region <region> update-kubeconfig --name <cluster-name> kubectl -n kubeflow get all | grep pipeline
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.