Introduction
- Les installations gouvernementales sécurisées.
- Les établissements financiers soumis à une isolation réseau stricte.
- Les organisations de santé soumises à des exigences de conformité.
- Les environnements de systèmes de contrôle industriels (ICS).
- Les centres de recherche disposant de réseaux classifiés.
Prérequis
Versions requises
Prérequis SSL/TLS
Prérequis matériels
Base de données MySQL
Redis
- Amazon ElastiCache
- Google Cloud Memorystore
- Azure Cache for Redis
- Redis auto-hébergé dans votre cloud ou sur site
Stockage d’objets
- Amazon S3 : service de stockage d’objets offrant évolutivité, disponibilité des données, sécurité et performances.
- Google Cloud Storage : service géré pour stocker des données non structurées à grande échelle.
- Azure Blob Storage : service de stockage d’objets cloud pour les données non structurées à grande échelle.
- CoreWeave AI Object Storage : stockage d’objets compatible S3 optimisé pour les charges de travail d’IA.
- Stockage compatible S3 de niveau entreprise, comme MinIO Enterprise (AIStor), NetApp StorageGRID ou d’autres solutions d’entreprise.
MinIO Open Source est en mode maintenance, sans développement actif ni binaires précompilés. Pour les déploiements en production, W&B recommande les services de stockage d’objets gérés ou les solutions compatibles S3 de niveau entreprise, comme MinIO Enterprise (AIStor).
Exigences spécifiques aux environnements isolés du réseau
- Registre interne de conteneurs : un accès à un registre privé de conteneurs tel que Harbor, JFrog Artifactory ou Nexus, contenant toutes les images W&B requises.
- Dépôt Helm interne : un accès à un dépôt privé de chart Helm contenant les charts Helm W&B.
- Capacité de transfert d’images : une méthode permettant de transférer des images de conteneur depuis un système connecté à Internet vers votre registre isolé du réseau.
- Fichier de licence : une licence W&B Enterprise valide. Pour obtenir une licence (par exemple, depuis une machine connectée à Internet), voir la section License de la page Requirements, ou contactez votre équipe commerciale W&B.
Préparez votre environnement isolé du réseau
Étape 1 : Configurer le registre de conteneurs interne
Il vous incombe de suivre les exigences de l’opérateur W&B et de tenir votre registre de conteneurs à jour avec les dernières images. Pour obtenir la liste la plus récente des images de conteneur et des versions requises, référez-vous au chart Helm ou contactez l’assistance W&B ou votre ingénieur d’assistance W&B attitré.
Conteneurs des composants W&B essentiels
docker.io/wandb/controller: opérateur Kubernetes W&B.docker.io/wandb/local: serveur d’application W&B.docker.io/wandb/console: console de gestion W&B.docker.io/wandb/megabinary: microservices W&B (API, executor, glue, parquet).
Conteneurs de dépendances
docker.io/bitnamilegacy/redis: Requis pour le déploiement local de Redis pendant les phases de test et de développement. Pour les exigences Redis en Production, voir la section Redis dans les prérequis.docker.io/otel/opentelemetry-collector-contrib: Agent OpenTelemetry pour collecter les métriques et les journaux.quay.io/prometheus/prometheus: Prometheus pour la collecte de métriques.quay.io/prometheus-operator/prometheus-config-reloader: Dépendance Prometheus.
Obtenir la liste complète des images
-
Sur un système connecté à Internet, téléchargez les charts Helm W&B depuis le dépôt des charts Helm W&B :
-
Inspectez les fichiers
values.yamlpour identifier toutes les images de conteneur et leurs versions :Vous pouvez également utiliser cette commande pour extraire uniquement les noms des dépôts (sans les tags de version) :La liste des dépôts ressemblera à ceci :Pour obtenir les tags de version spécifiques à chaque image, utilisez la première commande précédente (grep -E "repository:|tag:"), qui affiche à la fois les noms des dépôts et les tags de version correspondants.
Transférer des images vers un registre isolé du réseau
-
Sur un système connecté à Internet, téléchargez et enregistrez toutes les images requises.
Utilisez des variables shell pour gérer les versions de manière cohérente :Remplacez les numéros de version dans les exemples suivants par les versions réelles obtenues lors de l’inspection de votre chart Helm à l’étape précédente. Les versions indiquées ici sont données à titre d’exemple et deviennent obsolètes au fil du temps.
-
Transférez les fichiers
.tarvers votre environnement isolé du réseau à l’aide de la méthode approuvée, par exemple une clé USB ou un transfert de fichiers sécurisé. -
Dans votre environnement isolé du réseau, chargez les images et poussez-les vers votre registre interne :
Étape 2 : Configurer le dépôt interne de charts Helm
-
Sur un système connecté à Internet, téléchargez les charts :
-
Transférez les fichiers de chart
.tgzvers votre environnement isolé du réseau et téléversez-les dans votre dépôt Helm interne conformément aux procédures de votre dépôt. Le chartoperatordéploie l’opérateur Kubernetes W&B (Controller Manager). Le chartoperator-wandbdéploie la plateforme W&B à l’aide des valeurs configurées dans la Ressource personnalisée (CR).
Étape 3 : Configurer l’accès au dépôt Helm
-
Dans votre environnement isolé du réseau, configurez Helm pour utiliser votre dépôt interne :
-
Vérifiez que les charts sont disponibles :
Déployer W&B dans un environnement isolé du réseau
Étape 4 : Installer l’opérateur Kubernetes
-
Créez un fichier
values.yamlavec le contenu suivant :Remplacez le dépôt et le tag par les versions réelles que vous avez transférées vers votre registre interne à l’étape 1. La version indiquée ici (1.13.3) est un exemple et devient obsolète au fil du temps. -
Installez l’opérateur et la définition de ressource personnalisée (CRD) :
-
Vérifiez que l’opérateur est en cours d’exécution :
Vous devriez voir le pod de l’opérateur dans l’état
Running.
Étape 5 : Configurer la base de données MySQL
[PASSWORD] par un mot de passe robuste :
Étape 6 : Configurer la Ressource personnalisée W&B
L’exemple de configuration suivant inclut des tags de version d’image qui deviennent obsolètes au fil du temps. Remplacez toutes les valeurs
tag: par les versions réelles que vous avez transférées vers votre registre interne à l’étape 1.wandb.yaml avec le contenu suivant :
Remplacez toutes les valeurs fictives, telles que les noms d’hôte, les mots de passe et les tags, par vos valeurs de configuration réelles. L’exemple précédent présente les composants les plus couramment utilisés.
settingsMigrationJobweave-tracefilestreamflat-runs-table
Étape 7 : Déployer la plateforme W&B
operator-wandb, à partir de la configuration et des références d’image de wandb.yaml.
-
Appliquez la Ressource personnalisée W&B pour déployer la plateforme :
-
Surveillez la progression du déploiement :
Le déploiement peut prendre plusieurs minutes, le temps que l’opérateur crée tous les composants nécessaires.
Configuration d’OpenShift
Contraintes de contexte de sécurité d’OpenShift
restricted aux pods, ce qui empêche de s’exécuter en tant que root et exige des identifiants utilisateur spécifiques.
Option 1 : Utiliser la SCC restricted (recommandée)
Option 2 : Créer une SCC personnalisée (si nécessaire)
restricted, créez une SCC personnalisée :
-
Appliquez le SCC :
-
Associez le SCC aux comptes de service de W&B :
Routes d’OpenShift
Configuration de récupération d’image pour OpenShift
-
Créez un secret de récupération d’image :
-
Ajoutez une référence au secret dans votre Ressource personnalisée :
Exemple complet pour OpenShift
Remplacez toutes les valeurs
tag: de cet exemple par les versions réelles que vous avez transférées dans votre registre interne à l’étape 1. Les versions indiquées ici sont fournies à titre d’exemple et deviennent obsolètes avec le temps.Contactez assistance W&B ou votre ingénieur d’assistance W&B attitré pour obtenir des exemples complets de configuration d’OpenShift adaptés à vos exigences de sécurité.
Vérifiez votre installation
wandb verify exécute des tests qui confirment que les composants et les configurations fonctionnent comme prévu.
Cette procédure suppose que vous créez le premier compte administrateur dans un navigateur.
-
Installez le W&B CLI :
-
Connectez-vous à W&B :
Par exemple :
-
Vérifiez l’installation :
Vérifications supplémentaires pour un environnement isolé du réseau
-
Récupération d’image : assurez-vous que tous les pods ont bien récupéré les images depuis votre registre interne :
Toutes les images doivent pointer vers votre registre interne, et tous les pods doivent être dans l’état
Running. -
Connectivité externe : vérifiez que W&B ne tente pas d’établir de connexions externes (cela ne devrait pas arriver en mode isolé du réseau) :
- Validation de la licence : accédez à la console W&B et vérifiez que votre licence est active.
Dépannage
Erreurs de récupération d’image
- Vérifiez que les images sont présentes dans votre registre interne.
- Vérifiez que le secret de récupération d’image est correctement configuré.
- Vérifiez la connectivité réseau entre les nœuds Kubernetes et le registre.
- Vérifiez les identifiants d’authentification du registre.
Erreurs SCC d’OpenShift
Chart Helm introuvable
- Vérifiez l’URL du dépôt Helm dans la Ressource personnalisée.
- Vérifiez que le pod de l’opérateur peut accéder à votre dépôt Helm interne.
-
Vérifiez que le chart existe dans votre dépôt :
Foire aux questions
Puis-je utiliser une autre classe d’ingress ?
Comment puis-je gérer des bundles de certificats contenant plusieurs certificats ?
customCACerts :
Comment puis-je empêcher les mises à jour automatiques ?
- Définissez
airgapped: truedans l’installation de l’opérateur (cela désactive les vérifications automatiques de mise à jour). - Gérez les mises à jour de version en mettant à jour manuellement
spec.chart.versiondans votre Ressource personnalisée. - Si nécessaire, désactivez les mises à jour automatiques depuis la console système de W&B.
W&B recommande vivement aux clients disposant d’instances autogérées de mettre à jour leurs déploiements avec la dernière version au moins une fois par trimestre afin de conserver l’assistance et de bénéficier des dernières fonctionnalités, améliorations des performances et correctifs. W&B prend en charge une version majeure pendant 12 mois à compter de sa date de sortie initiale. Reportez-vous à Politiques et processus de version.
Le déploiement fonctionne-t-il sans connexion à des dépôts publics ?
airgapped: true est défini dans la configuration de l’opérateur, l’opérateur Kubernetes utilise uniquement vos ressources internes et n’essaie pas de se connecter à des dépôts publics.
Comment puis-je mettre à jour W&B dans un environnement isolé du réseau ?
- Téléchargez les nouvelles images de conteneur sur un système connecté à Internet.
- Transférez les images vers votre registre isolé du réseau.
- Téléversez les nouveaux charts Helm dans votre dépôt interne.
-
Mettez à jour
spec.chart.versionet les tags d’image dans votre Ressource personnalisée. - Appliquez la Ressource personnalisée mise à jour. L’opérateur effectue une mise à jour progressive des composants W&B.
Prochaines étapes
- Configurer l’authentification des utilisateurs : Configurez SSO ou d’autres méthodes d’authentification.
- Mettre en place la supervision : Configurez la supervision de votre instance W&B et de votre infrastructure.
- Planifier les mises à jour : Consultez le processus de mise à niveau du serveur et définissez une cadence de mise à jour.
- Configurer les sauvegardes : Mettez en place des procédures de sauvegarde pour votre base de données MySQL.
- Documenter votre processus : Créez des runbooks pour vos procédures spécifiques de mise à jour en environnement isolé.
Obtenir de l’aide
- Consultez l’architecture de référence pour obtenir des conseils sur l’infrastructure.
- Consultez le guide de l’opérateur pour plus de détails sur la configuration.
- Contactez l’assistance W&B ou votre ingénieur d’assistance W&B dédié.
- Pour les problèmes spécifiques à OpenShift, consultez la documentation Red Hat OpenShift.