În această postare, demonstrăm Kubeflow pe AWS (o distribuție specifică AWS a lui Kubeflow) și valoarea pe care o adaugă față de Kubeflow cu sursă deschisă prin integrarea serviciilor AWS foarte optimizate, native pentru cloud, pregătite pentru întreprindere.
Kubeflow este platforma open-source de învățare automată (ML) dedicată implementării fluxurilor de lucru ML pe Kubernetes simple, portabile și scalabile. Kubeflow oferă multe componente, inclusiv un tablou de bord central, notebook-uri Jupyter multi-utilizator, Kubeflow Pipelines, KFServing și Katib, precum și operatori de instruire distribuiți pentru TensorFlow, PyTorch, MXNet și XGBoost, pentru a construi fluxuri de lucru ML simple, scalabile și portabile. .
AWS a lansat recent Kubeflow v1.4 ca parte a propriei sale distribuții Kubeflow (numită Kubeflow pe AWS), care simplifică sarcinile de știință a datelor și ajută la construirea de sisteme ML extrem de fiabile, sigure, portabile și scalabile, cu cheltuieli operaționale reduse prin integrări cu serviciile gestionate AWS . Puteți folosi această distribuție Kubeflow pentru a construi sisteme ML pe deasupra Serviciul Amazon Elastic Kubernetes (Amazon EKS) pentru a construi, antrena, regla și implementa modele ML pentru o mare varietate de cazuri de utilizare, inclusiv viziune computerizată, procesare a limbajului natural, traducere vocală și modelare financiară.
Provocări cu Kubeflow cu sursă deschisă
Când utilizați un proiect Kubeflow cu sursă deschisă, acesta implementează toate componentele planului de control Kubeflow și planului de date pe nodurile de lucru Kubernetes. Serviciile componente Kubeflow sunt implementate ca parte a planului de control Kubeflow, iar toate implementările de resurse legate de Jupyter, formarea modelului, reglarea și găzduirea sunt implementate în planul de date Kubeflow. Planul de control Kubeflow și planul de date pot rula pe aceleași noduri de lucru Kubernetes sau diferite. Această postare se concentrează pe componentele planului de control Kubeflow, așa cum este ilustrat în diagrama următoare.
Este posibil ca acest model de implementare să nu ofere o experiență pregătită pentru întreprindere din următoarele motive:
- Toate componentele infrastructurii de ridicare grele a planului de control Kubeflow, inclusiv baza de date, stocarea și autentificarea, sunt implementate în nodul de lucru al clusterului Kubernetes însuși. Acest lucru face dificilă implementarea unei arhitecturi de proiectare a planului de control Kubeflow foarte disponibil, cu o stare persistentă în cazul defecțiunii nodului de lucru.
- Artefactele generate de planul de control Kubeflow (cum ar fi instanțe MySQL, jurnalele pod sau stocarea MinIO) cresc în timp și au nevoie de volume de stocare redimensionabile cu capabilități de monitorizare continuă pentru a satisface cererea de stocare în creștere. Deoarece planul de control Kubeflow partajează resurse cu încărcăturile de lucru din planul de date Kubeflow (de exemplu, pentru joburi de instruire, conducte și implementări), dimensionarea și scalarea corectă a clusterelor Kubernetes și a volumelor de stocare poate deveni o provocare și poate duce la costuri operaționale crescute.
- Kubernetes restricționează dimensiunea fișierului jurnal, majoritatea instalărilor păstrând cea mai recentă limită de 10 MB. În mod implicit, jurnalele pod devin inaccesibile după ce ating această limită superioară. Jurnalele ar putea deveni, de asemenea, inaccesibile dacă pod-urile sunt evacuate, prăbușite, șterse sau programate pe un alt nod, ceea ce ar putea afecta disponibilitatea jurnalului aplicației și capacitățile de monitorizare.
Kubeflow pe AWS
Kubeflow pe AWS oferă o cale clară de utilizare a Kubeflow, cu următoarele servicii AWS:
- Aplicație Load Balancer pentru gestionarea securizată a traficului extern prin HTTPS
- Amazon CloudWatch pentru gestionarea jurnalelor persistente
- AWS Cognito pentru autentificarea utilizatorului cu Transport Layer Security (TLS)
- Containere de învățare profundă AWS pentru imagini extrem de optimizate ale serverului de notebook Jupyter
- Sistem de fișiere elastice Amazon (Amazon EFS) sau Amazon FSx pentru Luster pentru o soluție de stocare a fișierelor simplă, scalabilă și fără server pentru performanță sporită de antrenament
- Amazon EKS pentru clustere Kubernetes gestionate
- Serviciul de baze de date relaționale Amazon (Amazon RDS) pentru conducte foarte scalabile și un depozit de metadate
- Manager de secrete AWS pentru a proteja secretele necesare pentru a vă accesa aplicațiile
- Serviciul Amazon de stocare simplă (Amazon S3) pentru un magazin de artefacte ușor de utilizat
Aceste integrări de servicii AWS cu Kubeflow (așa cum se arată în diagrama următoare) ne permit să decuplăm părțile critice ale planului de control Kubeflow de Kubernetes, oferind un design sigur, scalabil, rezistent și optimizat din punct de vedere al costurilor.
Să discutăm despre beneficiile fiecărei integrări de servicii și soluțiile acestora în ceea ce privește securitatea, rularea conductelor ML și stocarea.
Autentificare sigură a utilizatorilor Kubeflow cu Amazon Cognito
Securitatea cloud la AWS este cea mai mare prioritate și investim în integrarea strânsă a securității Kubeflow direct în serviciile de securitate cu responsabilitate partajată AWS, cum ar fi următoarele:
- Aplicație Load Balancer (ALB) pentru gestionarea traficului extern
- Manager certificat AWS (ACM) pentru a suporta TLS
- Roluri IAM pentru conturile de serviciu (IRSA) pentru controlul precis al accesului la nivel de pod Kubernetes
- AWS Service Management Service (AWS KMS) pentru gestionarea cheilor de criptare a datelor
- Scutul AWS pentru protecție DDoS
În această secțiune, ne concentrăm pe integrarea planului de control AWS Kubeflow cu Amazon Cognito. Amazon Cognito elimină nevoia de a gestiona și întreține o soluție nativă Dex (furnizor open-source OpenID Connect (OIDC) susținut de LDAP local) pentru autentificarea utilizatorilor și facilitează gestionarea secretelor.
De asemenea, puteți utiliza Amazon Cognito pentru a adăuga rapid și ușor înregistrarea utilizatorului, conectarea și controlul accesului la interfața de utilizare Kubeflow. Amazon Cognito se extinde la milioane de utilizatori și acceptă conectarea cu furnizorii de identitate socială (IdP), cum ar fi Facebook, Google și Amazon, și IdP-uri de întreprindere prin SAML 2.0. Acest lucru reduce complexitatea configurației dvs. Kubeflow, făcându-l ușor operațional și mai ușor de operat pentru a obține izolarea multi-utilizator.
Să ne uităm la un flux de autentificare multi-utilizator cu Amazon Cognito, ALB și integrări ACM cu Kubeflow pe AWS. Există o serie de componente cheie ca parte a acestei integrări. Amazon Cognito este configurat ca IdP cu un apel invers de autentificare configurat pentru a direcționa cererea către Kubeflow după autentificarea utilizatorului. Ca parte a configurației Kubeflow, este creată o resursă de intrare Kubernetes pentru a gestiona traficul extern către serviciul Istio Gateway. Controlerul de intrare AWS ALB furnizează un echilibrator de încărcare pentru intrarea respectivă. Folosim Ruta Amazonului 53 pentru a configura un DNS public pentru domeniul înregistrat și pentru a crea certificate folosind ACM pentru a activa autentificarea TLS la echilibrul de încărcare.
Următoarea diagramă arată fluxul de lucru tipic al utilizatorului de conectare la Amazon Cognito și redirecționare către Kubeflow în spațiul de nume respectiv.
Fluxul de lucru conține următorii pași:
- Utilizatorul trimite o solicitare HTTPS către tabloul de bord central Kubeflow găzduit în spatele unui echilibrator de încărcare. Route 53 rezolvă FQDN-ul în înregistrarea alias ALB.
- Dacă cookie-ul nu este prezent, echilibratorul de încărcare redirecționează utilizatorul către punctul final de autorizare Amazon Cognito, astfel încât Amazon Cognito să poată autentifica utilizatorul.
- După ce utilizatorul este autentificat, Amazon Cognito îl trimite înapoi la echilibrator de încărcare cu un cod de autorizare.
- Echilibratorul de încărcare prezintă codul de acordare a autorizației punctului final al jetonului Amazon Cognito.
- La primirea unui cod valid de acordare a autorizației, Amazon Cognito furnizează jetonul de identificare și jetonul de acces pentru echilibrarea încărcăturii.
- După ce echilibratorul de încărcare autentifică cu succes un utilizator, acesta trimite jetonul de acces la punctul final de informații despre utilizator Amazon Cognito și primește revendicări ale utilizatorilor. Echilibratorul de încărcare semnează și adaugă revendicări ale utilizatorilor la antetul HTTP
x-amzn-oidc-*
într-un format de solicitare JSON web token (JWT). - Solicitarea de la echilibrantul de încărcare este trimisă la podul Istio Ingress Gateway.
- Folosind un filtru Envoy, Istio Gateway decodifică
x-amzn-oidc-data
valoare, preia câmpul de e-mail și adaugă antetul HTTP personalizatkubeflow-userid
, care este utilizat de stratul de autorizare Kubeflow. - Politicile de control al accesului bazate pe resurse Istio sunt aplicate cererii primite pentru a valida accesul la tabloul de bord Kubeflow. Dacă oricare dintre acestea este inaccesibil utilizatorului, este trimis înapoi un răspuns de eroare. Dacă solicitarea este validată, este redirecționată către serviciul Kubeflow corespunzător și oferă acces la tabloul de bord Kubeflow.
Metadatele componentelor Kubeflow persistente și stocarea artefactelor cu Amazon RDS și Amazon S3
Kubeflow pe AWS oferă integrare cu Serviciul de baze de date relaționale Amazon (Amazon RDS) în Kubeflow Pipelines și AutoML (Secretar) pentru stocarea persistentă a metadatelor și Amazon S3 în Kubeflow Pipelines pentru stocarea persistentă a artefactelor. Să continuăm să discutăm despre Kubeflow Pipelines mai detaliat.
Kubeflow Pipelines este o platformă pentru construirea și implementarea fluxurilor de lucru ML portabile și scalabile. Aceste fluxuri de lucru pot ajuta la automatizarea conductelor ML complexe folosind componente Kubeflow încorporate și personalizate. Kubeflow Pipelines include Python SDK, un compilator DSL pentru a converti codul Python într-o configurație statică, un serviciu Pipelines care rulează conducte din configurația statică și un set de controlere pentru a rula containerele din podurile Kubernetes necesare pentru a finaliza conducta.
Metadatele Kubeflow Pipelines pentru experimentele și executările pipeline sunt stocate în MySQL, iar artefactele, inclusiv pachetele pipeline și valorile, sunt stocate în MinIO.
După cum se arată în diagrama următoare, Kubeflow on AWS vă permite să stocați următoarele componente cu servicii gestionate AWS:
- Metadatele pipeline în Amazon RDS – Amazon RDS oferă o arhitectură de implementare Multi-AZ scalabilă, foarte disponibilă și fiabilă, cu un mecanism de failover automat încorporat și capacitate redimensionabilă pentru o bază de date relațională standard în industrie, cum ar fi MySQL. Gestionează sarcinile comune de administrare a bazelor de date fără a fi nevoie să furnizeze infrastructură sau să întrețină software.
- Artefacte de conductă în Amazon S3 – Amazon S3 oferă scalabilitate, disponibilitate a datelor, securitate și performanță de vârf în industrie și ar putea fi folosit pentru a vă satisface cerințe de conformitate.
Aceste integrări ajută la descărcarea gestionării și întreținerii metadatelor și stocării artefactelor de la Kubeflow autogestionat la serviciile gestionate AWS, care este mai ușor de configurat, operat și scalat.
Suport pentru sistemele de fișiere distribuite cu Amazon EFS și Amazon FSx
Kubeflow se bazează pe Kubernetes, care oferă o infrastructură pentru procesarea datelor distribuite la scară largă, inclusiv instruirea și reglarea modelelor mari cu o rețea profundă cu milioane sau chiar miliarde de parametri. Pentru a sprijini astfel de sisteme ML de procesare a datelor distribuite, Kubeflow on AWS oferă integrare cu următoarele servicii de stocare:
- Amazon EFS – Un sistem de fișiere distribuit, de înaltă performanță, nativ în cloud, pe care l-ați putea gestiona printr-un Driver Amazon EFS CSI. Amazon EFS oferă
ReadWriteMany
de acces, iar acum îl puteți folosi pentru a monta în pod-uri (Jupyter, antrenament model, reglare model) care rulează într-un plan de date Kubeflow pentru a oferi un spațiu de lucru persistent, scalabil și care poate fi partajat, care crește și se micșorează automat pe măsură ce adăugați și eliminați fișiere cu nu este nevoie de management. - Amazon FSx pentru Luster – Un sistem de fișiere optimizat pentru încărcături de lucru intensive în calcul, cum ar fi calculul de înaltă performanță și ML, pe care îl puteți gestiona prin intermediul Driver Amazon FSx CSI. FSx for Luster oferă
ReadWriteMany
modul de acces, de asemenea, și îl puteți folosi pentru a stoca în cache datele de antrenament cu conectivitate directă la Amazon S3 ca magazin de rezervă, pe care îl puteți folosi pentru a susține servere de notebook Jupyter sau instruire distribuită care rulează într-un plan de date Kubeflow. Cu această configurație, nu trebuie să transferați date în sistemul de fișiere înainte de a utiliza volumul. FSx for Luster oferă latențe consistente submilisecunde și concurență ridicată și poate scala la TB/s de debit și milioane de IOPS.
Opțiuni de implementare Kubeflow
AWS oferă diverse opțiuni de implementare Kubeflow:
- Implementare cu Amazon Cognito
- Implementare cu Amazon RDS și Amazon S3
- Implementare cu Amazon Cognito, Amazon RDS și Amazon S3
- Implementare Vanilla
Pentru detalii despre integrarea serviciului și suplimentele disponibile pentru fiecare dintre aceste opțiuni, consultați Opțiuni de implementare. Puteți instala opțiunea care se potrivește cel mai bine cazului dvs. de utilizare.
În secțiunea următoare, parcurgem pașii pentru a instala distribuția AWS Kubeflow v1.4 pe Amazon EKS. Apoi folosim exemplul de pipeline XGBoost existent disponibil pe tabloul de bord central al interfeței de utilizare Kubeflow pentru a demonstra integrarea și utilizarea AWS Kubeflow cu Amazon Cognito, Amazon RDS și Amazon S3, cu Secrets Manager ca supliment.
Cerințe preliminare
Pentru această prezentare generală, ar trebui să aveți următoarele condiții prealabile:
- An Cont AWS.
- Un cluster Amazon EKS existent. Ar trebui să fie Kubernetes versiunea 1.19 sau o versiune ulterioară. Pentru crearea automată a clusterului folosind eksctl, A se vedea Creați un cluster Amazon EKS și folosiți opțiunea eksctl.
Instalați următoarele instrumente pe mașina client utilizată pentru a vă accesa clusterul Kubernetes. Poți să folosești AWS Cloud9, un mediu de dezvoltare integrat (IDE) bazat pe cloud pentru configurarea clusterului Kubernetes.
- Interfața liniei de comandă AWS (AWS CLI) – Un instrument de linie de comandă pentru interacțiunea cu serviciile AWS. Pentru instrucțiuni de instalare, consultați Instalarea, actualizarea și dezinstalarea AWS CLI.
- eksctl > 0.56 – Un instrument de linie de comandă pentru lucrul cu clustere Amazon EKS care automatizează multe sarcini individuale.
- kubectl – Un instrument de linie de comandă pentru lucrul cu clustere Kubernetes.
- merge – Un software distribuit de control al versiunilor.
- Python 3.8+ – Mediul de programare Python.
- țâfnă – Managerul de pachete pentru Python.
- kustomize versiunea 3.2.0 – Un instrument de linie de comandă pentru a personaliza obiectele Kubernetes printr-un fișier de personalizare.
Instalați Kubeflow pe AWS
Configurați kubectl astfel încât să vă puteți conecta la un cluster Amazon EKS:
În implementarea Kubeflow se folosesc diverse controlere Roluri IAM pentru conturile de serviciu (IRSA). Trebuie să existe un furnizor OIDC pentru ca clusterul dvs. să utilizeze IRSA. Creați un furnizor OIDC și asociați-l cu clusterul dvs. Amazon EKS rulând următoarea comandă, dacă clusterul dvs. nu are deja una:
Clonați depozitul de manifeste AWS și depozitul de manifeste Kubeflow și verificați ramurile de lansare respective:
Pentru mai multe informații despre aceste versiuni, consultați Lansări și versiuni.
Configurați Amazon RDS, Amazon S3 și Secrets Manager
Creați resurse Amazon RDS și Amazon S3 înainte de a implementa manifestele Kubeflow. Folosim scripturi automate Python care se ocupă de crearea compartimentului S3, a bazei de date RDS și a secretelor necesare în Secrets Manager. De asemenea, editează fișierele de configurare necesare pentru conducta Kubeflow și AutoML pentru a fi configurate corect pentru baza de date RDS și compartimentul S3 în timpul instalării Kubeflow.
Creați un utilizator IAM cu permisiuni pentru a permite GetBucketLocation
și acces de citire și scriere la obiectele dintr-o găleată S3 în care doriți să stocați artefactele Kubeflow. Folosește AWS_ACCESS_KEY_ID
și AWS_SECRET_ACCESS_KEY
al utilizatorului IAM în următorul cod:
Configurați Amazon Cognito ca furnizor de autentificare
În această secțiune, creăm un domeniu personalizat în Route 53 și ALB pentru a direcționa traficul extern către Kubeflow Istio Gateway. Folosim ACM pentru a crea un certificat care să permită autentificarea TLS la ALB și Amazon Cognito pentru a menține grupul de utilizatori și a gestiona autentificarea utilizatorilor.
Înlocuiți următoarele valori în
- route53.rootDomain.name – Domeniul înregistrat. Să presupunem că acest domeniu este
example.com
. - route53.rootDomain.hostedZoneId – Dacă domeniul dvs. este gestionat în Route53, introduceți ID-ul zonei găzduite aflat sub detaliile zonei găzduite. Omiteți acest pas dacă domeniul dvs. este gestionat de un alt furnizor de domeniu.
- route53.subDomain.name – Numele subdomeniului în care doriți să găzduiți Kubeflow (de exemplu,
platform.example.com
). Pentru mai multe informații despre subdomenii, consultați Implementarea Kubeflow cu AWS Cognito ca IdP. - cluster.nume – Numele clusterului și unde este implementat Kubeflow.
- cluster.regiune – Regiunea cluster în care este implementat Kubeflow (de exemplu,
us-west-2
). - cognitoUserpool.name – Numele pool-ului de utilizatori Amazon Cognito (de exemplu,
kubeflow-users
).
Fișierul de configurare arată ceva ca următorul cod:
Rulați scriptul pentru a crea resursele:
Scriptul actualizează config.yaml
fișier cu numele resurselor, ID-urile și ARN-urile pe care le-a creat. Arată ceva ca următorul cod:
Creați manifeste și implementați Kubeflow
Implementați Kubeflow folosind următoarea comandă:
Actualizați domeniul cu adresa ALB
Implementarea creează un echilibrator de încărcare a aplicației AWS gestionat de intrare. Actualizăm intrările DNS pentru subdomeniul din Route 53 cu DNS-ul echilibratorului de încărcare. Rulați următoarea comandă pentru a verifica dacă echilibrul de încărcare este furnizat (aceasta durează aproximativ 3-5 minute):
În cazul în care ADDRESS
câmpul este gol după câteva minute, verificați jurnalele de alb-ingress-controller
. Pentru instrucțiuni, consultați ALB nu reușește să furnizeze.
Când echilibratorul de încărcare este furnizat, copiați numele DNS al echilibratorului de încărcare și înlocuiți adresa pentru kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. Secțiunea Kubeflow a fișierului de configurare arată ca următorul cod:
Rulați următorul script pentru a actualiza intrările DNS pentru subdomeniul din Route 53 cu DNS-ul echilibratorului de încărcare furnizat:
Depanare
Dacă întâmpinați probleme în timpul instalării, consultați Ghid de depanare sau începeți din nou urmând secțiunea „Curățați” din acest blog.
Tutorial de utilizare a cazului
Acum că am finalizat instalarea componentelor Kubeflow necesare, să le vedem în acțiune folosind unul dintre exemplele existente furnizate de Kubeflow Pipelines pe tabloul de bord.
Accesați tabloul de bord Kubeflow folosind Amazon Cognito
Pentru a începe, să obținem acces la Tabloul de bord Kubeflow. Deoarece am folosit Amazon Cognito ca IdP, utilizați informațiile furnizate în fișierul oficial README. Mai întâi creăm câțiva utilizatori pe consola Amazon Cognito. Aceștia sunt utilizatorii care se vor conecta la tabloul de bord central. Următorul, creați un profil pentru utilizatorul pe care l-ați creat. Apoi ar trebui să puteți accesa tabloul de bord prin pagina de conectare la https://kubeflow.platform.example.com.
Următoarea captură de ecran arată tabloul de bord Kubeflow.
Rulați conducta
Pe tabloul de bord Kubeflow, alegeți Conducte în numele de navigare. Ar trebui să vedeți patru exemple oferite de Kubeflow Pipelines pe care le puteți rula direct pentru a explora diverse funcții Pipelines.
Pentru această postare, folosim exemplul XGBoost numit [Demo] XGBoost – Training model iterativ. Puteți găsi codul sursă pe GitHub. Aceasta este o conductă simplă care folosește cea existentă XGBoost/Train
și XGBoost/Predict
Componentele conductei Kubeflow pentru a antrena iterativ un model până când valorile sunt considerate bune pe baza unor valori specificate.
Pentru a rula conducta, parcurgeți următorii pași:
- Selectați conducta și alegeți Creați experiment.
- În Detalii despre experiment, introduceți un nume (pentru această postare,
demo-blog
) și descriere opțională. - Alege Pagina Următoare →.
- În Run detalii¸ alegeți versiunea de conductă și conductă.
- Pentru Nume de rulare, introduceți un nume.
- Pentru Experiment, alege experimentul pe care l-ai creat.
- Pentru Executați tipul, Selectați O singură dată.
- Alege acasă.
După ce conducta începe să ruleze, ar trebui să vedeți componentele completându-se (în câteva secunde). În această etapă, puteți alege oricare dintre componentele finalizate pentru a vedea mai multe detalii.
Accesați artefactele în Amazon S3
În timpul implementării Kubeflow, am specificat că Kubeflow Pipelines ar trebui să folosească Amazon S3 pentru a-și stoca artefactele. Aceasta include toate artefactele de ieșire a conductei, rulările în cache și graficele pipeline – toate acestea pot fi apoi utilizate pentru vizualizări bogate și evaluarea performanței.
Când rularea conductei este completă, ar trebui să puteți vedea artefactele din compartimentul S3 pe care l-ați creat în timpul instalării. Pentru a confirma acest lucru, alegeți orice componentă finalizată a conductei și verificați Intrare ieșire secțiune despre implicit Grafic fila. Adresele URL ale artefactelor ar trebui să indice compartimentul S3 pe care l-ați specificat în timpul implementării.
Pentru a confirma că resursele au fost adăugate la Amazon S3, putem verifica, de asemenea, compartimentul S3 în contul nostru AWS prin consola Amazon S3.
Următoarea captură de ecran arată fișierele noastre.
Verificați metadatele ML în Amazon RDS
De asemenea, am integrat Kubeflow Pipelines cu Amazon RDS în timpul implementării, ceea ce înseamnă că orice metadate ale conductei ar trebui să fie stocate în Amazon RDS. Aceasta include orice informații despre timpul de execuție, cum ar fi starea unei sarcini, disponibilitatea artefactelor, proprietățile personalizate asociate rulării sau artefactelor și multe altele.
Pentru a verifica integrarea Amazon RDS, urmați pașii furnizați în fișierul oficial README. Mai exact, parcurgeți următorii pași:
- Obțineți numele de utilizator și parola Amazon RDS din secretul care a fost creat în timpul instalării:
- Utilizați aceste date de conectare pentru a vă conecta la Amazon RDS din cadrul clusterului:
- Când se deschide promptul MySQL, putem verifica
mlpipelines
baza de date dupa cum urmeaza: - Acum putem citi conținutul anumitor tabele, pentru a ne asigura că putem vedea informații despre metadate despre experimentele care au rulat conductele:
A curăța
Pentru a dezinstala Kubeflow și a șterge resursele AWS pe care le-ați creat, parcurgeți următorii pași:
- Ștergeți echilibrul de încărcare gestionat de intrare și de intrare rulând următoarea comandă:
- Ștergeți restul componentelor Kubeflow:
- Ștergeți resursele AWS create de scripturi:
- Resurse create pentru integrarea Amazon RDS și Amazon S3. Asigurați-vă că aveți fișierul de configurare creat de script în
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Resurse create pentru integrarea Amazon Cognito. Asigurați-vă că aveți fișierul de configurare creat de script în
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Resurse create pentru integrarea Amazon RDS și Amazon S3. Asigurați-vă că aveți fișierul de configurare creat de script în
- Dacă ați creat un cluster Amazon EKS dedicat pentru Kubeflow folosind eksctl, îl puteți șterge cu următoarea comandă:
Rezumat
În această postare, am evidențiat valoarea pe care Kubeflow on AWS o oferă prin integrări native de servicii gestionate de AWS pentru sarcini de lucru AI și ML sigure, scalabile și pregătite pentru întreprindere. Puteți alege dintre mai multe opțiuni de implementare pentru a instala Kubeflow pe AWS cu diverse integrări de servicii. Cazul de utilizare din această postare a demonstrat integrarea Kubeflow cu Amazon Cognito, Secrets Manager, Amazon RDS și Amazon S3. Pentru a începe cu Kubeflow pe AWS, consultați opțiunile de implementare integrate în AWS disponibile în Kubeflow pe AWS.
Începând cu v1.3, puteți urma Depozitul AWS Labs pentru a urmări toate contribuțiile AWS la Kubeflow. Ne puteți găsi și pe Canalul Kubeflow #AWS Slack; feedback-ul dvs. acolo ne va ajuta să stabilim prioritățile următoarelor funcții care să contribuie la proiectul Kubeflow.
Despre Autori
Kanwaljit Khurmi este arhitect specializat în soluții AI/ML la Amazon Web Services. El lucrează cu produsul AWS, ingineria și clienții pentru a oferi îndrumări și asistență tehnică, ajutându-i să-și îmbunătățească valoarea soluțiilor hibride ML atunci când folosesc AWS. Kanwaljit este specializată în a ajuta clienții cu aplicații containerizate și de învățare automată.
Meghna Baijal este un inginer software cu AWS AI, care facilitează integrarea sarcinilor de lucru de Machine Learning pe AWS prin construirea de produse și platforme ML, cum ar fi Deep Learning Containers, Deep Learning AMI, AWS Controllers for Kubernetes (ACK) și Kubeflow pe AWS . În afara serviciului, îi place să citească, să călătorească și să se apuce de pictură.
Suraj Kota este un inginer software specializat în infrastructura Machine Learning. El creează instrumente pentru a începe cu ușurință și a scala volumul de lucru de învățare automată pe AWS. A lucrat la AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators pentru Kubernetes și alte integrări open source precum Kubeflow.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Sursa: 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
- Despre Noi
- acces
- Cont
- Acțiune
- Add-on
- adresa
- admin
- administrare
- afiliate
- AI
- TOATE
- deja
- Amazon
- Amazon Web Services
- O alta
- aplicație
- aplicatii
- adecvat
- arhitectură
- în jurul
- Avocat Colaborator
- autentificata
- autentifică
- Autentificare
- autorizare
- automatizarea
- Automata
- automate
- disponibilitate
- disponibil
- AWS
- deveni
- Beneficiile
- CEL MAI BUN
- miliarde
- Blog
- frontieră
- construi
- Clădire
- construiește
- construit-in
- capacități
- Capacitate
- pasă
- cazuri
- CD
- certificat
- Certificatele
- provocare
- Finalizeaza comanda
- Alege
- creanțe
- clasă
- cod
- Comun
- completarea
- complex
- component
- calculator
- tehnica de calcul
- Configuraţie
- Conectați
- Suport conectare
- Consoleze
- Containere
- conține
- conţinut
- continua
- a contribui
- Control
- controlor
- drepturi de autor
- ar putea
- crea
- a creat
- creează
- Crearea
- creaţie
- scrisori de acreditare
- critic
- personalizat
- clienţii care
- tablou de bord
- de date
- de prelucrare a datelor
- știința datelor
- Baza de date
- DDoS
- dedicat
- Cerere
- demonstra
- demonstrat
- implementa
- dislocate
- Implementarea
- desfășurarea
- implementări
- implementează
- Amenajări
- detaliu
- detalii
- Dezvoltare
- Dex
- diferit
- direcționa
- direct
- discuta
- distribuite
- distribuire
- dns
- Nu
- domeniu
- cu ușurință
- ușor de folosit
- ecou
- permite
- criptare
- Punct final
- inginer
- Inginerie
- Intrați
- Afacere
- Mediu inconjurator
- evaluare
- eveniment
- exemplu
- existent
- experienţă
- experiment
- explora
- Eșec
- DESCRIERE
- feedback-ul
- financiar
- First
- potrivi
- debit
- Concentra
- se concentrează
- urma
- următor
- format
- găsit
- proaspăt
- obtinerea
- merge
- GitHub
- bine
- Crește
- În creştere
- ajutor
- ajutor
- ajută
- aici
- Înalt
- superior
- Evidențiat
- extrem de
- găzduire
- HTTPS
- Hibrid
- Identitate
- Impactul
- punerea în aplicare a
- îmbunătăţi
- Inc
- include
- Inclusiv
- a crescut
- individ
- lider în industrie
- info
- informații
- Infrastructură
- instala
- integrate
- integrare
- integrările
- investind
- izolare
- probleme de
- IT
- în sine
- Locuri de munca
- păstrare
- Cheie
- Labs
- limbă
- mare
- a lansat
- învăţare
- ridicare
- Linie
- încărca
- local
- maşină
- masina de învățare
- menține
- FACE
- Efectuarea
- administra
- gestionate
- administrare
- manager
- Metrici
- milioane
- ML
- model
- Modele
- Monitorizarea
- mai mult
- cele mai multe
- nume
- Natural
- Navigare
- net
- reţea
- noduri
- caiet
- număr
- promoții
- deschide
- open-source
- deschide
- Operatorii
- optimizate
- Opțiune
- Opţiuni
- Altele
- propriu
- Parolă
- performanță
- platformă
- Platforme
- Punct
- Politicile
- piscină
- prezenta
- prioritate
- prelucrare
- Produs
- Produse
- Programare
- proiect
- proteja
- furniza
- furnizează
- furnizarea
- public
- repede
- ajunge
- Citind
- motive
- record
- înregistrată
- eliberaţi
- solicita
- necesar
- Cerinţe
- resursă
- Resurse
- răspuns
- REST
- Traseul
- Alerga
- funcţionare
- scalabilitate
- scalabil
- Scară
- scalare
- Ştiinţă
- sdk
- SEC
- secunde
- sigur
- securitate
- serverless
- serviciu
- Servicii
- set
- configurarea
- Acțiuni
- Semne
- simplu
- Mărimea
- moale
- dormi
- So
- Social
- Software
- Inginer Software
- solid
- soluţie
- soluţii
- unele
- ceva
- cod sursă
- specialist
- de specialitate
- specializată
- specific
- Etapă
- Începe
- început
- începe
- Stat
- Stare
- depozitare
- stoca
- Reușit
- a sustine
- Sprijină
- sistem
- sisteme
- sarcini
- Tehnic
- Sursa
- Prin
- timp
- semn
- instrument
- Unelte
- top
- urmări
- trafic
- Pregătire
- transfer
- Traducere
- de transport
- Traveling
- ui
- Actualizează
- actualizări
- us
- utilizare
- utilizatorii
- validate
- valoare
- varietate
- diverse
- verifica
- viziune
- volum
- web
- servicii web
- OMS
- în
- fără
- Apartamente
- a lucrat
- de lucru
- fabrică