I dette innlegget demonstrerer vi Kubeflow på AWS (en AWS-spesifikk distribusjon av Kubeflow) og verdien den tilfører over åpen kildekode Kubeflow gjennom integrering av svært optimaliserte, skybaserte, bedriftsklare AWS-tjenester.
Kubeflow er maskinlæringsplattformen med åpen kildekode (ML) dedikert til å gjøre distribusjoner av ML-arbeidsflyter på Kubernetes enkle, bærbare og skalerbare. Kubeflow tilbyr mange komponenter, inkludert et sentralt dashbord, Jupyter-notatbøker for flere brukere, Kubeflow Pipelines, KFServing og Katib, samt distribuerte opplæringsoperatører for TensorFlow, PyTorch, MXNet og XGBoost, for å bygge enkle, skalerbare og bærbare ML-arbeidsflyter .
AWS lanserte nylig Kubeflow v1.4 som en del av sin egen Kubeflow-distribusjon (kalt Kubeflow på AWS), som effektiviserer datavitenskapelige oppgaver og hjelper til med å bygge svært pålitelige, sikre, bærbare og skalerbare ML-systemer med reduserte driftskostnader gjennom integrasjoner med AWS-administrerte tjenester . Du kan bruke denne Kubeflow-distribusjonen til å bygge ML-systemer på toppen av Amazon Elastic Kubernetes-tjeneste (Amazon EKS) for å bygge, trene, stille inn og distribuere ML-modeller for en rekke bruksområder, inkludert datasyn, naturlig språkbehandling, taleoversettelse og økonomisk modellering.
Utfordringer med åpen kildekode Kubeflow
Når du bruker et åpen kildekode Kubeflow-prosjekt, distribuerer det alle Kubeflow-kontrollplan- og dataplankomponenter på Kubernetes-arbeidernoder. Kubeflow-komponenttjenester distribueres som en del av Kubeflow-kontrollplanet, og all ressursdistribusjon relatert til Jupyter, modelltrening, tuning og hosting distribueres på Kubeflow-dataplanet. Kubeflow-kontrollplanet og dataplanet kan kjøres på samme eller forskjellige Kubernetes-arbeidernoder. Dette innlegget fokuserer på Kubeflow-kontrollplankomponenter, som illustrert i følgende diagram.
Denne distribusjonsmodellen gir kanskje ikke en bedriftsklar opplevelse på grunn av følgende årsaker:
- Alle Kubeflow-kontrollflyets tunge løftinfrastrukturkomponenter, inkludert database, lagring og autentisering, er distribuert i selve Kubernetes-klyngearbeidernoden. Dette gjør det utfordrende å implementere en svært tilgjengelig Kubeflow-kontrollplandesignarkitektur med en vedvarende tilstand i tilfelle arbeidernodefeil.
- Kubeflow-kontrollplangenererte artefakter (som MySQL-forekomster, pod-logger eller MinIO-lagring) vokser over tid og trenger lagringsvolumer som kan endres størrelse med kontinuerlig overvåkingsmuligheter for å møte det økende lagringsbehovet. Fordi Kubeflow-kontrollplanet deler ressurser med Kubeflow-dataplanarbeidsbelastninger (for eksempel for opplæringsjobber, pipelines og distribusjoner), kan riktig dimensjonering og skalering av Kubernetes-klynge- og lagringsvolumer bli utfordrende og resultere i økte driftskostnader.
- Kubernetes begrenser loggfilstørrelsen, med de fleste installasjoner som holder den siste grensen på 10 MB. Som standard blir podloggene utilgjengelige etter at de når denne øvre grensen. Loggene kan også bli utilgjengelige hvis pods blir kastet ut, krasjet, slettet eller planlagt på en annen node, noe som kan påvirke applikasjonsloggens tilgjengelighet og overvåkingsmuligheter.
Kubeflow på AWS
Kubeflow på AWS gir en klar vei for å bruke Kubeflow, med følgende AWS-tjenester:
- Lastbalanse for applikasjon for sikker ekstern trafikkadministrasjon over HTTPS
- Amazon CloudWatch for vedvarende loggbehandling
- AWS Cognito for brukerautentisering med Transport Layer Security (TLS)
- AWS Deep Learning-beholdere for svært optimaliserte Jupyter bærbare serverbilder
- Amazon elastisk filsystem (Amazon EFS) eller Amazon FSx for Luster for en enkel, skalerbar og serverløs fillagringsløsning for økt treningsytelse
- Amazon EKS for administrerte Kubernetes-klynger
- Amazon Relational Database Service (Amazon RDS) for svært skalerbare rørledninger og et metadatalager
- AWS Secrets Manager for å beskytte hemmeligheter som trengs for å få tilgang til applikasjonene dine
- Amazon enkel lagringstjeneste (Amazon S3) for en brukervennlig butikk med rørledningsartefakter
Disse AWS-tjenesteintegrasjonene med Kubeflow (som vist i følgende diagram) lar oss koble fra kritiske deler av Kubeflow-kontrollplanet fra Kubernetes, og gir en sikker, skalerbar, spenstig og kostnadsoptimalisert design.
La oss diskutere fordelene med hver tjenesteintegrasjon og deres løsninger rundt sikkerhet, kjøring av ML-pipelines og lagring.
Sikker autentisering av Kubeflow-brukere med Amazon Cognito
Skysikkerhet hos AWS har høyeste prioritet, og vi investerer i tett integrering av Kubeflow-sikkerhet direkte i AWS-sikkerhetstjenestene med delt ansvar, for eksempel følgende:
- Application Load Balancer (ALB) for ekstern trafikkstyring
- AWS Certificate Manager (ACM) for å støtte TLS
- IAM -roller for tjenestekontoer (IRSA) for finmasket tilgangskontroll på Kubernetes Pod-nivå
- AWS nøkkelstyringstjeneste (AWS KMS) for datakrypteringsnøkkelhåndtering
- AWS skjold for DDoS-beskyttelse
I denne delen fokuserer vi på AWS Kubeflow-kontrollplanintegrasjon med Amazon Cognito. Amazon Cognito fjerner behovet for å administrere og vedlikeholde en innebygd Dex (open-source OpenID Connect (OIDC)-leverandør støttet av lokal LDAP)-løsning for brukerautentisering og gjør hemmelig administrasjon enklere.
Du kan også bruke Amazon Cognito til å legge til brukerregistrering, pålogging og tilgangskontroll til Kubeflow-grensesnittet ditt raskt og enkelt. Amazon Cognito skaleres til millioner av brukere og støtter pålogging med sosiale identitetsleverandører (IdPs), som Facebook, Google og Amazon, og enterprise IdPs via SAML 2.0. Dette reduserer kompleksiteten i Kubeflow-oppsettet, noe som gjør det operativt slankt og enklere å betjene for å oppnå flerbrukerisolasjon.
La oss se på en flerbrukerautentiseringsflyt med Amazon Cognito, ALB og ACM-integrasjoner med Kubeflow på AWS. Det er en rekke nøkkelkomponenter som en del av denne integrasjonen. Amazon Cognito er konfigurert som en IdP med en autentiseringscallback konfigurert til å rute forespørselen til Kubeflow etter brukerautentisering. Som en del av Kubeflow-oppsettet opprettes en Kubernetes-inngangsressurs for å administrere ekstern trafikk til Istio Gateway-tjenesten. AWS ALB Ingress Controller sørger for en lastbalanserer for denne inntrengningen. Vi bruker Amazon Route 53 å konfigurere en offentlig DNS for det registrerte domenet og opprette sertifikater ved hjelp av ACM for å aktivere TLS-autentisering ved lastbalanseren.
Følgende diagram viser den typiske brukerarbeidsflyten for å logge på Amazon Cognito og bli omdirigert til Kubeflow i deres respektive navneområde.
Arbeidsflyten inneholder følgende trinn:
- Brukeren sender en HTTPS-forespørsel til det sentrale Kubeflow-dashbordet som ligger bak en lastbalanser. Rute 53 løser FQDN til ALB-aliasposten.
- Hvis informasjonskapselen ikke er til stede, omdirigerer lastbalanseren brukeren til Amazon Cognito-autorisasjonsendepunktet slik at Amazon Cognito kan autentisere brukeren.
- Etter at brukeren er autentisert, sender Amazon Cognito brukeren tilbake til lastbalanseren med en autorisasjonskode.
- Lastbalanseren presenterer autorisasjonsbevilgningskoden til Amazon Cognito-tokenendepunktet.
- Etter å ha mottatt en gyldig autorisasjonskode, gir Amazon Cognito ID-tokenet og tilgangstokenet til lastbalanseren.
- Etter at lastbalanseren din har autentisert en bruker, sender den tilgangstokenet til Amazon Cognito-brukerinfo-endepunktet og mottar brukerkrav. Lastbalanseren signerer og legger til brukerkrav i HTTP-overskriften
x-amzn-oidc-*
i et JSON-netttoken (JWT)-forespørselsformat. - Forespørselen fra lastbalanseren sendes til Istio Ingress Gateways pod.
- Ved å bruke et utsendingsfilter dekoder Istio Gateway
x-amzn-oidc-data
verdi, henter e-postfeltet og legger til den egendefinerte HTTP-overskriftenkubeflow-userid
, som brukes av Kubeflow-autorisasjonslaget. - De Istio-ressursbaserte tilgangskontrollpolicyene brukes på den innkommende forespørselen for å validere tilgangen til Kubeflow Dashboard. Hvis noen av disse er utilgjengelige for brukeren, sendes et feilsvar tilbake. Hvis forespørselen er validert, videresendes den til den aktuelle Kubeflow-tjenesten og gir tilgang til Kubeflow-dashbordet
Vedvarende Kubeflow-komponent-metadata og artefaktlagring med Amazon RDS og Amazon S3
Kubeflow på AWS gir integrasjon med Amazon Relational Database Service (Amazon RDS) i Kubeflow Pipelines og AutoML (Katib) for vedvarende metadatalagring, og Amazon S3 i Kubeflow Pipelines for vedvarende artefaktlagring. La oss fortsette å diskutere Kubeflow Pipelines mer detaljert.
Kubeflow Pipelines er en plattform for å bygge og distribuere bærbare, skalerbare ML-arbeidsflyter. Disse arbeidsflytene kan hjelpe med å automatisere komplekse ML-pipelines ved å bruke innebygde og tilpassede Kubeflow-komponenter. Kubeflow Pipelines inkluderer Python SDK, en DSL-kompilator for å konvertere Python-kode til en statisk konfigurasjon, en Pipelines-tjeneste som kjører pipelines fra den statiske konfigurasjonen, og et sett med kontrollere for å kjøre containerne i Kubernetes Pods som trengs for å fullføre pipelinen.
Kubeflow Pipelines-metadata for pipeline-eksperimenter og -kjøringer lagres i MySQL, og artefakter inkludert pipeline-pakker og metrikker lagres i MinIO.
Som vist i følgende diagram, lar Kubeflow på AWS deg lagre følgende komponenter med AWS-administrerte tjenester:
- Pipeline-metadata i Amazon RDS – Amazon RDS gir en skalerbar, svært tilgjengelig og pålitelig multi-AZ-implementeringsarkitektur med en innebygd automatisert failover-mekanisme og kapasitet som kan endres størrelse for en industristandard relasjonsdatabase som MySQL. Den administrerer vanlige databaseadministrasjonsoppgaver uten å måtte sørge for infrastruktur eller vedlikeholde programvare.
- Rørledningsartefakter i Amazon S3 – Amazon S3 tilbyr bransjeledende skalerbarhet, datatilgjengelighet, sikkerhet og ytelse, og kan brukes til å møte dine samsvarskrav.
Disse integrasjonene hjelper til med å avlaste administrasjon og vedlikehold av metadata og artefaktlagring fra selvadministrerte Kubeflow til AWS-administrerte tjenester, som er enklere å sette opp, betjene og skalere.
Støtte for distribuerte filsystemer med Amazon EFS og Amazon FSx
Kubeflow bygger på Kubernetes, som gir en infrastruktur for storskala, distribuert databehandling, inkludert opplæring og tuning av store modeller med et dypt nettverk med millioner eller til og med milliarder av parametere. For å støtte slike distribuerte databehandlingssystemer, tilbyr Kubeflow på AWS integrasjon med følgende lagringstjenester:
- Amazon EFS – Et høyytelses, skybasert, distribuert filsystem, som du kan administrere gjennom et Amazon EFS CSI-driver. Amazon EFS tilbyr
ReadWriteMany
tilgangsmodus, og du kan nå bruke den til å montere i pods (Jupyter, modellopplæring, modellinnstilling) som kjører i et Kubeflow-dataplan for å gi et vedvarende, skalerbart og delbart arbeidsområde som automatisk vokser og krymper etter hvert som du legger til og fjerner filer med ikke behov for ledelse. - Amazon FSx for Luster – Et optimalisert filsystem for dataintensive arbeidsbelastninger, som høyytelses databehandling og ML, som du kan administrere gjennom Amazon FSx CSI-driver. FSx for Luster gir
ReadWriteMany
tilgangsmodus også, og du kan bruke den til å bufre treningsdata med direkte tilkobling til Amazon S3 som støttelager, som du kan bruke til å støtte Jupyter bærbare servere eller distribuert trening som kjører i et Kubeflow-dataplan. Med denne konfigurasjonen trenger du ikke å overføre data til filsystemet før du bruker volumet. FSx for Luster gir konsekvente forsinkelser i submillisekunder og høy samtidighet, og kan skaleres til TB/s med gjennomstrømning og millioner av IOPS.
Distribusjonsalternativer for Kubeflow
AWS tilbyr ulike Kubeflow-distribusjonsalternativer:
- Implementering med Amazon Cognito
- Implementering med Amazon RDS og Amazon S3
- Implementering med Amazon Cognito, Amazon RDS og Amazon S3
- Vaniljeutplassering
For detaljer om tjenesteintegrasjon og tilgjengelige tillegg for hvert av disse alternativene, se Distribusjonsalternativer. Du kan passe det alternativet som passer best for din brukssituasjon.
I den følgende delen går vi gjennom trinnene for å installere AWS Kubeflow v1.4-distribusjon på Amazon EKS. Deretter bruker vi det eksisterende XGBoost-pipeline-eksemplet som er tilgjengelig på Kubeflows sentrale UI-dashboard for å demonstrere integrasjonen og bruken av AWS Kubeflow med Amazon Cognito, Amazon RDS og Amazon S3, med Secrets Manager som et tillegg.
Forutsetninger
For dette gjennomgangen bør du ha følgende forutsetninger:
- An AWS-konto.
- En eksisterende Amazon EKS-klynge. Det bør være Kubernetes versjon 1.19 eller høyere. For automatisert klyngeoppretting ved hjelp av ekskl, Se Opprett en Amazon EKS-klynge og bruk eksctl-alternativet.
Installer følgende verktøy på klientmaskinen som brukes for å få tilgang til Kubernetes-klyngen. Du kan bruke AWS Cloud9, et skybasert integrert utviklingsmiljø (IDE) for Kubernetes-klyngeoppsettet.
- AWS kommandolinjegrensesnitt (AWS CLI) – Et kommandolinjeverktøy for samhandling med AWS-tjenester. For installasjonsinstruksjoner, se Installere, oppdatere og avinstallere AWS CLI.
- ekskl > 0.56 – Et kommandolinjeverktøy for å jobbe med Amazon EKS-klynger som automatiserer mange individuelle oppgaver.
- kubectl – Et kommandolinjeverktøy for å jobbe med Kubernetes-klynger.
- git – En distribuert versjonskontrollprogramvare.
- Python 3.8+ – Python-programmeringsmiljøet.
- pip – Pakkebehandleren for Python.
- kystomize versjon 3.2.0 – Et kommandolinjeverktøy for å tilpasse Kubernetes-objekter gjennom en kustomiseringsfil.
Installer Kubeflow på AWS
Konfigurer kubectl slik at du kan koble til en Amazon EKS-klynge:
Ulike kontrollere i Kubeflow-distribusjon bruker IAM -roller for tjenestekontoer (IRSA). En OIDC-leverandør må eksistere for at klyngen din skal bruke IRSA. Opprett en OIDC-leverandør og tilknytt den for Amazon EKS-klyngen din ved å kjøre følgende kommando, hvis klyngen din ikke allerede har en:
Klon AWS manifester repo og Kubeflow manifester repo, og sjekk ut de respektive utgivelsesgrenene:
For mer informasjon om disse versjonene, se Utgivelser og versjonskontroll.
Sett opp Amazon RDS, Amazon S3 og Secrets Manager
Du oppretter Amazon RDS- og Amazon S3-ressurser før du distribuerer Kubeflow-manifestene. Vi bruker automatiserte Python-skript som tar seg av å lage S3-bøtten, RDS-databasen og nødvendige hemmeligheter i Secrets Manager. Den redigerer også de nødvendige konfigurasjonsfilene for Kubeflow-rørledningen og AutoML for å være riktig konfigurert for RDS-databasen og S3-bøtten under Kubeflow-installasjonen.
Opprett en IAM-bruker med tillatelser til å tillate GetBucketLocation
og lese- og skrivetilgang til objekter i en S3-bøtte der du vil lagre Kubeflow-artefakter. Bruke AWS_ACCESS_KEY_ID
og AWS_SECRET_ACCESS_KEY
av IAM-brukeren i følgende kode:
Sett opp Amazon Cognito som autentiseringsleverandør
I denne delen oppretter vi et tilpasset domene i rute 53 og ALB for å rute ekstern trafikk til Kubeflow Istio Gateway. Vi bruker ACM for å lage et sertifikat for å aktivere TLS-autentisering hos ALB og Amazon Cognito for å vedlikeholde brukergruppen og administrere brukerautentisering.
Bytt inn følgende verdier
- rute53.rootDomain.name – Det registrerte domenet. La oss anta at dette domenet er
example.com
. - route53.rootDomain.hostedZoneId – Hvis domenet ditt administreres i Route53, skriv inn den vertsbaserte sone-ID-en som finnes under detaljene for den vertsbaserte sonen. Hopp over dette trinnet hvis domenet ditt administreres av en annen domeneleverandør.
- rute53.underdomene.navn – Navnet på underdomenet der du vil være vert for Kubeflow (f.eks.
platform.example.com
). For mer informasjon om underdomener, se Distribuerer Kubeflow med AWS Cognito som IdP. - klynge.navn – Klyngenavnet og hvor Kubeflow er distribuert.
- klynge.region – Klyngeregionen der Kubeflow er distribuert (f.eks.
us-west-2
). - cognitoUserpool.name – Navnet på Amazon Cognito-brukerpoolen (f.eks.
kubeflow-users
).
Konfigurasjonsfilen ser omtrent ut som følgende kode:
Kjør skriptet for å lage ressursene:
Skriptet oppdaterer config.yaml
fil med ressursnavnene, IDene og ARNene den opprettet. Det ser omtrent ut som følgende kode:
Bygg manifester og distribuer Kubeflow
Distribuer Kubeflow ved å bruke følgende kommando:
Oppdater domenet med ALB-adressen
Utrullingen oppretter en inngangsadministrert belastningsbalanser for AWS-applikasjoner. Vi oppdaterer DNS-oppføringene for underdomenet i rute 53 med DNS til lastbalanseren. Kjør følgende kommando for å sjekke om lastbalanseren er klargjort (dette tar rundt 3–5 minutter):
Dersom ADDRESS
feltet er tomt etter noen minutter, sjekk loggene til alb-ingress-controller
. For instruksjoner, se ALB klarer ikke å levere.
Når lastbalanseren er klargjort, kopierer du DNS-navnet til lastbalanseren og erstatter adressen kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. Kubeflow-delen av konfigurasjonsfilen ser ut som følgende kode:
Kjør følgende skript for å oppdatere DNS-oppføringene for underdomenet i rute 53 med DNS-en til den klargjorte lastbalanseren:
Feilsøking
Hvis du får problemer under installasjonen, kan du se Feilsøkingsveiledning eller start på nytt ved å følge "Rydd opp"-delen i denne bloggen.
Bruk sak gjennomgang
Nå som vi har fullført installasjonen av de nødvendige Kubeflow-komponentene, la oss se dem i aksjon ved å bruke et av de eksisterende eksemplene fra Kubeflow Pipelines på dashbordet.
Få tilgang til Kubeflow Dashboard ved hjelp av Amazon Cognito
For å komme i gang, la oss få tilgang til Kubeflow Dashboard. Fordi vi brukte Amazon Cognito som IdP, bruk informasjonen gitt i offisiell README-fil. Vi oppretter først noen brukere på Amazon Cognito-konsollen. Dette er brukerne som skal logge inn på det sentrale dashbordet. Neste, Opprett en profil for brukeren du opprettet. Da skal du kunne få tilgang til dashbordet gjennom påloggingssiden på https://kubeflow.platform.example.com.
Følgende skjermbilde viser Kubeflow Dashboard.
Kjør rørledningen
Velg på Kubeflow Dashboard Rørledninger i navigasjonsnavnet. Du bør se fire eksempler gitt av Kubeflow Pipelines som du kan kjøre direkte for å utforske ulike Pipelines-funksjoner.
For dette innlegget bruker vi XGBoost-eksemplet kalt [Demo] XGBoost – Iterativ modelltrening. Du finner kildekoden på GitHub. Dette er en enkel rørledning som bruker det eksisterende XGBoost/Train
og XGBoost/Predict
Kubeflow-rørledningskomponenter for iterativt å trene en modell inntil beregningene anses som gode basert på spesifiserte beregninger.
For å kjøre rørledningen, fullfør følgende trinn:
- Velg rørledningen og velg Lag eksperiment.
- Under Eksperimentdetaljer, skriv inn et navn (for dette innlegget,
demo-blog
) og valgfri beskrivelse. - Velg neste.
- Under Kjør detaljer¸ velg din pipeline og pipeline-versjon.
- Til Kjør navn, skriv inn et navn.
- Til Eksperiment, velg eksperimentet du opprettet.
- Til Kjør type, plukke ut Engangs.
- Velg Start.
Etter at rørledningen begynner å kjøre, bør du se komponenter fullføres (innen noen få sekunder). På dette stadiet kan du velge hvilken som helst av de fullførte komponentene for å se flere detaljer.
Få tilgang til gjenstandene i Amazon S3
Mens vi implementerte Kubeflow, spesifiserte vi at Kubeflow Pipelines skulle bruke Amazon S3 for å lagre artefakter. Dette inkluderer alle pipeline-utdata-artefakter, bufrede kjøringer og pipeline-grafer – som alle deretter kan brukes til rike visualiseringer og ytelsesevaluering.
Når rørledningen er fullført, skal du kunne se artefaktene i S3-bøtten du opprettet under installasjonen. For å bekrefte dette, velg en fullført komponent i rørledningen og kontroller Input / Output delen om standarden Graph fanen. Artefakt-URL-ene skal peke til S3-bøtten som du spesifiserte under distribusjonen.
For å bekrefte at ressursene ble lagt til Amazon S3, kan vi også sjekke S3-bøtten i AWS-kontoen vår via Amazon S3-konsollen.
Følgende skjermbilde viser filene våre.
Bekreft ML-metadata i Amazon RDS
Vi integrerte også Kubeflow Pipelines med Amazon RDS under distribusjon, noe som betyr at alle pipeline-metadata bør lagres i Amazon RDS. Dette inkluderer all kjøretidsinformasjon som status for en oppgave, tilgjengelighet av artefakter, egendefinerte egenskaper knyttet til kjøringen eller artefakter, og mer.
For å bekrefte Amazon RDS-integrasjonen, følg trinnene gitt i offisiell README-fil. Fullfør spesifikt følgende trinn:
- Få Amazon RDS-brukernavnet og passordet fra hemmeligheten som ble opprettet under installasjonen:
- Bruk denne legitimasjonen for å koble til Amazon RDS fra klyngen:
- Når MySQL-ledeteksten åpnes, kan vi bekrefte
mlpipelines
database som følger: - Nå kan vi lese innholdet i spesifikke tabeller, for å sikre at vi kan se metadatainformasjon om eksperimentene som kjørte rørledningene:
Rydd opp
For å avinstallere Kubeflow og slette AWS-ressursene du opprettet, fullfør følgende trinn:
- Slett den inngående og inntrengsstyrte lastbalanseren ved å kjøre følgende kommando:
- Slett resten av Kubeflow-komponentene:
- Slett AWS-ressursene opprettet av skript:
- Ressurser opprettet for Amazon RDS og Amazon S3 integrasjon. Sørg for at du har konfigurasjonsfilen opprettet av skriptet i
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Ressurser opprettet for Amazon Cognito-integrasjon. Sørg for at du har konfigurasjonsfilen opprettet av skriptet i
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Ressurser opprettet for Amazon RDS og Amazon S3 integrasjon. Sørg for at du har konfigurasjonsfilen opprettet av skriptet i
- Hvis du opprettet en dedikert Amazon EKS-klynge for Kubeflow ved å bruke eksctl, kan du slette den med følgende kommando:
Oppsummering
I dette innlegget fremhevet vi verdien som Kubeflow på AWS gir gjennom native AWS-administrerte tjenesteintegrasjoner for sikre, skalerbare og bedriftsklare AI- og ML-arbeidsbelastninger. Du kan velge mellom flere distribusjonsalternativer for å installere Kubeflow på AWS med ulike tjenesteintegrasjoner. Brukssaken i dette innlegget demonstrerte Kubeflow-integrasjon med Amazon Cognito, Secrets Manager, Amazon RDS og Amazon S3. For å komme i gang med Kubeflow på AWS, se de tilgjengelige AWS-integrerte distribusjonsalternativene i Kubeflow på AWS.
Fra og med v1.3 kan du følge AWS Labs-depot for å spore alle AWS-bidrag til Kubeflow. Du finner oss også på Kubeflow #AWS Slack Channel; tilbakemeldingen din der vil hjelpe oss med å prioritere de neste funksjonene for å bidra til Kubeflow-prosjektet.
Om forfatterne
Kanwaljit Khurmi er en AI/ML-spesialistløsningsarkitekt hos Amazon Web Services. Han jobber med AWS-produktet, ingeniørarbeid og kunder for å gi veiledning og teknisk assistanse som hjelper dem å forbedre verdien av deres hybride ML-løsninger når de bruker AWS. Kanwaljit spesialiserer seg på å hjelpe kunder med containeriserte og maskinlæringsapplikasjoner.
Meghna Baijal er en programvareingeniør med AWS AI som gjør det enklere for brukere å integrere maskinlæringsarbeidsmengdene sine på AWS ved å bygge ML-produkter og plattformer som Deep Learning Containers, Deep Learning AMIs, AWS Controllers for Kubernetes (ACK) og Kubeflow på AWS . Utenom jobben liker hun å lese, reise og male.
Suraj Kota er en programvareingeniør spesialisert i maskinlæringsinfrastruktur. Han bygger verktøy for enkelt å komme i gang og skalere arbeidsmengde for maskinlæring på AWS. Han jobbet med AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators for Kubernetes og andre åpen kildekode-integrasjoner som Kubeflow.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: 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
- Om oss
- adgang
- Logg inn
- Handling
- Tillegg
- adresse
- admin
- administrasjon
- agenter
- AI
- Alle
- allerede
- Amazon
- Amazon Web Services
- En annen
- Søknad
- søknader
- hensiktsmessig
- arkitektur
- rundt
- Førsteamanuensis
- autentisert
- autentiserer
- Autentisering
- autorisasjon
- automatisere
- Automatisert
- automatiserer
- tilgjengelighet
- tilgjengelig
- AWS
- bli
- Fordeler
- BEST
- milliarder
- Blogg
- grensen
- bygge
- Bygning
- bygger
- innebygd
- evner
- Kapasitet
- hvilken
- saker
- CD
- sertifikat
- sertifikater
- utfordrende
- Sjekk ut
- Velg
- krav
- klasse
- kode
- Felles
- fullført
- komplekse
- komponent
- datamaskin
- databehandling
- Konfigurasjon
- Koble
- Tilkobling
- Konsoll
- Containere
- inneholder
- innhold
- fortsette
- bidra
- kontroll
- controller
- copyright
- kunne
- skape
- opprettet
- skaper
- Opprette
- skaperverket
- Credentials
- kritisk
- skikk
- Kunder
- dashbord
- dato
- databehandling
- datavitenskap
- Database
- DDoS
- dedikert
- Etterspørsel
- demonstrere
- demonstrert
- utplassere
- utplassert
- utplasserings
- distribusjon
- distribusjoner
- Distribueres
- utforming
- detalj
- detaljer
- Utvikling
- Dex
- forskjellig
- direkte
- direkte
- diskutere
- distribueres
- distribusjon
- dns
- ikke
- domene
- lett
- lett-å-bruke
- savner
- emalje
- muliggjøre
- kryptering
- Endpoint
- ingeniør
- Ingeniørarbeid
- Enter
- Enterprise
- Miljø
- evaluering
- Event
- eksempel
- eksisterende
- erfaring
- eksperiment
- utforske
- Failure
- Egenskaper
- tilbakemelding
- finansiell
- Først
- passer
- flyten
- Fokus
- fokuserer
- følge
- etter
- format
- funnet
- fersk
- få
- gå
- GitHub
- god
- Grow
- Økende
- hjelpe
- hjelpe
- hjelper
- her.
- Høy
- høyere
- Fremhevet
- svært
- Hosting
- HTTPS
- Hybrid
- Identitet
- Påvirkning
- iverksette
- forbedre
- Inc.
- inkluderer
- Inkludert
- økt
- individuelt
- bransjeledende
- info
- informasjon
- Infrastruktur
- installere
- integrert
- integrering
- integrasjoner
- investere
- isolasjon
- saker
- IT
- selv
- Jobb
- holde
- nøkkel
- Labs
- Språk
- stor
- lansert
- læring
- løfte
- linje
- laste
- lokal
- maskin
- maskinlæring
- vedlikeholde
- GJØR AT
- Making
- administrer
- fikk til
- ledelse
- leder
- Metrics
- millioner
- ML
- modell
- modeller
- overvåking
- mer
- mest
- navn
- Naturlig
- Navigasjon
- nett
- nettverk
- noder
- bærbare
- Antall
- Tilbud
- åpen
- åpen kildekode
- åpner
- operatører
- optimalisert
- Alternativ
- alternativer
- Annen
- egen
- Passord
- ytelse
- plattform
- Plattformer
- Point
- Politikk
- basseng
- presentere
- prioritet
- prosessering
- Produkt
- Produkter
- Programmering
- prosjekt
- beskytte
- gi
- gir
- gi
- offentlig
- raskt
- å nå
- Lesning
- grunner
- rekord
- registrert
- slipp
- anmode
- påkrevd
- Krav
- ressurs
- Ressurser
- svar
- REST
- Rute
- Kjør
- rennende
- skalerbarhet
- skalerbar
- Skala
- skalering
- Vitenskap
- SDK
- SEK
- sekunder
- sikre
- sikkerhet
- server~~POS=TRUNC
- tjeneste
- Tjenester
- sett
- oppsett
- Aksjer
- Skilt
- Enkelt
- Størrelse
- slakk
- sove
- So
- selskap
- Software
- Software Engineer
- solid
- løsning
- Solutions
- noen
- noe
- kildekoden
- spesialist
- spesialisert
- spesialisert
- spesielt
- Scene
- Begynn
- startet
- starter
- Tilstand
- status
- lagring
- oppbevare
- vellykket
- støtte
- Støtter
- system
- Systemer
- oppgaver
- Teknisk
- Kilden
- Gjennom
- tid
- token
- verktøy
- verktøy
- topp
- spor
- trafikk
- Kurs
- overføre
- Oversettelse
- transportere
- Traveling
- ui
- Oppdater
- oppdateringer
- us
- bruke
- Brukere
- validert
- verdi
- variasjon
- ulike
- verifisere
- syn
- volum
- web
- webtjenester
- HVEM
- innenfor
- uten
- Arbeid
- arbeidet
- arbeid
- virker