In questo post, dimostriamo Kubeflow su AWS (una distribuzione di Kubeflow specifica per AWS) e il valore che aggiunge rispetto a Kubeflow open source attraverso l'integrazione di servizi AWS altamente ottimizzati, nativi per il cloud e pronti per l'azienda.
Kubeflow è la piattaforma open source di machine learning (ML) dedicata a rendere semplici, portatili e scalabili le implementazioni di flussi di lavoro ML su Kubernetes. Kubeflow fornisce molti componenti, tra cui un dashboard centrale, notebook Jupyter multiutente, Kubeflow Pipelines, KFServing e Katib, nonché operatori di formazione distribuiti per TensorFlow, PyTorch, MXNet e XGBoost, per creare flussi di lavoro ML semplici, scalabili e portatili .
AWS ha recentemente lanciato Kubeflow v1.4 come parte della propria distribuzione Kubeflow (denominata Kubeflow su AWS), che semplifica le attività di data science e aiuta a creare sistemi ML altamente affidabili, sicuri, portatili e scalabili con costi operativi ridotti grazie all'integrazione con i servizi gestiti da AWS . Puoi utilizzare questa distribuzione Kubeflow per creare sistemi ML su Servizio Amazon Elastic Kubernetes (Amazon EKS) per creare, addestrare, ottimizzare e distribuire modelli ML per un'ampia varietà di casi d'uso, tra cui visione artificiale, elaborazione del linguaggio naturale, traduzione vocale e modellazione finanziaria.
Sfide con Kubeflow open source
Quando utilizzi un progetto Kubeflow open source, distribuisce tutti i componenti del piano di controllo e del piano dati Kubeflow sui nodi di lavoro Kubernetes. I servizi dei componenti Kubeflow vengono distribuiti come parte del piano di controllo Kubeflow e tutte le distribuzioni di risorse relative a Jupyter, addestramento del modello, ottimizzazione e hosting vengono distribuite sul piano dati Kubeflow. Il piano di controllo e il piano dati di Kubeflow possono essere eseguiti sullo stesso o su nodi di lavoro Kubernetes diversi. Questo post si concentra sui componenti del piano di controllo Kubeflow, come illustrato nel diagramma seguente.
Questo modello di distribuzione potrebbe non fornire un'esperienza pronta per l'azienda per i seguenti motivi:
- Tutti i componenti dell'infrastruttura di sollevamento pesante del piano di controllo Kubeflow, inclusi database, storage e autenticazione, vengono distribuiti nel nodo di lavoro del cluster Kubernetes stesso. Ciò rende difficile implementare un'architettura di progettazione del piano di controllo Kubeflow a disponibilità elevata con uno stato persistente in caso di errore del nodo di lavoro.
- Gli artefatti generati dal piano di controllo Kubeflow (come istanze MySQL, pod log o storage MinIO) crescono nel tempo e necessitano di volumi di storage ridimensionabili con funzionalità di monitoraggio continuo per soddisfare la crescente domanda di storage. Poiché il piano di controllo Kubeflow condivide le risorse con i carichi di lavoro del piano dati Kubeflow (ad esempio, per lavori di formazione, pipeline e distribuzioni), il dimensionamento e la scalabilità corretti dei cluster e dei volumi di storage Kubernetes possono diventare difficili e comportare un aumento dei costi operativi.
- Kubernetes limita la dimensione del file di registro, con la maggior parte delle installazioni che mantiene il limite più recente di 10 MB. Per impostazione predefinita, i log del pod diventano inaccessibili dopo aver raggiunto questo limite superiore. I registri potrebbero anche diventare inaccessibili se i pod vengono rimossi, arrestati in modo anomalo, eliminati o pianificati su un nodo diverso, il che potrebbe influire sulla disponibilità del registro dell'applicazione e sulle capacità di monitoraggio.
Kubeflow su AWS
Kubeflow su AWS fornisce un percorso chiaro per utilizzare Kubeflow, con i seguenti servizi AWS:
- Bilanciamento del carico dell'applicazione per una gestione sicura del traffico esterno su HTTPS
- Amazon Cloud Watch per la gestione persistente dei log
- AWS Cognito per l'autenticazione utente con Transport Layer Security (TLS)
- Contenitori per l'apprendimento profondo AWS per immagini server notebook Jupyter altamente ottimizzate
- File system elastico Amazon (Amazon EFS) o Amazon FSx per Lustre per una soluzione di archiviazione file semplice, scalabile e serverless per prestazioni di formazione migliorate
- Amazon EKS per cluster Kubernetes gestiti
- Servizio di database relazionale Amazon (Amazon RDS) per pipeline altamente scalabili e un archivio di metadati
- AWS Secrets Manager per proteggere i segreti necessari per accedere alle tue applicazioni
- Servizio di archiviazione semplice Amazon (Amazon S3) per un archivio di artefatti della pipeline facile da usare
Queste integrazioni del servizio AWS con Kubeflow (come mostrato nel diagramma seguente) ci consentono di disaccoppiare parti critiche del piano di controllo Kubeflow da Kubernetes, fornendo un design sicuro, scalabile, resiliente e con costi ottimizzati.
Discutiamo dei vantaggi di ogni integrazione di servizi e delle relative soluzioni in materia di sicurezza, esecuzione di pipeline di machine learning e storage.
Autenticazione sicura degli utenti Kubeflow con Amazon Cognito
La sicurezza del cloud in AWS è la massima priorità e stiamo investendo nella stretta integrazione della sicurezza Kubeflow direttamente nei servizi di sicurezza a responsabilità condivisa di AWS, come i seguenti:
- Application Load Balancer (ALB) per la gestione del traffico esterno
- Gestore certificati AWS (ACM) per supportare TLS
- Ruoli IAM per gli account di servizio (IRSA) per il controllo degli accessi a grana fine a livello di Kubernetes Pod
- Servizio di gestione delle chiavi AWS (AWS KMS) per la gestione delle chiavi di crittografia dei dati
- Scudo AWS per la protezione dagli attacchi DDoS
In questa sezione, ci concentriamo sull'integrazione del piano di controllo AWS Kubeflow con Amazon Cognito. Amazon Cognito elimina la necessità di gestire e mantenere una soluzione nativa Dex (provider OpenID Connect (OIDC) open source supportato da LDAP locale) per l'autenticazione degli utenti e semplifica la gestione dei segreti.
Puoi anche utilizzare Amazon Cognito per aggiungere la registrazione utente, l'accesso e il controllo dell'accesso alla tua interfaccia utente Kubeflow in modo rapido e semplice. Amazon Cognito si adatta a milioni di utenti e supporta l'accesso con provider di identità social (IdP), come Facebook, Google e Amazon, e IdP aziendali tramite SAML 2.0. Ciò riduce la complessità della configurazione di Kubeflow, rendendola operativamente snella e più facile da usare per ottenere l'isolamento multiutente.
Diamo un'occhiata a un flusso di autenticazione multiutente con integrazioni Amazon Cognito, ALB e ACM con Kubeflow su AWS. Ci sono una serie di componenti chiave come parte di questa integrazione. Amazon Cognito è configurato come IdP con un callback di autenticazione configurato per instradare la richiesta a Kubeflow dopo l'autenticazione dell'utente. Come parte della configurazione di Kubeflow, viene creata una risorsa di ingresso Kubernetes per gestire il traffico esterno al servizio Istio Gateway. L'AWS ALB Ingress Controller effettua il provisioning di un sistema di bilanciamento del carico per tale ingresso. Noi usiamo Amazon percorso 53 per configurare un DNS pubblico per il dominio registrato e creare certificati utilizzando ACM per abilitare l'autenticazione TLS sul sistema di bilanciamento del carico.
Il diagramma seguente mostra il flusso di lavoro tipico dell'utente per l'accesso ad Amazon Cognito e il reindirizzamento a Kubeflow nel rispettivo spazio dei nomi.
Il flusso di lavoro contiene i seguenti passaggi:
- L'utente invia una richiesta HTTPS al dashboard centrale di Kubeflow ospitato dietro un sistema di bilanciamento del carico. Route 53 risolve l'FQDN nel record alias ALB.
- Se il cookie non è presente, il sistema di bilanciamento del carico reindirizza l'utente all'endpoint di autorizzazione Amazon Cognito in modo che Amazon Cognito possa autenticare l'utente.
- Dopo che l'utente è stato autenticato, Amazon Cognito rimanda l'utente al sistema di bilanciamento del carico con un codice di concessione dell'autorizzazione.
- Il sistema di bilanciamento del carico presenta il codice di concessione dell'autorizzazione all'endpoint del token Amazon Cognito.
- Dopo aver ricevuto un codice di concessione dell'autorizzazione valido, Amazon Cognito fornisce il token ID e il token di accesso al sistema di bilanciamento del carico.
- Dopo che il sistema di bilanciamento del carico ha autenticato correttamente un utente, invia il token di accesso all'endpoint delle informazioni sull'utente di Amazon Cognito e riceve le attestazioni dell'utente. Il servizio di bilanciamento del carico firma e aggiunge attestazioni utente all'intestazione HTTP
x-amzn-oidc-*
in un formato di richiesta token Web JSON (JWT). - La richiesta dal sistema di bilanciamento del carico viene inviata al pod di Istio Ingress Gateway.
- Utilizzando un filtro inviato, Istio Gateway decodifica il file
x-amzn-oidc-data
valore, recupera il campo e-mail e aggiunge l'intestazione HTTP personalizzatakubeflow-userid
, utilizzato dal livello di autorizzazione di Kubeflow. - I criteri di controllo dell'accesso basati sulle risorse Istio vengono applicati alla richiesta in entrata per convalidare l'accesso al dashboard Kubeflow. Se uno di questi non è accessibile all'utente, viene inviata una risposta di errore. Se la richiesta viene convalidata, viene inoltrata al servizio Kubeflow appropriato e fornisce l'accesso al dashboard Kubeflow
Persistenza dei metadati dei componenti Kubeflow e dello storage degli artefatti con Amazon RDS e Amazon S3
Kubeflow su AWS fornisce integrazione con Servizio di database relazionale Amazon (Amazon RDS) in Kubeflow Pipelines e AutoML (katib) per l'archiviazione dei metadati persistenti e Amazon S3 in Kubeflow Pipelines per l'archiviazione degli artefatti persistenti. Continuiamo a discutere le condutture Kubeflow in modo più dettagliato.
Kubeflow Pipelines è una piattaforma per la creazione e la distribuzione di flussi di lavoro ML scalabili e portatili. Questi flussi di lavoro possono aiutare ad automatizzare pipeline ML complesse utilizzando componenti Kubeflow integrati e personalizzati. Kubeflow Pipelines include Python SDK, un compilatore DSL per convertire il codice Python in una configurazione statica, un servizio Pipelines che esegue pipeline dalla configurazione statica e un set di controller per eseguire i contenitori all'interno dei Kubernetes Pods necessari per completare la pipeline.
I metadati di Kubeflow Pipelines per gli esperimenti e le esecuzioni della pipeline sono archiviati in MySQL e gli artefatti, inclusi i pacchetti della pipeline e le metriche, sono archiviati in MinIO.
Come mostrato nel diagramma seguente, Kubeflow su AWS ti consente di archiviare i seguenti componenti con i servizi gestiti da AWS:
- Metadati della pipeline in Amazon RDS – Amazon RDS fornisce un'architettura di distribuzione Multi-AZ scalabile, altamente disponibile e affidabile con un meccanismo di failover automatizzato integrato e capacità ridimensionabile per un database relazionale standard del settore come MySQL. Gestisce le attività comuni di amministrazione del database senza la necessità di eseguire il provisioning dell'infrastruttura o la manutenzione del software.
- Artefatti della pipeline in Amazon S3 – Amazon S3 offre scalabilità, disponibilità dei dati, sicurezza e prestazioni leader del settore e potrebbe essere utilizzato per soddisfare le vostre esigenze requisiti di conformità.
Queste integrazioni aiutano a scaricare la gestione e la manutenzione dei metadati e dello storage degli artefatti da Kubeflow autogestito ai servizi gestiti da AWS, che sono più facili da configurare, utilizzare e scalare.
Supporto per file system distribuiti con Amazon EFS e Amazon FSx
Kubeflow si basa su Kubernetes, che fornisce un'infrastruttura per l'elaborazione dei dati distribuita su larga scala, incluso il training e l'ottimizzazione di modelli di grandi dimensioni con una rete profonda con milioni o addirittura miliardi di parametri. Per supportare tali sistemi ML di elaborazione dati distribuiti, Kubeflow su AWS fornisce l'integrazione con i seguenti servizi di storage:
- AmazonEFS – Un file system distribuito nativo per il cloud ad alte prestazioni, che è possibile gestire tramite un Driver CSI Amazon EFS. Amazon EFS fornisce
ReadWriteMany
modalità di accesso e ora puoi usarlo per montare in pod (Jupyter, training model, model tuning) in esecuzione in un piano dati Kubeflow per fornire uno spazio di lavoro persistente, scalabile e condivisibile che cresce e si riduce automaticamente quando aggiungi e rimuovi file con nessuna necessità di gestione. - Amazon FSx per Lustre – Un file system ottimizzato per carichi di lavoro ad alta intensità di calcolo, come elaborazione ad alte prestazioni e ML, che puoi gestire tramite Driver CSI Amazon FSx. FSx for Lustre fornisce
ReadWriteMany
modalità di accesso e puoi utilizzarlo per memorizzare nella cache i dati di addestramento con connettività diretta ad Amazon S3 come archivio di supporto, che puoi utilizzare per supportare i server notebook Jupyter o la formazione distribuita in esecuzione in un piano dati Kubeflow. Con questa configurazione, non è necessario trasferire i dati al file system prima di utilizzare il volume. FSx for Lustre fornisce latenze costanti inferiori al millisecondo e concorrenza elevata e può scalare fino a TB/s di throughput e milioni di IOPS.
Opzioni di distribuzione di Kubeflow
AWS fornisce varie opzioni di distribuzione di Kubeflow:
- Distribuzione con Amazon Cognito
- Distribuzione con Amazon RDS e Amazon S3
- Distribuzione con Amazon Cognito, Amazon RDS e Amazon S3
- Distribuzione della vaniglia
Per i dettagli sull'integrazione del servizio e sui componenti aggiuntivi disponibili per ciascuna di queste opzioni, fare riferimento a Opzioni di distribuzione. Puoi adattare l'opzione che meglio si adatta al tuo caso d'uso.
Nella sezione seguente, esamineremo i passaggi per installare la distribuzione AWS Kubeflow v1.4 su Amazon EKS. Quindi utilizziamo l'esempio di pipeline XGBoost esistente disponibile sul dashboard dell'interfaccia utente centrale di Kubeflow per dimostrare l'integrazione e l'utilizzo di AWS Kubeflow con Amazon Cognito, Amazon RDS e Amazon S3, con Secrets Manager come componente aggiuntivo.
Prerequisiti
Per questa procedura dettagliata, è necessario disporre dei seguenti prerequisiti:
- An Account AWS.
- Un cluster Amazon EKS esistente. Dovrebbe essere Kubernetes versione 1.19 o successiva. Per la creazione automatizzata di cluster utilizzando escl, Vedere Crea un cluster Amazon EKS e usa l'opzione eksctl.
Installa i seguenti strumenti sul computer client utilizzato per accedere al tuo cluster Kubernetes. Puoi usare AWS Cloud9, un ambiente di sviluppo integrato (IDE) basato su cloud per la configurazione del cluster Kubernetes.
- Interfaccia della riga di comando di AWS (AWS CLI) – Uno strumento a riga di comando per interagire con i servizi AWS. Per le istruzioni di installazione, fare riferimento a Installazione, aggiornamento e disinstallazione di AWS CLI.
- escl > 0.56 – Uno strumento a riga di comando per lavorare con i cluster Amazon EKS che automatizza molte singole attività.
- kubectl – Uno strumento da riga di comando per lavorare con i cluster Kubernetes.
- git – Un software di controllo della versione distribuito.
- Pitone 3.8+ – L'ambiente di programmazione Python.
- seme – Il gestore di pacchetti per Python.
- personalizzare la versione 3.2.0 – Uno strumento da riga di comando per personalizzare gli oggetti Kubernetes tramite un file di personalizzazione.
Installa Kubeflow su AWS
Configura kubectl in modo da poterti connettere a un cluster Amazon EKS:
Vari controller nell'utilizzo della distribuzione Kubeflow Ruoli IAM per gli account di servizio (IRSA). Un provider OIDC deve esistere affinché il tuo cluster utilizzi IRSA. Crea un provider OIDC e associalo al tuo cluster Amazon EKS eseguendo il comando seguente, se il tuo cluster non ne ha già uno:
Clonare il repository manifest AWS e il repository manifest Kubeflow e controllare i rispettivi rami di rilascio:
Per ulteriori informazioni su queste versioni, fare riferimento a Rilasci e versioni.
Configura Amazon RDS, Amazon S3 e Secrets Manager
Crea risorse Amazon RDS e Amazon S3 prima di distribuire i manifest Kubeflow. Utilizziamo script Python automatizzati che si occupano della creazione del bucket S3, del database RDS e dei segreti richiesti in Secrets Manager. Modifica anche i file di configurazione richiesti per la pipeline Kubeflow e AutoML in modo che siano configurati correttamente per il database RDS e il bucket S3 durante l'installazione di Kubeflow.
Crea un utente IAM con le autorizzazioni per consentire GetBucketLocation
e accesso in lettura e scrittura agli oggetti in un bucket S3 in cui desideri archiviare gli artefatti Kubeflow. Usa il AWS_ACCESS_KEY_ID
ed AWS_SECRET_ACCESS_KEY
dell'utente IAM nel codice seguente:
Configura Amazon Cognito come provider di autenticazione
In questa sezione creiamo un dominio personalizzato in Route 53 e ALB per instradare il traffico esterno a Kubeflow Istio Gateway. Utilizziamo ACM per creare un certificato per abilitare l'autenticazione TLS su ALB e Amazon Cognito per mantenere il pool di utenti e gestire l'autenticazione degli utenti.
Sostituisci i seguenti valori in
- route53.rootDomain.nome – Il dominio registrato. Supponiamo che questo dominio lo sia
example.com
. - route53.rootDomain.hostedZoneId – Se il tuo dominio è gestito in Route53, inserisci l'ID della zona ospitata che si trova sotto i dettagli della zona ospitata. Salta questo passaggio se il tuo dominio è gestito da un altro provider di dominio.
- route53.sottodominio.nome – Il nome del sottodominio in cui desideri ospitare Kubeflow (ad esempio,
platform.example.com
). Per ulteriori informazioni sui sottodomini, fare riferimento a Distribuzione di Kubeflow con AWS Cognito come IdP. - nome.cluster – Il nome del cluster e la posizione in cui viene distribuito Kubeflow.
- cluster.regione – La regione del cluster in cui viene distribuito Kubeflow (ad esempio,
us-west-2
). - cognitoUserpool.nome – Il nome del pool di utenti Amazon Cognito (ad esempio,
kubeflow-users
).
Il file di configurazione è simile al seguente codice:
Esegui lo script per creare le risorse:
Lo script aggiorna il config.yaml
file con i nomi delle risorse, gli ID e gli ARN creati. Sembra qualcosa come il seguente codice:
Crea manifest e distribuisci Kubeflow
Distribuisci Kubeflow usando il comando seguente:
Aggiorna il dominio con l'indirizzo ALB
La distribuzione crea un servizio di bilanciamento del carico dell'applicazione AWS gestito in ingresso. Aggiorniamo le voci DNS per il sottodominio in Route 53 con il DNS del sistema di bilanciamento del carico. Esegui il comando seguente per verificare se è stato eseguito il provisioning del servizio di bilanciamento del carico (questo richiede circa 3-5 minuti):
Se l' ADDRESS
campo è vuoto dopo alcuni minuti, controllare i log di alb-ingress-controller
. Per istruzioni, fare riferimento a ALB non effettua il provisioning.
Quando viene eseguito il provisioning del servizio di bilanciamento del carico, copia il nome DNS del servizio di bilanciamento del carico e sostituisci l'indirizzo kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. La sezione Kubeflow del file di configurazione è simile al codice seguente:
Eseguire lo script seguente per aggiornare le voci DNS per il sottodominio in Route 53 con il DNS del servizio di bilanciamento del carico fornito:
Troubleshooting
In caso di problemi durante l'installazione, fare riferimento a guida alla risoluzione dei problemi o ricominciare da capo seguendo la sezione "Ripulisci" in questo blog.
Procedura dettagliata del caso d'uso
Ora che abbiamo completato l'installazione dei componenti Kubeflow richiesti, vediamoli in azione utilizzando uno degli esempi esistenti forniti da Kubeflow Pipelines sul dashboard.
Accedi al dashboard di Kubeflow utilizzando Amazon Cognito
Per iniziare, accediamo al dashboard di Kubeflow. Poiché abbiamo utilizzato Amazon Cognito come IdP, utilizza le informazioni fornite in file README ufficiale. Per prima cosa creiamo alcuni utenti sulla console Amazon Cognito. Questi sono gli utenti che accederanno alla dashboard centrale. Prossimo, creare un profilo per l'utente che hai creato. Quindi dovresti essere in grado di accedere alla dashboard tramite la pagina di accesso all'indirizzo https://kubeflow.platform.example.com.
Lo screenshot seguente mostra la nostra dashboard Kubeflow.
Esegui la pipeline
Nella dashboard di Kubeflow, scegli Condotte nel nome di navigazione. Dovresti vedere quattro esempi forniti da Kubeflow Pipelines che puoi eseguire direttamente per esplorare varie funzionalità di Pipelines.
Per questo post, utilizziamo l'esempio di XGBoost chiamato [Demo] XGBoost – Training del modello iterativo. Puoi trovare il codice sorgente su GitHub. Questa è una semplice pipeline che utilizza l'esistente XGBoost/Train
ed XGBoost/Predict
Componenti della pipeline Kubeflow per addestrare in modo iterativo un modello fino a quando le metriche non vengono considerate valide in base a metriche specificate.
Per eseguire la pipeline, completare i seguenti passaggi:
- Seleziona la pipeline e scegli Crea esperimento.
- Sotto Dettagli dell'esperimento, inserisci un nome (per questo post,
demo-blog
) e descrizione facoltativa. - Scegli Avanti.
- Sotto Dettagli dell'esecuzione¸ scegli la tua pipeline e la versione della pipeline.
- Nel Nome dell'esecuzione, inserisci un nome.
- Nel Sperimentare, scegli l'esperimento che hai creato.
- Nel Tipo di corsa, selezionare Una tantum.
- Scegli Inizio.
Dopo l'avvio della pipeline, dovresti vedere il completamento dei componenti (entro pochi secondi). A questo punto, puoi scegliere uno qualsiasi dei componenti completati per vedere maggiori dettagli.
Accedi agli artefatti in Amazon S3
Durante la distribuzione di Kubeflow, abbiamo specificato che Kubeflow Pipelines dovrebbe utilizzare Amazon S3 per archiviare i suoi artefatti. Ciò include tutti gli artefatti di output della pipeline, le esecuzioni memorizzate nella cache e i grafici della pipeline, che possono quindi essere utilizzati per visualizzazioni avanzate e valutazione delle prestazioni.
Al termine dell'esecuzione della pipeline, dovresti essere in grado di visualizzare gli artefatti nel bucket S3 creato durante l'installazione. Per confermare ciò, scegli un qualsiasi componente completato della pipeline e controlla il Input Output sezione sull'impostazione predefinita Grafico scheda. Gli URL degli artefatti devono puntare al bucket S3 specificato durante la distribuzione.
Per confermare che le risorse sono state aggiunte ad Amazon S3, possiamo anche controllare il bucket S3 nel nostro account AWS tramite la console Amazon S3.
Lo screenshot seguente mostra i nostri file.
Verifica i metadati ML in Amazon RDS
Abbiamo anche integrato Kubeflow Pipelines con Amazon RDS durante la distribuzione, il che significa che tutti i metadati della pipeline devono essere archiviati in Amazon RDS. Ciò include qualsiasi informazione di runtime come lo stato di un'attività, la disponibilità di risorse, proprietà personalizzate associate all'esecuzione o alle risorse e altro ancora.
Per verificare l'integrazione di Amazon RDS, segui i passaggi forniti in file README ufficiale. In particolare, completare i seguenti passaggi:
- Ottieni il nome utente e la password Amazon RDS dal segreto creato durante l'installazione:
- Utilizza queste credenziali per connetterti ad Amazon RDS dall'interno del cluster:
- Quando si apre il prompt di MySQL, possiamo verificare il
mlpipelines
banca dati come segue: - Ora possiamo leggere il contenuto di tabelle specifiche, per assicurarci di poter vedere le informazioni sui metadati sugli esperimenti che hanno eseguito le pipeline:
ripulire
Per disinstallare Kubeflow ed eliminare le risorse AWS che hai creato, completa i seguenti passaggi:
- Eliminare il servizio di bilanciamento del carico in ingresso e gestito in ingresso eseguendo il comando seguente:
- Elimina il resto dei componenti Kubeflow:
- Elimina le risorse AWS create dagli script:
- Risorse create per l'integrazione di Amazon RDS e Amazon S3. Assicurati di avere il file di configurazione creato dallo script in
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Risorse create per l'integrazione con Amazon Cognito. Assicurati di avere il file di configurazione creato dallo script in
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Risorse create per l'integrazione di Amazon RDS e Amazon S3. Assicurati di avere il file di configurazione creato dallo script in
- Se hai creato un cluster Amazon EKS dedicato per Kubeflow utilizzando eksctl, puoi eliminarlo con il comando seguente:
Sommario
In questo post, abbiamo evidenziato il valore che Kubeflow su AWS offre attraverso integrazioni di servizi nativi gestiti da AWS per carichi di lavoro IA e ML sicuri, scalabili e pronti per l'azienda. Puoi scegliere tra diverse opzioni di distribuzione per installare Kubeflow su AWS con varie integrazioni di servizi. Il caso d'uso in questo post ha dimostrato l'integrazione di Kubeflow con Amazon Cognito, Secrets Manager, Amazon RDS e Amazon S3. Per iniziare con Kubeflow su AWS, fai riferimento alle opzioni di distribuzione integrate in AWS disponibili in Kubeflow su AWS.
A partire dalla v1.3, puoi seguire il Repository di AWS Labs per tenere traccia di tutti i contributi AWS a Kubeflow. Ci puoi trovare anche sul Canale Kubeflow #AWS Slack; il tuo feedback ci aiuterà a stabilire la priorità delle funzionalità successive per contribuire al progetto Kubeflow.
Informazioni sugli autori
Kanwaljit Khurmi è un architetto specializzato in soluzioni AI/ML presso Amazon Web Services. Collabora con il prodotto, l'ingegneria e i clienti AWS per fornire guida e assistenza tecnica, aiutandoli a migliorare il valore delle loro soluzioni di machine learning ibride quando utilizzano AWS. Kanwaljit è specializzato nell'aiutare i clienti con applicazioni containerizzate e di machine learning.
Meghna Baijal è un ingegnere software con AWS AI che semplifica agli utenti l'onboarding dei propri carichi di lavoro di Machine Learning su AWS creando prodotti e piattaforme ML come Deep Learning Containers, Deep Learning AMI, AWS Controllers for Kubernetes (ACK) e Kubeflow su AWS . Al di fuori del lavoro le piace leggere, viaggiare e dilettarsi nella pittura.
Suraj Kota è un Software Engineer specializzato in infrastrutture di Machine Learning. Crea strumenti per iniziare facilmente e scalare il carico di lavoro di machine learning su AWS. Ha lavorato su AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators for Kubernetes e altre integrazioni open source come Kubeflow.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/build-and-deploy-a-scalable-machine-learning-system-on-kubernetes-with-kubeflow-on-aws/
- "
- 10
- 100
- 420
- 7
- Chi siamo
- accesso
- Il mio account
- Action
- Aggiungi su
- indirizzo
- Admin
- amministrazione
- affiliati
- AI
- Tutti
- già
- Amazon
- Amazon Web Services
- Un altro
- Applicazioni
- applicazioni
- opportuno
- architettura
- in giro
- Associate
- autenticato
- autentica
- Autenticazione
- autorizzazione
- automatizzare
- Automatizzata
- automatizza
- disponibilità
- disponibile
- AWS
- diventare
- vantaggi
- MIGLIORE
- miliardi
- Blog
- sistema
- costruire
- Costruzione
- costruisce
- incassato
- funzionalità
- Ultra-Grande
- che
- casi
- CD
- a livello internazionale
- certificato
- impegnativo
- Procedi all'acquisto
- Scegli
- classe
- codice
- Uncommon
- completando
- complesso
- componente
- computer
- informatica
- Configurazione
- Connettiti
- Connettività
- consolle
- Tecnologie Container
- contiene
- contenuto
- continua
- contribuire
- di controllo
- controllore
- copyright
- potuto
- creare
- creato
- crea
- Creazione
- creazione
- Credenziali
- critico
- costume
- Clienti
- cruscotto
- dati
- elaborazione dati
- scienza dei dati
- Banca Dati
- Protezione
- dedicato
- Richiesta
- dimostrare
- dimostrato
- schierare
- schierato
- distribuzione
- deployment
- implementazioni
- Distribuisce
- Design
- dettaglio
- dettagli
- Mercato
- Dex
- diverso
- dirette
- direttamente
- discutere
- distribuito
- distribuzione
- dns
- non
- dominio
- facilmente
- facile da usare
- eco
- enable
- crittografia
- endpoint
- ingegnere
- Ingegneria
- entrare
- Impresa
- Ambiente
- valutazione
- Evento
- esempio
- esistente
- esperienza
- esperimento
- esplora
- Fallimento
- Caratteristiche
- feedback
- finanziario
- Nome
- in forma
- flusso
- Focus
- si concentra
- seguire
- i seguenti
- formato
- essere trovato
- fresco
- ottenere
- Idiota
- GitHub
- buono
- Crescere
- Crescita
- Aiuto
- aiutare
- aiuta
- qui
- Alta
- superiore
- Evidenziato
- vivamente
- di hosting
- HTTPS
- IBRIDO
- Identità
- Impact
- realizzare
- competenze
- Inc.
- inclusi
- Compreso
- è aumentato
- individuale
- leader del settore
- info
- informazioni
- Infrastruttura
- install
- integrato
- integrazione
- integrazioni
- investire
- da solo
- sicurezza
- IT
- stessa
- Offerte di lavoro
- conservazione
- Le
- Labs
- Lingua
- grandi
- lanciato
- apprendimento
- di sollevamento
- linea
- caricare
- locale
- macchina
- machine learning
- mantenere
- FA
- Fare
- gestire
- gestito
- gestione
- direttore
- Metrica
- milioni
- ML
- modello
- modelli
- monitoraggio
- Scopri di più
- maggior parte
- nomi
- Naturale
- Navigazione
- rete
- Rete
- nodi
- taccuino
- numero
- Offerte
- aprire
- open source
- apre
- Operatori
- ottimizzati
- Opzione
- Opzioni
- Altro
- proprio
- Password
- performance
- piattaforma
- Piattaforme
- punto
- Termini e Condizioni
- pool
- presenti
- priorità
- lavorazione
- Prodotto
- Prodotti
- Programmazione
- progetto
- protegge
- fornire
- fornisce
- fornitura
- la percezione
- rapidamente
- raggiungere
- Lettura
- motivi
- record
- registrato
- rilasciare
- richiesta
- necessario
- Requisiti
- risorsa
- Risorse
- risposta
- REST
- strada
- Correre
- running
- Scalabilità
- scalabile
- Scala
- scala
- Scienze
- sdk
- SEC
- secondo
- sicuro
- problemi di
- serverless
- servizio
- Servizi
- set
- flessibile.
- azioni
- Segni
- Un'espansione
- Taglia
- allentato
- sonno
- So
- Social
- Software
- Software Engineer
- solido
- soluzione
- Soluzioni
- alcuni
- qualcosa
- codice sorgente
- specialista
- specializzata
- specializzata
- in particolare
- Stage
- inizia a
- iniziato
- inizio
- Regione / Stato
- Stato dei servizi
- conservazione
- Tornare al suo account
- Con successo
- supporto
- supporti
- sistema
- SISTEMI DI TRATTAMENTO
- task
- Consulenza
- L’ORIGINE
- Attraverso
- tempo
- token
- strumenti
- top
- pista
- traffico
- Training
- trasferimento
- Traduzione
- trasporto
- Di viaggio
- ui
- Aggiornanento
- Aggiornamenti
- us
- uso
- utenti
- convalidato
- APPREZZIAMO
- varietà
- vario
- verificare
- visione
- volume
- sito web
- servizi web
- OMS
- entro
- senza
- Lavora
- lavorato
- lavoro
- lavori