Dans cet article, nous démontrons Kubeflow sur AWS (une distribution de Kubeflow spécifique à AWS) et la valeur qu'elle ajoute par rapport à Kubeflow open source grâce à l'intégration de services AWS hautement optimisés, natifs du cloud et prêts pour l'entreprise.
Kubeflow est la plateforme open source d'apprentissage automatique (ML) dédiée à rendre les déploiements de workflows ML sur Kubernetes simples, portables et évolutifs. Kubeflow fournit de nombreux composants, notamment un tableau de bord central, des notebooks Jupyter multi-utilisateurs, Kubeflow Pipelines, KFServing et Katib, ainsi que des opérateurs de formation distribués pour TensorFlow, PyTorch, MXNet et XGBoost, pour créer des workflows de ML simples, évolutifs et portables. .
AWS a récemment lancé Kubeflow v1.4 dans le cadre de sa propre distribution Kubeflow (appelée Kubeflow sur AWS), qui rationalise les tâches de science des données et aide à créer des systèmes ML hautement fiables, sécurisés, portables et évolutifs avec des frais opérationnels réduits grâce à des intégrations avec les services gérés AWS. . Vous pouvez utiliser cette distribution Kubeflow pour créer des systèmes ML sur Service Amazon Elastic Kubernetes (Amazon EKS) pour créer, entraîner, régler et déployer des modèles de ML pour une grande variété de cas d'utilisation, notamment la vision par ordinateur, le traitement du langage naturel, la traduction vocale et la modélisation financière.
Défis avec Kubeflow open source
Lorsque vous utilisez un projet Kubeflow open source, il déploie tous les composants du plan de contrôle et du plan de données Kubeflow sur les nœuds de travail Kubernetes. Les services de composants Kubeflow sont déployés dans le cadre du plan de contrôle Kubeflow, et tous les déploiements de ressources liés à Jupyter, à la formation, au réglage et à l'hébergement des modèles sont déployés sur le plan de données Kubeflow. Le plan de contrôle et le plan de données Kubeflow peuvent s'exécuter sur le même nœud de travail Kubernetes ou sur des nœuds de travail différents. Cet article se concentre sur les composants du plan de contrôle Kubeflow, comme illustré dans le diagramme suivant.
Ce modèle de déploiement peut ne pas fournir une expérience adaptée à l'entreprise pour les raisons suivantes :
- Tous les composants lourds de l'infrastructure du plan de contrôle Kubeflow, y compris la base de données, le stockage et l'authentification, sont déployés dans le nœud de travail du cluster Kubernetes lui-même. Cela rend difficile la mise en œuvre d'une architecture de conception de plan de contrôle Kubeflow hautement disponible avec un état persistant en cas de panne du nœud de travail.
- Les artefacts générés par le plan de contrôle Kubeflow (tels que les instances MySQL, les journaux de pod ou le stockage MinIO) augmentent avec le temps et nécessitent des volumes de stockage redimensionnables avec des capacités de surveillance continue pour répondre à la demande croissante de stockage. Étant donné que le plan de contrôle Kubeflow partage des ressources avec les charges de travail du plan de données Kubeflow (par exemple, pour les tâches de formation, les pipelines et les déploiements), le dimensionnement et la mise à l'échelle appropriés des volumes de cluster et de stockage Kubernetes peuvent devenir difficiles et entraîner une augmentation des coûts opérationnels.
- Kubernetes limite la taille du fichier journal, la plupart des installations conservant la limite la plus récente de 10 Mo. Par défaut, les journaux du pod deviennent inaccessibles une fois qu'ils atteignent cette limite supérieure. Les journaux peuvent également devenir inaccessibles si les pods sont expulsés, plantés, supprimés ou planifiés sur un autre nœud, ce qui pourrait avoir un impact sur la disponibilité des journaux d'application et sur les capacités de surveillance.
Kubeflow sur AWS
Kubeflow sur AWS fournit un chemin clair pour utiliser Kubeflow, avec les services AWS suivants :
- Équilibreur de charge d'application pour une gestion sécurisée du trafic externe via HTTPS
- Amazon Cloud Watch pour la gestion persistante des journaux
- AWSCognito pour l'authentification des utilisateurs avec Transport Layer Security (TLS)
- Conteneurs AWS Deep Learning pour des images de serveur de notebook Jupyter hautement optimisées
- Système de fichiers Amazon Elastic (AmazonEFS) ou Amazon FSx pour Lustre pour une solution de stockage de fichiers simple, évolutive et sans serveur pour des performances de formation accrues
- Amazon EKS pour les clusters Kubernetes gérés
- Service de base de données relationnelle Amazon (Amazon RDS) pour des pipelines hautement évolutifs et un magasin de métadonnées
- AWS Secrets Manager pour protéger les secrets nécessaires pour accéder à vos applications
- Service de stockage simple Amazon (Amazon S3) pour un magasin d'artefacts de pipeline facile à utiliser
Ces intégrations de services AWS avec Kubeflow (comme illustré dans le schéma suivant) nous permettent de dissocier les parties critiques du plan de contrôle Kubeflow de Kubernetes, offrant ainsi une conception sécurisée, évolutive, résiliente et optimisée en termes de coûts.
Discutons des avantages de chaque intégration de services et de leurs solutions en matière de sécurité, d'exécution de pipelines ML et de stockage.
Authentification sécurisée des utilisateurs Kubeflow avec Amazon Cognito
La sécurité du cloud chez AWS est la priorité absolue, et nous investissons dans l'intégration étroite de la sécurité Kubeflow directement dans les services de sécurité à responsabilité partagée AWS, tels que les suivants :
- Application Load Balancer (ALB) pour la gestion du trafic externe
- Gestionnaire de certificats AWS (ACM) pour prendre en charge TLS
- Rôles IAM pour les comptes de service (IRSA) pour un contrôle d'accès précis au niveau du pod Kubernetes
- Service de gestion des clés AWS (AWS KMS) pour la gestion des clés de chiffrement des données
- Bouclier AWS pour la protection DDoS
Dans cette section, nous nous concentrons sur l'intégration du plan de contrôle AWS Kubeflow avec Amazon Cognito. Amazon Cognito supprime le besoin de gérer et de maintenir une solution native Dex (fournisseur open source OpenID Connect (OIDC) soutenu par LDAP local) pour l'authentification des utilisateurs et facilite la gestion des secrets.
Vous pouvez également utiliser Amazon Cognito pour ajouter rapidement et facilement l'inscription, la connexion et le contrôle d'accès des utilisateurs à votre interface utilisateur Kubeflow. Amazon Cognito s'adapte à des millions d'utilisateurs et prend en charge la connexion avec des fournisseurs d'identité sociale (IdP), tels que Facebook, Google et Amazon, et avec des IdP d'entreprise via SAML 2.0. Cela réduit la complexité de votre configuration Kubeflow, la rendant opérationnellement simple et plus facile à utiliser pour obtenir une isolation multi-utilisateurs.
Examinons un flux d'authentification multi-utilisateurs avec les intégrations Amazon Cognito, ALB et ACM avec Kubeflow sur AWS. Il existe un certain nombre de composants clés dans le cadre de cette intégration. Amazon Cognito est configuré en tant qu'IdP avec un rappel d'authentification configuré pour acheminer la demande vers Kubeflow après l'authentification de l'utilisateur. Dans le cadre de la configuration de Kubeflow, une ressource d'entrée Kubernetes est créée pour gérer le trafic externe vers le service Istio Gateway. Le contrôleur d'entrée AWS ALB provisionne un équilibreur de charge pour cette entrée. Nous utilisons Amazon Route 53 pour configurer un DNS public pour le domaine enregistré et créer des certificats à l'aide d'ACM pour activer l'authentification TLS au niveau de l'équilibreur de charge.
Le diagramme suivant montre le flux de travail utilisateur typique consistant à se connecter à Amazon Cognito et à être redirigé vers Kubeflow dans leur espace de noms respectif.
Le workflow contient les étapes suivantes:
- L'utilisateur envoie une requête HTTPS au tableau de bord central Kubeflow hébergé derrière un équilibreur de charge. Route 53 résout le nom de domaine complet en enregistrement d'alias ALB.
- Si le cookie n'est pas présent, l'équilibreur de charge redirige l'utilisateur vers le point de terminaison d'autorisation Amazon Cognito afin qu'Amazon Cognito puisse authentifier l'utilisateur.
- Une fois l'utilisateur authentifié, Amazon Cognito renvoie l'utilisateur à l'équilibreur de charge avec un code d'autorisation.
- L'équilibreur de charge présente le code d'octroi d'autorisation au point de terminaison du jeton Amazon Cognito.
- Dès réception d'un code d'autorisation valide, Amazon Cognito fournit le jeton d'identification et le jeton d'accès à l'équilibreur de charge.
- Une fois que votre équilibreur de charge a authentifié un utilisateur avec succès, il envoie le jeton d'accès au point de terminaison des informations utilisateur Amazon Cognito et reçoit les réclamations des utilisateurs. L'équilibreur de charge signe et ajoute les revendications des utilisateurs à l'en-tête HTTP
x-amzn-oidc-*
dans un format de demande de jeton Web JSON (JWT). - La requête de l’équilibreur de charge est envoyée au pod d’Istio Ingress Gateway.
- À l'aide d'un filtre envoyé, Istio Gateway décode le
x-amzn-oidc-data
valeur, récupère le champ email et ajoute l'en-tête HTTP personnalisékubeflow-userid
, qui est utilisé par la couche d'autorisation Kubeflow. - Les politiques de contrôle d'accès basées sur les ressources Istio sont appliquées à la demande entrante pour valider l'accès au tableau de bord Kubeflow. Si l'un ou l'autre de ces éléments est inaccessible à l'utilisateur, une réponse d'erreur est renvoyée. Si la demande est validée, elle est transmise au service Kubeflow approprié et donne accès au tableau de bord Kubeflow.
Persistance des métadonnées des composants Kubeflow et du stockage des artefacts avec Amazon RDS et Amazon S3
Kubeflow sur AWS fournit une intégration avec Service de base de données relationnelle Amazon (Amazon RDS) dans Kubeflow Pipelines et AutoML (secrétaire) pour le stockage persistant des métadonnées et Amazon S3 dans Kubeflow Pipelines pour le stockage persistant des artefacts. Continuons à discuter de Kubeflow Pipelines plus en détail.
Kubeflow Pipelines est une plate-forme permettant de créer et de déployer des workflows ML portables et évolutifs. Ces workflows peuvent aider à automatiser des pipelines ML complexes à l'aide de composants Kubeflow intégrés et personnalisés. Kubeflow Pipelines comprend le SDK Python, un compilateur DSL pour convertir le code Python en une configuration statique, un service Pipelines qui exécute les pipelines à partir de la configuration statique et un ensemble de contrôleurs pour exécuter les conteneurs dans les pods Kubernetes nécessaires pour terminer le pipeline.
Les métadonnées Kubeflow Pipelines pour les expériences et les exécutions de pipeline sont stockées dans MySQL, et les artefacts, y compris les packages de pipeline et les métriques, sont stockés dans MinIO.
Comme le montre le diagramme suivant, Kubeflow sur AWS vous permet de stocker les composants suivants avec les services gérés AWS :
- Métadonnées du pipeline dans Amazon RDS – Amazon RDS fournit une architecture de déploiement multi-AZ évolutive, hautement disponible et fiable avec un mécanisme de basculement automatisé intégré et une capacité redimensionnable pour une base de données relationnelle standard comme MySQL. Il gère les tâches courantes d'administration de bases de données sans avoir besoin de provisionner l'infrastructure ou de maintenir des logiciels.
- Artefacts de pipeline dans Amazon S3 – Amazon S3 offre une évolutivité, une disponibilité des données, une sécurité et des performances de pointe, et pourrait être utilisé pour répondre à vos besoins. les exigences de conformité.
Ces intégrations permettent de décharger la gestion et la maintenance du stockage des métadonnées et des artefacts de Kubeflow autogéré vers les services gérés AWS, qui sont plus faciles à configurer, à exploiter et à faire évoluer.
Prise en charge des systèmes de fichiers distribués avec Amazon EFS et Amazon FSx
Kubeflow s'appuie sur Kubernetes, qui fournit une infrastructure pour le traitement de données distribué à grande échelle, y compris la formation et le réglage de grands modèles avec un réseau approfondi comportant des millions, voire des milliards de paramètres. Pour prendre en charge de tels systèmes ML de traitement de données distribué, Kubeflow sur AWS fournit une intégration avec les services de stockage suivants :
- AmazonEFS – Un système de fichiers distribué hautes performances, natif du cloud, que vous pouvez gérer via un Pilote Amazon EFS CSI. Amazon EFS fournit
ReadWriteMany
mode d'accès, et vous pouvez désormais l'utiliser pour monter dans des pods (Jupyter, formation de modèle, réglage de modèle) exécutés dans un plan de données Kubeflow pour fournir un espace de travail persistant, évolutif et partageable qui grandit et diminue automatiquement à mesure que vous ajoutez et supprimez des fichiers avec pas besoin de gestion. - Amazon FSx pour Lustre – Un système de fichiers optimisé pour les charges de travail gourmandes en calcul, telles que le calcul haute performance et le ML, que vous pouvez gérer via le Pilote Amazon FSx CSI. FSx pour Lustre fournit
ReadWriteMany
mode d'accès également, et vous pouvez l'utiliser pour mettre en cache les données de formation avec une connectivité directe à Amazon S3 en tant que magasin de sauvegarde, que vous pouvez utiliser pour prendre en charge les serveurs de notebook Jupyter ou la formation distribuée exécutée dans un plan de données Kubeflow. Avec cette configuration, vous n'avez pas besoin de transférer des données vers le système de fichiers avant d'utiliser le volume. FSx for Lustre offre des latences constantes inférieures à la milliseconde et une simultanéité élevée, et peut évoluer jusqu'à des To/s de débit et des millions d'IOPS.
Options de déploiement de Kubeflow
AWS propose diverses options de déploiement Kubeflow :
- Déploiement avec Amazon Cognito
- Déploiement avec Amazon RDS et Amazon S3
- Déploiement avec Amazon Cognito, Amazon RDS et Amazon S3
- Déploiement vanille
Pour plus de détails sur l'intégration des services et les modules complémentaires disponibles pour chacune de ces options, reportez-vous à Options de déploiement. Vous pouvez adapter l’option qui correspond le mieux à votre cas d’utilisation.
Dans la section suivante, nous passons en revue les étapes d'installation de la distribution AWS Kubeflow v1.4 sur Amazon EKS. Nous utilisons ensuite l'exemple de pipeline XGBoost existant disponible sur le tableau de bord de l'interface utilisateur centrale de Kubeflow pour démontrer l'intégration et l'utilisation d'AWS Kubeflow avec Amazon Cognito, Amazon RDS et Amazon S3, avec Secrets Manager comme module complémentaire.
Pré-requis
Pour cette procédure pas à pas, vous devez disposer des prérequis suivants:
- An Compte AWS.
- Un cluster Amazon EKS existant. Il doit s'agir de Kubernetes version 1.19 ou supérieure. Pour la création automatisée de clusters à l'aide de exctl, Voir Créer un cluster Amazon EKS et utilisez l'option eksctl.
Installez les outils suivants sur la machine client utilisée pour accéder à votre cluster Kubernetes. Vous pouvez utiliser AWSCloud9, un environnement de développement intégré (IDE) basé sur le cloud pour la configuration du cluster Kubernetes.
- Interface de ligne de commande AWS (AWS CLI) – Un outil de ligne de commande pour interagir avec les services AWS. Pour les instructions d'installation, reportez-vous à Installation, mise à jour et désinstallation de l'AWS CLI.
- exctl > 0.56 – Un outil de ligne de commande pour travailler avec des clusters Amazon EKS qui automatise de nombreuses tâches individuelles.
- kubectl – Un outil de ligne de commande pour travailler avec les clusters Kubernetes.
- jet – Un logiciel de contrôle de version distribué.
- Python 3.8 + – L'environnement de programmation Python.
- pépin – Le gestionnaire de packages pour Python.
- personnaliser la version 3.2.0 – Un outil de ligne de commande pour personnaliser les objets Kubernetes via un fichier de kustomisation.
Installer Kubeflow sur AWS
Configurez kubectl pour pouvoir vous connecter à un cluster Amazon EKS :
Divers contrôleurs utilisés dans le déploiement de Kubeflow Rôles IAM pour les comptes de service (IRSA). Un fournisseur OIDC doit exister pour que votre cluster puisse utiliser IRSA. Créez un fournisseur OIDC et associez-le à votre cluster Amazon EKS en exécutant la commande suivante, si votre cluster n'en possède pas déjà un :
Clonez le dépôt de manifestes AWS et le dépôt de manifestes Kubeflow, et extrayez les branches de version respectives :
Pour plus d'informations sur ces versions, reportez-vous à Versions et versionnage.
Configurer Amazon RDS, Amazon S3 et Secrets Manager
Vous créez des ressources Amazon RDS et Amazon S3 avant de déployer les manifestes Kubeflow. Nous utilisons des scripts Python automatisés qui se chargent de créer le compartiment S3, la base de données RDS et les secrets requis dans Secrets Manager. Il modifie également les fichiers de configuration requis pour que le pipeline Kubeflow et AutoML soient correctement configurés pour la base de données RDS et le compartiment S3 lors de l'installation de Kubeflow.
Créer un utilisateur IAM avec des autorisations pour autoriser GetBucketLocation
et un accès en lecture et en écriture aux objets dans un compartiment S3 dans lequel vous souhaitez stocker les artefacts Kubeflow. Utilisez le AWS_ACCESS_KEY_ID
ainsi que AWS_SECRET_ACCESS_KEY
de l'utilisateur IAM dans le code suivant :
Configurer Amazon Cognito comme fournisseur d'authentification
Dans cette section, nous créons un domaine personnalisé dans Route 53 et ALB pour acheminer le trafic externe vers Kubeflow Istio Gateway. Nous utilisons ACM pour créer un certificat afin d'activer l'authentification TLS chez ALB et Amazon Cognito afin de maintenir le pool d'utilisateurs et de gérer l'authentification des utilisateurs.
Remplacez les valeurs suivantes dans
- route53.rootDomain.name – Le domaine enregistré. Supposons que ce domaine soit
example.com
. - route53.rootDomain.hostedZoneId – Si votre domaine est géré dans Route53, saisissez l'ID de la zone hébergée trouvé sous les détails de la zone hébergée. Ignorez cette étape si votre domaine est géré par un autre fournisseur de domaine.
- route53.subDomain.name – Le nom du sous-domaine sur lequel vous souhaitez héberger Kubeflow (par exemple,
platform.example.com
). Pour plus d'informations sur les sous-domaines, reportez-vous à Déployer Kubeflow avec AWS Cognito en tant qu'IdP. - cluster.nom – Le nom du cluster et l'endroit où Kubeflow est déployé.
- cluster.région – La région du cluster dans laquelle Kubeflow est déployé (par exemple,
us-west-2
). - cognitoUserpool.name – Le nom du groupe d'utilisateurs Amazon Cognito (par exemple,
kubeflow-users
).
Le fichier de configuration ressemble au code suivant :
Exécutez le script pour créer les ressources :
Le script met à jour le config.yaml
fichier avec les noms de ressources, les ID et les ARN qu'il a créés. Cela ressemble à quelque chose comme le code suivant :
Créer des manifestes et déployer Kubeflow
Déployez Kubeflow à l'aide de la commande suivante :
Mettre à jour le domaine avec l'adresse ALB
Le déploiement crée un équilibreur de charge d'application AWS géré par l'entrée. Nous mettons à jour les entrées DNS du sous-domaine de Route 53 avec le DNS de l'équilibreur de charge. Exécutez la commande suivante pour vérifier si l'équilibreur de charge est provisionné (cela prend environ 3 à 5 minutes) :
Si la ADDRESS
le champ est vide après quelques minutes, vérifiez les journaux de alb-ingress-controller
. Pour obtenir des instructions, reportez-vous à ALB ne parvient pas à provisionner.
Lorsque l'équilibreur de charge est provisionné, copiez le nom DNS de l'équilibreur de charge et remplacez l'adresse par kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. La section Kubeflow du fichier de configuration ressemble au code suivant :
Exécutez le script suivant pour mettre à jour les entrées DNS du sous-domaine dans Route 53 avec le DNS de l'équilibreur de charge provisionné :
Dépannage
Si vous rencontrez des problèmes lors de l'installation, reportez-vous au guide de dépannage ou repartez à zéro en suivant la section « Nettoyer » de ce blog.
Présentation pas à pas du cas d'utilisation
Maintenant que nous avons terminé l'installation des composants Kubeflow requis, voyons-les en action à l'aide de l'un des exemples existants fournis par Kubeflow Pipelines sur le tableau de bord.
Accédez au tableau de bord Kubeflow à l'aide d'Amazon Cognito
Pour commencer, accédons au tableau de bord Kubeflow. Étant donné que nous avons utilisé Amazon Cognito comme fournisseur d'identité, utilisez les informations fournies dans le fichier README officiel. Nous créons d'abord quelques utilisateurs sur la console Amazon Cognito. Ce sont les utilisateurs qui se connecteront au tableau de bord central. Suivant, créer un profil pour l'utilisateur que vous avez créé. Ensuite, vous devriez pouvoir accéder au tableau de bord via la page de connexion à l'adresse https://kubeflow.platform.example.com.
La capture d'écran suivante montre notre tableau de bord Kubeflow.
Exécutez le pipeline
Sur le tableau de bord Kubeflow, choisissez Pipelines dans le nom de navigation. Vous devriez voir quatre exemples fournis par Kubeflow Pipelines que vous pouvez exécuter directement pour explorer diverses fonctionnalités de Pipelines.
Pour cet article, nous utilisons l'exemple XGBoost appelé [Demo] XGBoost – Iterative model training. Vous pouvez trouver le code source sur GitHub. Il s'agit d'un pipeline simple qui utilise l'existant XGBoost/Train
ainsi que XGBoost/Predict
Composants du pipeline Kubeflow pour entraîner un modèle de manière itérative jusqu'à ce que les métriques soient considérées comme bonnes sur la base des métriques spécifiées.
Pour exécuter le pipeline, procédez comme suit :
- Sélectionnez le pipeline et choisissez Créer une expérience.
- Sous Détails du test, entrez un nom (pour ce message,
demo-blog
) et une description facultative. - Selectionnez Suivant.
- Sous Détails de l'exécution¸ choisissez votre pipeline et sa version.
- Pour Nom de l'exécution, entrez un nom.
- Pour Expérience, choisissez l'expérience que vous avez créée.
- Pour Type de course, sélectionnez Unique.
- Selectionnez Accueil.
Une fois le pipeline démarré, vous devriez voir les composants se terminer (en quelques secondes). À ce stade, vous pouvez choisir n'importe lequel des composants terminés pour voir plus de détails.
Accédez aux artefacts dans Amazon S3
Lors du déploiement de Kubeflow, nous avons spécifié que Kubeflow Pipelines devait utiliser Amazon S3 pour stocker ses artefacts. Cela inclut tous les artefacts de sortie du pipeline, les exécutions mises en cache et les graphiques du pipeline, qui peuvent tous être utilisés pour des visualisations riches et une évaluation des performances.
Une fois l'exécution du pipeline terminée, vous devriez pouvoir voir les artefacts dans le compartiment S3 que vous avez créé lors de l'installation. Pour confirmer cela, choisissez n'importe quel composant terminé du pipeline et vérifiez le Entrée / Sortie section sur la valeur par défaut Graphique languette. Les URL des artefacts doivent pointer vers le compartiment S3 que vous avez spécifié lors du déploiement.
Pour confirmer que les ressources ont été ajoutées à Amazon S3, nous pouvons également vérifier le compartiment S3 dans notre compte AWS via la console Amazon S3.
La capture d'écran suivante montre nos fichiers.
Vérifier les métadonnées ML dans Amazon RDS
Nous avons également intégré Kubeflow Pipelines à Amazon RDS lors du déploiement, ce qui signifie que toutes les métadonnées du pipeline doivent être stockées dans Amazon RDS. Cela inclut toutes les informations d'exécution telles que l'état d'une tâche, la disponibilité des artefacts, les propriétés personnalisées associées à l'exécution ou aux artefacts, etc.
Pour vérifier l'intégration d'Amazon RDS, suivez les étapes fournies dans le fichier README officiel. Plus précisément, procédez comme suit :
- Obtenez le nom d'utilisateur et le mot de passe Amazon RDS à partir du secret créé lors de l'installation :
- Utilisez ces informations d'identification pour vous connecter à Amazon RDS depuis le cluster :
- Lorsque l'invite MySQL s'ouvre, nous pouvons vérifier le
mlpipelines
base de données comme suit : - Nous pouvons désormais lire le contenu de tableaux spécifiques, pour nous assurer que nous pouvons voir les informations de métadonnées sur les expériences qui ont exécuté les pipelines :
Nettoyer
Pour désinstaller Kubeflow et supprimer les ressources AWS que vous avez créées, procédez comme suit :
- Supprimez l'équilibreur de charge entrant et géré par l'entrée en exécutant la commande suivante :
- Supprimez le reste des composants Kubeflow :
- Supprimez les ressources AWS créées par les scripts :
- Ressources créées pour l'intégration d'Amazon RDS et d'Amazon S3. Assurez-vous d'avoir le fichier de configuration créé par le script dans
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - Ressources créées pour l'intégration d'Amazon Cognito. Assurez-vous d'avoir le fichier de configuration créé par le script dans
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- Ressources créées pour l'intégration d'Amazon RDS et d'Amazon S3. Assurez-vous d'avoir le fichier de configuration créé par le script dans
- Si vous avez créé un cluster Amazon EKS dédié pour Kubeflow à l'aide de eksctl, vous pouvez le supprimer avec la commande suivante :
Résumé
Dans cet article, nous avons souligné la valeur apportée par Kubeflow sur AWS grâce à des intégrations de services natives gérées par AWS pour des charges de travail d'IA et de ML sécurisées, évolutives et prêtes pour l'entreprise. Vous pouvez choisir parmi plusieurs options de déploiement pour installer Kubeflow sur AWS avec diverses intégrations de services. Le cas d'utilisation présenté dans cet article a démontré l'intégration de Kubeflow avec Amazon Cognito, Secrets Manager, Amazon RDS et Amazon S3. Pour démarrer avec Kubeflow sur AWS, reportez-vous aux options de déploiement intégrées à AWS disponibles dans Kubeflow sur AWS.
À partir de la v1.3, vous pouvez suivre le Référentiel AWS Labs pour suivre toutes les contributions AWS à Kubeflow. Vous pouvez également nous retrouver sur le Chaîne Kubeflow #AWS Slack; vos commentaires nous aideront à prioriser les prochaines fonctionnalités à contribuer au projet Kubeflow.
À propos des auteurs
Kanwaljit Khurmi est architecte de solutions spécialisées en IA/ML chez Amazon Web Services. Il travaille avec le produit AWS, l'ingénierie et les clients pour fournir des conseils et une assistance technique les aidant à améliorer la valeur de leurs solutions ML hybrides lors de l'utilisation d'AWS. Kanwaljit est spécialisé dans l'aide aux clients avec des applications conteneurisées et d'apprentissage automatique.
Meghna Baïjal est un ingénieur logiciel avec AWS AI, ce qui permet aux utilisateurs d'intégrer plus facilement leurs charges de travail d'apprentissage automatique sur AWS en créant des produits et des plateformes de ML tels que les conteneurs Deep Learning, les AMI Deep Learning, les contrôleurs AWS pour Kubernetes (ACK) et Kubeflow sur AWS. . En dehors du travail, elle aime lire, voyager et peindre.
Sourate Kota est un ingénieur logiciel spécialisé dans les infrastructures de Machine Learning. Il crée des outils pour démarrer facilement et faire évoluer la charge de travail d'apprentissage automatique sur AWS. Il a travaillé sur les conteneurs AWS Deep Learning, l'AMI Deep Learning, les opérateurs SageMaker pour Kubernetes et d'autres intégrations open source comme Kubeflow.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : 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
- Qui sommes-nous
- accès
- Compte
- Action
- Choisir
- propos
- admin
- administration
- Affiliés
- AI
- Tous
- déjà
- Amazon
- Amazon Web Services
- Une autre
- Application
- applications
- approprié
- architecture
- autour
- Associé(e)
- authentifié
- authentifie
- Authentification
- autorisation
- automatiser
- Automatisation
- Automates
- disponibilité
- disponibles
- AWS
- devenez
- avantages.
- LES MEILLEURS
- milliards
- blog
- frontière
- construire
- Développement
- construit
- intégré
- capacités
- Compétences
- les soins
- cas
- CD
- certificat
- certificats
- difficile
- Passer au paiement
- Selectionnez
- prétentions
- classe
- code
- Commun
- compléter
- complexe
- composant
- ordinateur
- informatique
- configuration
- NOUS CONTACTER
- Connectivité
- Console
- Conteneurs
- contient
- contenu
- continuer
- contribuer
- des bactéries
- contrôleur
- droit d'auteur
- pourriez
- engendrent
- créée
- crée des
- La création
- création
- Lettres de créance
- critique
- Customiser
- Clients
- tableau de bord
- données
- informatique
- science des données
- Base de données
- DDoS
- dévoué
- Demande
- démontrer
- démontré
- déployer
- déployé
- déployer
- déploiement
- déploiements
- déploie
- Conception
- détail
- détails
- Développement
- Dex
- différent
- directement
- discuter
- distribué
- distribution
- dns
- Ne fait pas
- domaine
- même
- facile à utiliser
- echo
- permettre
- chiffrement
- Endpoint
- ingénieur
- ENGINEERING
- Entrer
- Entreprise
- Environment
- évaluation
- événement
- exemple
- existant
- Découvrez
- expérience
- explorez
- Échec
- Fonctionnalités:
- Réactions
- la traduction de documents financiers
- Prénom
- s'adapter
- flux
- Focus
- se concentre
- suivre
- Abonnement
- le format
- trouvé
- à la main
- obtention
- Git
- GitHub
- Bien
- Croître
- Croissance
- aider
- aider
- aide
- ici
- Haute
- augmentation
- Surbrillance
- très
- hébergement
- HTTPS
- Hybride
- Active
- Impact
- Mettre en oeuvre
- améliorer
- Inc
- inclut
- Y compris
- increased
- individuel
- leader de l'industrie
- info
- d'information
- Infrastructure
- installer
- des services
- l'intégration
- intégrations
- sueñortiendo
- seul
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- lui-même
- Emplois
- en gardant
- ACTIVITES
- Labs
- langue
- gros
- lancé
- apprentissage
- lifting
- Gamme
- charge
- locales
- click
- machine learning
- maintenir
- FAIT DU
- Fabrication
- gérer
- gérés
- gestion
- manager
- Métrique
- des millions
- ML
- modèle
- numériques jumeaux (digital twin models)
- Stack monitoring
- PLUS
- (en fait, presque toutes)
- noms
- Nature
- Navigation
- net
- réseau et
- nœuds
- cahier
- nombre
- Offres Speciales
- ouvert
- open source
- ouvre
- opérateurs
- optimisé
- Option
- Options
- Autre
- propre
- Mot de Passe
- performant
- plateforme
- Plateformes
- Point
- politiques
- pool
- représentent
- priorité
- traitement
- Produit
- Produits
- Programmation
- Projet
- protéger
- fournir
- fournit
- aportando
- public
- vite.
- nous joindre
- en cours
- Les raisons
- record
- inscrit
- libérer
- nécessaire
- conditions
- Exigences
- ressource
- Ressources
- réponse
- REST
- Itinéraire
- Courir
- pour le running
- Évolutivité
- évolutive
- Escaliers intérieurs
- mise à l'échelle
- Sciences
- Sdk
- SEC
- secondes
- sécurisé
- sécurité
- Sans serveur
- service
- Services
- set
- installation
- Partages
- Signes
- étapes
- Taille
- mou
- sleep
- So
- Réseaux sociaux
- Logiciels
- Software Engineer
- solide
- sur mesure
- Solutions
- quelques
- quelque chose
- code source
- spécialiste
- spécialisé
- spécialise
- spécifiquement
- Étape
- Commencer
- j'ai commencé
- départs
- Région
- Statut
- storage
- Boutique
- Avec succès
- Support
- Les soutiens
- combustion propre
- Système
- tâches
- Technique
- La Source
- Avec
- fiable
- jeton
- outil
- les outils
- top
- suivre
- circulation
- Formation
- transférer
- Traduction
- transport
- Voyages
- ui
- Mises à jour
- Actualités
- us
- utilisé
- utilisateurs
- validé
- Plus-value
- variété
- divers
- vérifier
- vision
- le volume
- web
- services Web
- WHO
- dans les
- sans
- Activités principales
- travaillé
- de travail
- vos contrats