In dit bericht demonstreren we: Kubeflow op AWS (een AWS-specifieke distributie van Kubeflow) en de waarde die het toevoegt ten opzichte van open-source Kubeflow door de integratie van sterk geoptimaliseerde, cloud-native, enterprise-ready AWS-services.
Kubeflow is het open-source machine learning (ML)-platform dat is bedoeld om implementaties van ML-workflows op Kubernetes eenvoudig, draagbaar en schaalbaar te maken. Kubeflow biedt veel componenten, waaronder een centraal dashboard, Jupyter-notebooks voor meerdere gebruikers, Kubeflow Pipelines, KFServing en Katib, evenals gedistribueerde trainingsoperators voor TensorFlow, PyTorch, MXNet en XGBoost, om eenvoudige, schaalbare en draagbare ML-workflows te bouwen .
AWS heeft onlangs Kubeflow v1.4 gelanceerd als onderdeel van zijn eigen Kubeflow-distributie (genaamd Kubeflow op AWS), die datawetenschapstaken stroomlijnt en helpt bij het bouwen van zeer betrouwbare, veilige, draagbare en schaalbare ML-systemen met verminderde operationele overhead door integratie met door AWS beheerde services . U kunt deze Kubeflow-distributie gebruiken om ML-systemen bovenop te bouwen Amazon Elastic Kubernetes-service (Amazon EKS) voor het bouwen, trainen, afstemmen en implementeren van ML-modellen voor een breed scala aan gebruikssituaties, waaronder computervisie, natuurlijke taalverwerking, spraakvertaling en financiรซle modellering.
Uitdagingen met open-source Kubeflow
Wanneer u een open-source Kubeflow-project gebruikt, worden alle Kubeflow-besturingsvlak- en gegevensvlakcomponenten op Kubernetes-werkknooppunten geรฏmplementeerd. Kubeflow-componentservices worden geรฏmplementeerd als onderdeel van het Kubeflow-besturingsvlak en alle resource-implementaties met betrekking tot Jupyter, modeltraining, afstemming en hosting worden geรฏmplementeerd op het Kubeflow-gegevensvlak. Het Kubeflow-besturingsvlak en het gegevensvlak kunnen op dezelfde of verschillende Kubernetes-werkknooppunten worden uitgevoerd. Dit bericht richt zich op Kubeflow-besturingsvlakcomponenten, zoals geรฏllustreerd in het volgende diagram.
Dit implementatiemodel biedt mogelijk geen bedrijfsklare ervaring om de volgende redenen:
- Alle zware infrastructuurcomponenten van het Kubeflow-besturingsvlak, inclusief database, opslag en verificatie, worden geรฏmplementeerd in het Kubernetes-clusterwerkknooppunt zelf. Dit maakt het een uitdaging om een โโzeer beschikbare Kubeflow-besturingsvlakontwerparchitectuur te implementeren met een persistente status in het geval van een storing in het werkknooppunt.
- Door Kubeflow-besturingsvlak gegenereerde artefacten (zoals MySQL-instanties, podlogboeken of MinIO-opslag) groeien in de loop van de tijd en hebben aanpasbare opslagvolumes nodig met continue bewakingsmogelijkheden om aan de groeiende vraag naar opslag te voldoen. Omdat het Kubeflow-besturingsvlak resources deelt met Kubeflow-gegevensvlakworkloads (bijvoorbeeld voor trainingstaken, pijplijnen en implementaties), kan het aanpassen en schalen van Kubernetes-cluster- en opslagvolumes een uitdaging worden en leiden tot hogere operationele kosten.
- Kubernetes beperkt de grootte van het logbestand, waarbij de meeste installaties de meest recente limiet van 10 MB behouden. Standaard worden de pod-logboeken ontoegankelijk nadat ze deze bovengrens hebben bereikt. De logboeken kunnen ook ontoegankelijk worden als pods worden uitgezet, gecrasht, verwijderd of gepland op een ander knooppunt, wat van invloed kan zijn op de beschikbaarheid van uw toepassingslogboek en de controlemogelijkheden.
Kubeflow op AWS
Kubeflow op AWS biedt een duidelijk pad om Kubeflow te gebruiken, met de volgende AWS-services:
- Toepassing Load Balancer voor veilig extern verkeersbeheer via HTTPS
- Amazon Cloud Watch voor permanent logbeheer
- AWS Cognito voor gebruikersauthenticatie met Transport Layer Security (TLS)
- AWS diepe leercontainers voor sterk geoptimaliseerde Jupyter-notebookserverafbeeldingen
- Amazon elastisch bestandssysteem (Amazon EFS) of Amazon FSx voor Luster voor een eenvoudige, schaalbare en serverloze oplossing voor bestandsopslag voor betere trainingsprestaties
- Amazon EKS voor beheerde Kubernetes-clusters
- Amazon relationele databaseservice (Amazon RDS) voor zeer schaalbare pijplijnen en een metadata-archief
- AWS-geheimenmanager om geheimen te beschermen die nodig zijn om toegang te krijgen tot uw applicaties
- Amazon eenvoudige opslagservice (Amazon S3) voor een gebruiksvriendelijke opslag van pijplijnartefacten
Deze AWS-service-integraties met Kubeflow (zoals weergegeven in het volgende diagram) stellen ons in staat om kritieke onderdelen van het Kubeflow-besturingsvlak los te koppelen van Kubernetes, wat een veilig, schaalbaar, veerkrachtig en kostengeoptimaliseerd ontwerp oplevert.
Laten we de voordelen van elke service-integratie en hun oplossingen op het gebied van beveiliging, het uitvoeren van ML-pijplijnen en opslag bespreken.
Veilige authenticatie van Kubeflow-gebruikers met Amazon Cognito
Cloudbeveiliging bij AWS heeft de hoogste prioriteit en we investeren in een nauwe integratie van Kubeflow-beveiliging, rechtstreeks in de AWS-beveiligingsservices met gedeelde verantwoordelijkheid, zoals:
- Application Load Balancer (ALB) voor extern verkeersbeheer
- AWS-certificaatbeheerder (ACM) om TLS te ondersteunen
- IAM-rollen voor serviceaccounts (IRSA) voor fijnmazige toegangscontrole op Kubernetes Pod-niveau
- AWS Sleutelbeheerservice (AWS KMS) voor sleutelbeheer voor gegevensversleuteling
- AWS-schild voor DDoS-bescherming
In deze sectie concentreren we ons op AWS Kubeflow-besturingsvlakintegratie met Amazon Cognito. Amazon Cognito neemt de noodzaak weg om een โโnative Dex (open-source OpenID Connect (OIDC) provider ondersteund door lokale LDAP)-oplossing voor gebruikersauthenticatie te beheren en te onderhouden en maakt geheimbeheer eenvoudiger.
U kunt Amazon Cognito ook gebruiken om snel en eenvoudig gebruikersaanmelding, aanmelding en toegangscontrole toe te voegen aan uw Kubeflow-gebruikersinterface. Amazon Cognito schaalt naar miljoenen gebruikers en ondersteunt inloggen met sociale identiteitsproviders (IdP's), zoals Facebook, Google en Amazon, en zakelijke IdP's via SAML 2.0. Dit vermindert de complexiteit in uw Kubeflow-configuratie, waardoor deze operationeel slank en gebruiksvriendelijker wordt om isolatie voor meerdere gebruikers te bereiken.
Laten we eens kijken naar een authenticatiestroom voor meerdere gebruikers met Amazon Cognito-, ALB- en ACM-integraties met Kubeflow op AWS. Er zijn een aantal belangrijke componenten als onderdeel van deze integratie. Amazon Cognito is geconfigureerd als een IdP met een authenticatie-callback die is geconfigureerd om het verzoek na gebruikersauthenticatie naar Kubeflow te routeren. Als onderdeel van de Kubeflow-configuratie wordt een Kubernetes-ingangsbron gemaakt om extern verkeer naar de Istio Gateway-service te beheren. De AWS ALB Ingress Controller voorziet in een load balancer voor dat inkomend verkeer. We gebruiken Amazon Route 53 om een โโopenbare DNS voor het geregistreerde domein te configureren en certificaten te maken met ACM om TLS-authenticatie bij de load balancer in te schakelen.
Het volgende diagram toont de typische gebruikersworkflow van inloggen bij Amazon Cognito en omgeleid worden naar Kubeflow in hun respectieve naamruimte.
De workflow bevat de volgende stappen:
- De gebruiker stuurt een HTTPS-verzoek naar het centrale Kubeflow-dashboard dat wordt gehost achter een load balancer. Route 53 zet de FQDN om in het ALB-aliasrecord.
- Als de cookie niet aanwezig is, leidt de load balancer de gebruiker om naar het Amazon Cognito-autorisatie-eindpunt zodat Amazon Cognito de gebruiker kan verifiรซren.
- Nadat de gebruiker is geverifieerd, stuurt Amazon Cognito de gebruiker terug naar de load balancer met een autorisatietoekenningscode.
- De load balancer presenteert de autorisatietoekenningscode aan het Amazon Cognito-tokeneindpunt.
- Na ontvangst van een geldige autorisatietoekenningscode, levert Amazon Cognito het ID-token en toegangstoken aan de load balancer.
- Nadat uw load balancer een gebruiker met succes heeft geverifieerd, verzendt deze het toegangstoken naar het Amazon Cognito-eindpunt voor gebruikersinformatie en ontvangt het gebruikersclaims. De load balancer ondertekent en voegt gebruikersclaims toe aan de HTTP-header
x-amzn-oidc-*
in een JSON-webtoken (JWT)-aanvraagindeling. - Het verzoek van de load balancer wordt verzonden naar de pod van de Istio Ingress Gateway.
- Met behulp van een envoy-filter decodeert Istio Gateway de
x-amzn-oidc-data
waarde, haalt het e-mailveld op en voegt de aangepaste HTTP-header toekubeflow-userid
, die wordt gebruikt door de Kubeflow-autorisatielaag. - Het op bronnen gebaseerde toegangscontrolebeleid van Istio wordt toegepast op de binnenkomende aanvraag om de toegang tot het Kubeflow-dashboard te valideren. Als een van beide niet toegankelijk is voor de gebruiker, wordt een foutreactie teruggestuurd. Als het verzoek is gevalideerd, wordt het doorgestuurd naar de juiste Kubeflow-service en krijgt het toegang tot het Kubeflow-dashboard
Aanhoudende metadata van Kubeflow-componenten en opslag van artefacten met Amazon RDS en Amazon S3
Kubeflow op AWS biedt integratie met Amazon relationele databaseservice (Amazon RDS) in Kubeflow Pipelines en AutoML (Katib) voor permanente opslag van metagegevens en Amazon S3 in Kubeflow Pipelines voor permanente opslag van artefacten. Laten we Kubeflow-pijplijnen in meer detail bespreken.
Kubeflow Pipelines is een platform voor het bouwen en implementeren van draagbare, schaalbare ML-workflows. Deze werkstromen kunnen helpen bij het automatiseren van complexe ML-pijplijnen met behulp van ingebouwde en aangepaste Kubeflow-componenten. Kubeflow Pipelines omvat Python SDK, een DSL-compiler om Python-code om te zetten in een statische configuratie, een Pipelines-service die pijplijnen uitvoert vanuit de statische configuratie, en een set controllers om de containers in de Kubernetes-pods uit te voeren die nodig zijn om de pijplijn te voltooien.
Kubeflow Pipelines-metadata voor pijplijnexperimenten en -uitvoeringen worden opgeslagen in MySQL, en artefacten, waaronder pijplijnpakketten en metrische gegevens, worden opgeslagen in MinIO.
Zoals te zien is in het volgende diagram, kunt u met Kubeflow op AWS de volgende componenten opslaan met AWS-beheerde services:
- Pijplijnmetadata in Amazon RDS โ Amazon RDS biedt een schaalbare, zeer beschikbare en betrouwbare Multi-AZ-implementatiearchitectuur met een ingebouwd geautomatiseerd failovermechanisme en aanpasbare capaciteit voor een industriestandaard relationele database zoals MySQL. Het beheert algemene databasebeheertaken zonder dat er infrastructuur hoeft te worden ingericht of software hoeft te worden onderhouden.
- Pijplijnartefacten in Amazon S3 โ Amazon S3 biedt toonaangevende schaalbaarheid, gegevensbeschikbaarheid, beveiliging en prestaties, en kan worden gebruikt om te voldoen aan uw nalevingsvereisten.
Deze integraties helpen het beheer en onderhoud van de metadata en artefactopslag over te hevelen van zelfbeheerde Kubeflow naar beheerde AWS-services, wat eenvoudiger is in te stellen, te bedienen en te schalen.
Ondersteuning voor gedistribueerde bestandssystemen met Amazon EFS en Amazon FSx
Kubeflow bouwt voort op Kubernetes, dat een infrastructuur biedt voor grootschalige, gedistribueerde gegevensverwerking, inclusief training en afstemming van grote modellen met een diep netwerk met miljoenen of zelfs miljarden parameters. Om dergelijke ML-systemen voor gedistribueerde gegevensverwerking te ondersteunen, biedt Kubeflow op AWS integratie met de volgende opslagservices:
- Amazon EFS โ Een high-performance, cloud-native, gedistribueerd bestandssysteem, dat u zou kunnen beheren via een Amazon EFS CSI-stuurprogramma. Amazon EFS biedt:
ReadWriteMany
toegangsmodus, en u kunt het nu gebruiken om te koppelen aan pods (Jupyter, modeltraining, modelafstemming) die worden uitgevoerd in een Kubeflow-gegevensvlak om een โโpermanente, schaalbare en deelbare werkruimte te bieden die automatisch groeit en krimpt terwijl u bestanden toevoegt en verwijdert met geen behoefte aan beheer. - Amazon FSx voor Luster โ Een geoptimaliseerd bestandssysteem voor rekenintensieve workloads, zoals high-performance computing en ML, dat u kunt beheren via de Amazon FSx CSI-stuurprogramma. FSx voor Lustre biedt:
ReadWriteMany
access-modus ook, en je kunt het gebruiken om trainingsgegevens in de cache op te slaan met directe connectiviteit met Amazon S3 als backing store, die je kunt gebruiken om Jupyter-notebookservers te ondersteunen of gedistribueerde trainingen die in een Kubeflow-gegevensvlak worden uitgevoerd. Met deze configuratie hoeft u geen gegevens naar het bestandssysteem over te dragen voordat u het volume gebruikt. FSx for Luster biedt consistente latenties van submilliseconden en hoge gelijktijdigheid, en kan worden geschaald naar TB/s aan doorvoer en miljoenen IOPS.
Kubeflow-implementatieopties
AWS biedt verschillende Kubeflow-implementatie-opties:
- Implementatie met Amazon Cognito
- Implementatie met Amazon RDS en Amazon S3
- Implementatie met Amazon Cognito, Amazon RDS en Amazon S3
- Vanille-implementatie
Voor details over service-integratie en beschikbare add-ons voor elk van deze opties, zie: Implementatie opties. U kunt de optie gebruiken die het beste bij uw gebruikssituatie past.
In het volgende gedeelte doorlopen we de stappen om AWS Kubeflow v1.4-distributie op Amazon EKS te installeren. Vervolgens gebruiken we het bestaande XGBoost-pijplijnvoorbeeld dat beschikbaar is op het centrale UI-dashboard van Kubeflow om de integratie en het gebruik van AWS Kubeflow met Amazon Cognito, Amazon RDS en Amazon S3 te demonstreren, met Secrets Manager als add-on.
Voorwaarden
Voor deze walkthrough moet u aan de volgende vereisten voldoen:
- An AWS-account.
- Een bestaand Amazon EKS-cluster. Het moet Kubernetes versie 1.19 of hoger zijn. Voor het automatisch maken van clusters met behulp van exctl, Zie Een Amazon EKS-cluster maken en gebruik de eksctl-optie.
Installeer de volgende hulpprogramma's op de clientcomputer die wordt gebruikt om toegang te krijgen tot uw Kubernetes-cluster. Je kunt gebruiken AWS-Cloud9, een cloudgebaseerde geรฏntegreerde ontwikkelomgeving (IDE) voor de Kubernetes-clusterconfiguratie.
- AWS-opdrachtregelinterface (AWS CLI) โ Een opdrachtregelprogramma voor interactie met AWS-services. Raadpleeg voor installatie-instructies: De AWS CLI installeren, bijwerken en verwijderen.
- exctl > 0.56 โ Een opdrachtregeltool voor het werken met Amazon EKS-clusters die veel individuele taken automatiseert.
- kubectl โ Een opdrachtregelprogramma voor het werken met Kubernetes-clusters.
- git โ Een gedistribueerde versiebeheersoftware.
- Python 3.8 + โ De programmeeromgeving Python.
- pit โ De pakketbeheerder voor Python.
- kustomize versie 3.2.0 โ Een opdrachtregeltool om Kubernetes-objecten aan te passen via een kustomization-bestand.
Installeer Kubeflow op AWS
Configureer kubectl zodat u verbinding kunt maken met een Amazon EKS-cluster:
Verschillende controllers in Kubeflow-implementatie gebruiken IAM-rollen voor serviceaccounts (IRSA). Er moet een OIDC-provider zijn voordat uw cluster IRSA kan gebruiken. Maak een OIDC-provider en koppel deze aan uw Amazon EKS-cluster door de volgende opdracht uit te voeren, als uw cluster er nog geen heeft:
Kloon de repo van AWS-manifesten en Kubeflow manifesteert repo, en check de respectieve release-takken af:
Voor meer informatie over deze versies, zie: Releases en versiebeheer.
Amazon RDS, Amazon S3 en Secrets Manager instellen
U maakt Amazon RDS- en Amazon S3-resources voordat u de Kubeflow-manifesten implementeert. We gebruiken geautomatiseerde Python-scripts die zorgen voor het maken van de S3-bucket, RDS-database en vereiste geheimen in Secrets Manager. Het bewerkt ook de vereiste configuratiebestanden voor de Kubeflow-pijplijn en AutoML om correct te worden geconfigureerd voor de RDS-database en S3-bucket tijdens de Kubeflow-installatie.
Maak een IAM-gebruiker met toestemmingen om toe te staan GetBucketLocation
en lees- en schrijftoegang tot objecten in een S3-bucket waar u de Kubeflow-artefacten wilt opslaan. Gebruik de AWS_ACCESS_KEY_ID
en AWS_SECRET_ACCESS_KEY
van de IAM-gebruiker in de volgende code:
Amazon Cognito instellen als authenticatieprovider
In deze sectie maken we een aangepast domein in Route 53 en ALB om extern verkeer naar Kubeflow Istio Gateway te routeren. We gebruiken ACM om een โโcertificaat te maken om TLS-authenticatie in te schakelen bij ALB en Amazon Cognito om de gebruikerspool te onderhouden en gebruikersauthenticatie te beheren.
Vervang de volgende waarden in
- route53.rootDomain.name โ Het geregistreerde domein. Laten we aannemen dat dit domein is
example.com
. - route53.rootDomain.hostedZoneId โ Als uw domein wordt beheerd in Route53, voert u de gehoste zone-ID in die u vindt onder de gegevens van de gehoste zone. Sla deze stap over als uw domein wordt beheerd door een andere domeinprovider.
- route53.subDomein.naam โ De naam van het subdomein waar u Kubeflow wilt hosten (bijvoorbeeld
platform.example.com
). Voor meer informatie over subdomeinen, zie: Kubeflow implementeren met AWS Cognito als IdP. - cluster.naam โ De clusternaam en waar Kubeflow is geรฏmplementeerd.
- cluster.regio โ De clusterregio waar Kubeflow wordt geรฏmplementeerd (bijvoorbeeld
us-west-2
). - cognitoGebruikerspool.naam โ De naam van de Amazon Cognito-gebruikerspool (bijvoorbeeld
kubeflow-users
).
Het configuratiebestand ziet er ongeveer uit als de volgende code:
Voer het script uit om de bronnen te maken:
Het script werkt de config.yaml
bestand met de resourcenamen, ID's en ARN's die het heeft gemaakt. Het ziet er ongeveer uit als de volgende code:
Maak manifesten en implementeer Kubeflow
Implementeer Kubeflow met de volgende opdracht:
Werk het domein bij met het ALB-adres
De implementatie maakt een ingress-beheerde AWS-toepassings load balancer. We updaten de DNS-vermeldingen voor het subdomein in Route 53 met de DNS van de load balancer. Voer de volgende opdracht uit om te controleren of de load balancer is ingericht (dit duurt ongeveer 3-5 minuten):
Indien de ADDRESS
veld is na een paar minuten leeg, controleer de logs van alb-ingress-controller
. Raadpleeg voor instructies: ALB kan niet voorzien.
Wanneer de load balancer is ingericht, kopieert u de DNS-naam van de load balancer en vervangt u het adres door: kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. De Kubeflow-sectie van het configuratiebestand ziet eruit als de volgende code:
Voer het volgende script uit om de DNS-vermeldingen voor het subdomein in Route 53 bij te werken met de DNS van de ingerichte load balancer:
Probleem oplossen
Als u problemen ondervindt tijdens de installatie, raadpleegt u de gids voor probleemoplossing of begin fris door het gedeelte 'Opruimen' in deze blog te volgen.
Gebruik case walkthrough
Nu we de vereiste Kubeflow-componenten hebben geรฏnstalleerd, gaan we ze in actie zien met behulp van een van de bestaande voorbeelden van Kubeflow Pipelines op het dashboard.
Toegang tot het Kubeflow-dashboard met Amazon Cognito
Laten we om te beginnen toegang krijgen tot het Kubeflow-dashboard. Omdat we Amazon Cognito als IdP hebben gebruikt, gebruikt u de informatie in de officieel README-bestand. We maken eerst enkele gebruikers aan op de Amazon Cognito-console. Dit zijn de gebruikers die inloggen op het centrale dashboard. Volgende, maak een profiel aan voor de gebruiker die u hebt gemaakt. Dan zou u toegang moeten hebben tot het dashboard via de inlogpagina op https://kubeflow.platform.example.com.
De volgende schermafbeelding toont ons Kubeflow-dashboard.
Voer de pijplijn uit
Kies op het Kubeflow-dashboard Pijpleidingen in de navigatienaam. U zou vier voorbeelden moeten zien van Kubeflow Pipelines die u rechtstreeks kunt uitvoeren om verschillende Pipelines-functies te verkennen.
Voor dit bericht gebruiken we het XGBoost-voorbeeld genaamd [Demo] XGBoost - Iteratieve modeltraining. U vindt de broncode op GitHub. Dit is een eenvoudige pijplijn die gebruikmaakt van de bestaande XGBoost/Train
en XGBoost/Predict
Kubeflow-pijplijncomponenten om een โโmodel iteratief te trainen totdat de metrische gegevens als goed worden beschouwd op basis van opgegeven metrische gegevens.
Voer de volgende stappen uit om de pijplijn uit te voeren:
- Selecteer de pijplijn en kies Experiment maken.
- Onder Experimentdetails, voer een naam in (voor dit bericht,
demo-blog
) en optionele beschrijving. - Kies Volgende.
- Onder Gegevens uitvoerenยธ kies uw pijplijn en pijplijnversie.
- Voor Naam uitvoeren, voer een naam in.
- Voor Experiment, kies het experiment dat je hebt gemaakt.
- Voor Voer type uitselecteer Eenmalig.
- Kies Start.
Nadat de pijplijn begint te lopen, zou u componenten moeten zien voltooien (binnen een paar seconden). In dit stadium kunt u een van de voltooide componenten kiezen om meer details te zien.
Toegang tot de artefacten in Amazon S3
Tijdens de implementatie van Kubeflow hebben we gespecificeerd dat Kubeflow Pipelines Amazon S3 moet gebruiken om de artefacten op te slaan. Dit omvat alle artefacten van de pijplijnuitvoer, gecachte runs en pijplijngrafieken, die vervolgens allemaal kunnen worden gebruikt voor uitgebreide visualisaties en prestatie-evaluatie.
Wanneer de pijplijnuitvoering is voltooid, zou u de artefacten moeten kunnen zien in de S3-bucket die u tijdens de installatie hebt gemaakt. Om dit te bevestigen, kiest u een voltooid onderdeel van de pijplijn en controleert u de Input / Output sectie over de standaard Diagram tabblad. De artefact-URL's moeten verwijzen naar de S3-bucket die u tijdens de implementatie hebt opgegeven.
Om te bevestigen dat de bronnen zijn toegevoegd aan Amazon S3, kunnen we de S3-bucket ook in ons AWS-account controleren via de Amazon S3-console.
De volgende schermafbeelding toont onze bestanden.
Verifieer ML-metadata in Amazon RDS
We hebben Kubeflow Pipelines ook geรฏntegreerd met Amazon RDS tijdens de implementatie, wat betekent dat alle pijplijnmetadata moeten worden opgeslagen in Amazon RDS. Dit omvat alle runtime-informatie, zoals de status van een taak, beschikbaarheid van artefacten, aangepaste eigenschappen die aan de run of artefacten zijn gekoppeld, en meer.
Om de Amazon RDS-integratie te verifiรซren, volgt u de stappen in de: officieel README-bestand. Voer in het bijzonder de volgende stappen uit:
- Haal de Amazon RDS-gebruikersnaam en het wachtwoord op uit het geheim dat tijdens de installatie is aangemaakt:
- Gebruik deze inloggegevens om vanuit het cluster verbinding te maken met Amazon RDS:
- Wanneer de MySQL-prompt wordt geopend, kunnen we de
mlpipelines
databank als volgt: - Nu kunnen we de inhoud van specifieke tabellen lezen om er zeker van te zijn dat we metadata-informatie kunnen zien over de experimenten die de pijplijnen hebben uitgevoerd:
Opruimen
Voer de volgende stappen uit om Kubeflow te verwijderen en de door u gemaakte AWS-bronnen te verwijderen:
- Verwijder de ingress en ingress-managed load balancer door de volgende opdracht uit te voeren:
- Verwijder de rest van de Kubeflow-componenten:
- Verwijder de AWS-bronnen die door scripts zijn gemaakt:
- Bronnen gemaakt voor Amazon RDS en Amazon S3-integratie. Zorg ervoor dat u het configuratiebestand hebt aangemaakt door het script in
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Bronnen gemaakt voor Amazon Cognito-integratie. Zorg ervoor dat u het configuratiebestand hebt aangemaakt door het script in
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Bronnen gemaakt voor Amazon RDS en Amazon S3-integratie. Zorg ervoor dat u het configuratiebestand hebt aangemaakt door het script in
- Als u een speciaal Amazon EKS-cluster voor Kubeflow hebt gemaakt met eksctl, kunt u dit verwijderen met de volgende opdracht:
Samengevat
In dit bericht hebben we de waarde benadrukt die Kubeflow op AWS biedt via native AWS-beheerde service-integraties voor veilige, schaalbare en bedrijfsklare AI- en ML-workloads. U kunt kiezen uit verschillende implementatie-opties om Kubeflow op AWS te installeren met verschillende service-integraties. De use case in dit bericht demonstreerde Kubeflow-integratie met Amazon Cognito, Secrets Manager, Amazon RDS en Amazon S3. Raadpleeg de beschikbare AWS-geรฏntegreerde implementatie-opties in om aan de slag te gaan met Kubeflow op AWS Kubeflow op AWS.
Vanaf v1.3 kun je de . volgen AWS Labs-repository om alle AWS-bijdragen aan Kubeflow bij te houden. U kunt ons ook vinden op de Kubeflow #AWS Slack-kanaal; uw feedback daar helpt ons bij het prioriteren van de volgende functies om bij te dragen aan het Kubeflow-project.
Over de auteurs
Kanwaljit Khurmi is een AI/ML Specialist Solutions Architect bij Amazon Web Services. Hij werkt samen met het AWS-product, de engineering en klanten om begeleiding en technische assistentie te bieden om hen te helpen de waarde van hun hybride ML-oplossingen te verbeteren bij het gebruik van AWS. Kanwaljit is gespecialiseerd in het helpen van klanten met toepassingen in containers en machine learning.
Meghna Baijal is een Software Engineer met AWS AI waardoor het voor gebruikers gemakkelijker wordt om hun Machine Learning-workloads op AWS te onboarden door ML-producten en platforms te bouwen, zoals de Deep Learning Containers, de Deep Learning AMI's, de AWS-controllers voor Kubernetes (ACK) en Kubeflow op AWS . Naast haar werk houdt ze van lezen, reizen en schilderen.
Suraj Kota is een Software Engineer gespecialiseerd in Machine Learning-infrastructuur. Hij bouwt tools om gemakkelijk aan de slag te gaan en de werklast van machine learning op AWS te schalen. Hij werkte aan de AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators for Kubernetes en andere open source-integraties zoals Kubeflow.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: 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
- Over
- toegang
- Account
- Actie
- Toevoegen
- adres
- beheerder
- administratie
- filialen
- AI
- Alles
- al
- Amazone
- Amazon Web Services
- Nog een
- Aanvraag
- toepassingen
- passend
- architectuur
- rond
- Associรซren
- geverifieerd
- authenticeert
- authenticatie
- machtiging
- automatiseren
- geautomatiseerde
- automaten
- beschikbaarheid
- Beschikbaar
- AWS
- worden
- betekent
- BEST
- miljarden
- Blog
- grens
- bouw
- Gebouw
- bouwt
- ingebouwd
- mogelijkheden
- Inhoud
- verzorging
- gevallen
- CD
- certificaat
- certificaten
- uitdagend
- Afrekenen
- Kies
- vorderingen
- klasse
- code
- Gemeen
- het invullen van
- complex
- bestanddeel
- computer
- computergebruik
- Configuratie
- Verbinden
- Connectiviteit
- troosten
- containers
- bevat
- content
- voortzetten
- bijdragen
- onder controle te houden
- controleur
- auteursrecht
- kon
- en je merk te creรซren
- aangemaakt
- creรซert
- Wij creรซren
- het aanmaken
- Geloofsbrieven
- kritisch
- gewoonte
- Klanten
- dashboards
- gegevens
- gegevensverwerking
- data science
- Database
- DDoS
- toegewijd aan
- Vraag
- tonen
- gedemonstreerd
- implementeren
- ingezet
- het inzetten
- inzet
- implementaties
- ontplooit
- Design
- detail
- gegevens
- Ontwikkeling
- Dex
- anders
- directe
- direct
- bespreken
- verdeeld
- distributie
- dns
- Nee
- domein
- gemakkelijk
- gemakkelijk te gebruiken
- echo
- in staat stellen
- encryptie
- Endpoint
- ingenieur
- Engineering
- Enter
- Enterprise
- Milieu
- evaluatie
- Event
- voorbeeld
- bestaand
- ervaring
- experiment
- Verken
- Storing
- Voordelen
- feedback
- financieel
- Voornaam*
- geschikt
- stroom
- Focus
- richt
- volgen
- volgend
- formaat
- gevonden
- vers
- het krijgen van
- Git
- GitHub
- goed
- Kopen Google Reviews
- Groeien
- Groeiend
- hulp
- het helpen van
- helpt
- hier
- Hoge
- hoger
- Gemarkeerd
- zeer
- Hosting
- HTTPS
- Hybride
- Identiteit
- Impact
- uitvoeren
- verbeteren
- Inc
- omvat
- Inclusief
- meer
- individueel
- toonaangevende
- info
- informatie
- Infrastructuur
- installeren
- geรฏntegreerde
- integratie
- integraties
- investeren
- isolatie
- problemen
- IT
- zelf
- Vacatures
- houden
- sleutel
- Labs
- taal
- Groot
- gelanceerd
- leren
- facelift
- Lijn
- laden
- lokaal
- machine
- machine learning
- onderhouden
- MERKEN
- maken
- beheer
- beheerd
- management
- manager
- Metriek
- miljoenen
- ML
- model
- modellen
- Grensverkeer
- meer
- meest
- namen
- Naturel
- Navigatie
- netto
- netwerk
- knooppunten
- notitieboekje
- aantal
- Aanbod
- open
- open source
- opent
- exploitanten
- geoptimaliseerde
- Keuze
- Opties
- Overige
- het te bezitten.
- Wachtwoord
- prestatie
- platform
- platforms
- punt
- beleidsmaatregelen door te lezen.
- zwembad
- presenteren
- prioriteit
- verwerking
- Product
- Producten
- Programming
- project
- beschermen
- zorgen voor
- biedt
- het verstrekken van
- publiek
- snel
- bereiken
- lezing
- redenen
- record
- geregistreerd
- los
- te vragen
- nodig
- Voorwaarden
- hulpbron
- Resources
- antwoord
- REST
- weg
- lopen
- lopend
- Schaalbaarheid
- schaalbare
- Scale
- scaling
- Wetenschap
- sdk
- SEC
- seconden
- beveiligen
- veiligheid
- Serverless
- service
- Diensten
- reeks
- setup
- Aandelen
- Signs
- Eenvoudig
- Maat
- speling
- slaap
- So
- Social
- Software
- Software Engineer
- solide
- oplossing
- Oplossingen
- sommige
- iets
- broncode
- specialist
- gespecialiseerde
- specialiseert
- specifiek
- Stadium
- begin
- gestart
- starts
- Land
- Status
- mediaopslag
- shop
- Met goed gevolg
- ondersteuning
- steunen
- system
- Systems
- taken
- Technisch
- De Bron
- Door
- niet de tijd of
- teken
- tools
- tools
- top
- spoor
- verkeer
- Trainingen
- overdracht
- Vertaling
- vervoeren
- Reizend
- ui
- bijwerken
- updates
- us
- .
- gebruikers
- gevalideerd
- waarde
- variรซteit
- divers
- controleren
- visie
- volume
- web
- webservices
- WIE
- binnen
- zonder
- Mijn werk
- werkte
- werkzaam
- Bedrijven