Skip to main content

Aperçu

Cette page explique aux administrateurs de la plateforme comment déployer et gérer W&B Server sur Kubernetes (dans le cloud ou sur site) à l’aide de l’opérateur Kubernetes W&B. À la fin, vous disposerez d’une installation W&B Server opérationnelle, gérée par l’opérateur et mise à niveau automatiquement. Utilisez ce guide si vous gérez vous-même un déploiement W&B et avez besoin d’une méthode d’installation qui fonctionne dans des environnements cloud, sur site et isolés du réseau. L’opérateur Kubernetes W&B est la méthode recommandée pour déployer W&B Server sur Kubernetes (dans le cloud ou sur site). Pour un aperçu de l’opérateur, savoir pourquoi W&B l’utilise et comprendre le fonctionnement de la hiérarchie de configuration, voir Autogéré.

Avant de commencer

Avant de déployer W&B avec l’opérateur Kubernetes, assurez-vous que votre infrastructure répond à toutes les exigences :
  1. Vérifier les exigences de l’infrastructure : Voir la page des exigences d’infrastructure pour l’environnement Autogéré pour plus de détails sur :
  • Exigences relatives aux versions logicielles (Kubernetes, MySQL, Redis, Helm)
    • Exigences matérielles (architecture CPU, recommandations de dimensionnement)
    • Configuration du cluster Kubernetes
    • Exigences relatives au réseau, à SSL/TLS et au DNS
  1. Obtenir une licence W&B Server : Voir la section License sur la page des exigences.
  2. Préparer les services externes : Configurer MySQL, Redis et le stockage d’objets avant le déploiement.
Pour plus d’informations, voir la page de l’architecture de référence.

Base de données MySQL

W&B nécessite une base de données MySQL externe. Pour la Production, W&B recommande fortement d’utiliser des services de base de données gérés : Les services de base de données gérés offrent des sauvegardes automatisées, de la supervision, une haute disponibilité et l’application des correctifs, tout en réduisant la charge opérationnelle. Voir l’architecture de référence pour connaître l’ensemble des exigences MySQL, y compris les recommandations de dimensionnement et les paramètres de configuration. Pour le SQL de création de la base de données, consultez le guide bare-metal. Pour toute question sur la configuration de la base de données de votre déploiement, contactez l’assistance ou votre AISE. Pour des instructions complètes sur la configuration de MySQL, y compris les paramètres de configuration et la création de la base de données, voir la section MySQL de la page des exigences.

Redis

W&B dépend d’un déploiement Redis 7.x à nœud unique, utilisé par les composants de W&B pour mettre les jobs en file d’attente et mettre les données en cache. Pour plus de commodité lors des tests et du développement de preuves de faisabilité, W&B Self-Managed inclut un déploiement Redis local qui n’est pas adapté aux déploiements de production. Pour les déploiements de production, W&B peut se connecter à une instance Redis dans les environnements suivants : Voir la section de configuration de Redis externe pour savoir comment configurer une instance Redis externe dans les valeurs Helm.

Stockage d’objets

W&B requiert un stockage d’objets prenant en charge les URL pré-signées et CORS. Fournisseurs de stockage recommandés :
  • Amazon S3 : service de stockage d’objets offrant une évolutivité, une disponibilité des données, une sécurité et des performances de premier plan.
  • Google Cloud Storage : service géré permettant de stocker des données non structurées à grande échelle.
  • Azure Blob Storage : solution de stockage d’objets cloud pour stocker de grandes quantités de données non structurées.
  • CoreWeave AI Object Storage : service de stockage d’objets hautes performances, compatible S3, optimisé pour les charges de travail d’IA.
  • Stockage compatible S3 pour les entreprises : MinIO Enterprise (AIStor), NetApp StorageGRID ou d’autres solutions de niveau entreprise
MinIO Open Source est en mode de maintenance, sans développement actif ni binaires précompilés. Pour les déploiements de production, W&B recommande d’utiliser des services de stockage d’objets gérés ou des solutions compatibles S3 pour les entreprises, telles que MinIO Enterprise (AIStor).
Pour des instructions détaillées sur le provisionnement du bucket, y compris les stratégies IAM, la configuration CORS et la configuration de l’accès, voir le guide Bring Your Own Bucket (BYOB). Voir la section sur le stockage d’objets de l’architecture de référence pour connaître l’ensemble des exigences.

Provisionnez votre bucket de stockage

Avant de configurer W&B, provisionnez votre bucket de stockage d’objets avec les politiques IAM appropriées, une configuration CORS et les identifiants d’accès nécessaires. Voir le guide Bring Your Own Bucket (BYOB) pour obtenir des instructions de provisionnement détaillées, étape par étape, pour :
  • Amazon S3 (y compris les politiques IAM et les politiques de bucket)
  • Google Cloud Storage (y compris les notifications PubSub)
  • Azure Blob Storage (y compris les identités gérées)
  • CoreWeave AI Object Storage
  • stockage compatible S3 (MinIO Enterprise, NetApp StorageGRID et d’autres solutions d’entreprise)
Voir la section de configuration du stockage d’objets pour plus de détails sur sa configuration dans les valeurs Helm.

clusters Kubernetes OpenShift

W&B prend en charge le déploiement sur les clusters Kubernetes OpenShift dans le cloud, sur site et dans des environnements isolés du réseau.
W&B recommande d’utiliser le chart Helm officiel de W&B pour l’installation.

Exécutez le conteneur avec un utilisateur non privilégié

OpenShift et d’autres orchestrateurs similaires rejettent souvent les conteneurs exécutés en tant que root. Les conteneurs W&B doivent donc être configurés pour s’exécuter sous un utilisateur non root qui appartient néanmoins au groupe root. Par défaut, les conteneurs utilisent un $UID de 999. Spécifiez un $UID >= 100000 et un $GID de 0 si votre orchestrateur exige que le conteneur s’exécute sous un utilisateur non root.
W&B doit démarrer avec le groupe root ($GID=0) pour que les autorisations du système de fichiers fonctionnent correctement.
Configurez des contextes de sécurité pour chaque composant W&B. Par exemple, pour configurer le composant API :
Si nécessaire, configurez un contexte de sécurité personnalisé pour d’autres composants, comme app ou console. Pour plus de détails, voir Contexte de sécurité personnalisé.

Déployer l’application W&B Server

L’opérateur Kubernetes W&B avec Helm est la méthode d’installation recommandée pour tous les déploiements W&B Autogéré, y compris dans les environnements cloud, sur site et isolé du réseau.
Choisissez votre méthode de déploiement :
W&B fournit un chart Helm pour déployer l’opérateur Kubernetes W&B sur un cluster Kubernetes. Cette approche vous permet de déployer W&B Server avec la CLI Helm ou un outil de déploiement continu comme ArgoCD.Pour les considérations spécifiques au déploiement, voir Considérations spécifiques à l’environnement et Déployer avec Terraform sur un cloud public. Pour les environnements déconnectés, voir Déployer sur Kubernetes en environnement isolé.Suivez ces étapes pour installer l’opérateur Kubernetes W&B avec la CLI Helm :
  1. Ajoutez le dépôt Helm W&B. Le chart Helm W&B est disponible dans le dépôt Helm W&B :
  2. Installez l’opérateur sur un cluster Kubernetes :
  3. Configurez la ressource personnalisée de l’opérateur W&B pour déclencher l’installation de W&B Server. Créez un fichier nommé operator.yaml avec votre configuration de déploiement W&B. Référez-vous à la Référence de configuration pour connaître toutes les options disponibles. Voici une configuration minimale :
  4. Lancez l’opérateur avec votre configuration personnalisée afin qu’il puisse installer, configurer et gérer l’application W&B Server :
    Attendez que le déploiement soit terminé. Cela prend quelques minutes.
  5. Pour vérifier l’installation via l’interface utilisateur web, créez le premier compte administrateur, puis suivez les étapes de vérification décrites dans Vérifiez l’installation.
Une fois ces étapes terminées, vous disposez d’un opérateur Kubernetes W&B en cours d’exécution dans l’espace de noms wandb-cr et d’une application W&B Server que l’opérateur gère à partir de votre ressource personnalisée operator.yaml.

Vérifiez l’installation

Pour vérifier l’installation, W&B recommande d’utiliser le W&B CLI. La commande verify exécute plusieurs tests pour vérifier l’ensemble des composants et de la configuration.
Cette étape suppose que le premier compte administrateur a été créé depuis le navigateur.
Suivez ces étapes pour vérifier l’installation :
  1. Installez le W&B CLI :
  1. Connectez-vous à W&B :
Par exemple :
  1. Vérifiez l’installation :
Une installation réussie et un déploiement W&B pleinement opérationnel affichent la sortie suivante :
Contactez l’assistance W&B en cas d’erreur.

Activer le serveur MCP

Le serveur MCP de W&B est fourni comme sous-chart facultatif dans operator-wandb. Lorsqu’il est activé, l’opérateur déploie un serveur MCP au sein du cluster, exposé via votre ingress existant à l’adresse <global.host>/mcp, afin que tout client compatible MCP puisse s’y connecter à l’aide d’une clé API W&B. Il s’agit du même serveur que W&B propose dans sa version hébergée à l’adresse https://mcp.withwandb.com/mcp, mais pointé vers les données de votre déploiement. Pour la configuration du client côté utilisateur final et le catalogue des outils, voir Utiliser le serveur MCP de W&B. Cette section couvre uniquement l’activation côté opérateur.

Prérequis

Assurez-vous que votre déploiement remplit les exigences suivantes avant d’activer le serveur MCP :
  • Version du chart : operator-wandb 0.42.3 ou ultérieure. Le sous-chart mcp-server a été introduit dans 0.42.1, mais les champs Datadog et Confidentialité utilisés dans l’exemple suivant ont été ajoutés plus tard.
  • Weave Traces activé : le serveur MCP dépend de Weave Traces pour les outils de trace et pour la valeur par défaut de WF_TRACE_SERVER_URL. Définissez weave-trace.install: true. Si Weave Traces n’est pas activé, le rendu Helm échoue avec mcp-server requires weave-trace.install=true.
  • Ingress accessible : global.host doit déjà se résoudre et acheminer le trafic vers l’ingress W&B. Le pod MCP lit WANDB_BASE_URL depuis global.host et est disponible à l’adresse <global.host>/mcp.
  • Capacité des nœuds : le pod MCP demande par défaut 500m de CPU et 1Gi de mémoire (limites : 2 CPU et 4Gi de mémoire). Vérifiez que votre pool de nœuds dispose d’une marge de capacité suffisante avant d’activer le sous-chart.

Activez le sous-chart

Activez le sous-chart mcp-server afin que l’opérateur déploie un serveur MCP dans le cluster et ajoute une route /mcp à votre ingress W&B existant. Ajoutez les éléments suivants au bloc spec.values de votre ressource personnalisée WeightsAndBiases (CR) existante, aux côtés de vos valeurs global, ingress et autres redéfinitions existantes. Le bloc Datadog est facultatif, mais recommandé si un DaemonSet Datadog Agent collecte déjà les journaux et les traces des pods dans votre cluster.
Configurez chaque bloc :
  • weave-trace.install: true : requis, sauf si vous définissez vous-même mcp-server.env.WF_TRACE_SERVER_URL.
  • datadog.mode: "agent" : à utiliser pour les déploiements Kubernetes où le DaemonSet Datadog Agent prend en charge la collecte des journaux et des traces. En mode agent, le pod MCP n’a pas besoin de clé API Datadog.
  • datadog.service, env, deploymentType, customer, extraTags : définissez ces valeurs pour qu’elles correspondent aux conventions de nommage d’observabilité de votre déploiement. Définissez customer sur une chaîne vide si vous ne souhaitez pas de tag client.
  • privacy.logLevel : utilisez "standard" pour la plupart des installations Kubernetes autogérées. Cela masque les valeurs de paramètres en texte libre dans les journaux tout en conservant les identifiants de déploiement que les opérateurs utilisent couramment pour le débogage. Utilisez "strict" lorsque les identifiants d’entité, de projet, de run ou d’utilisateur ne doivent pas rester en clair dans les journaux. Utilisez "off" uniquement si vous souhaitez explicitement une journalisation en clair pour ces valeurs.
Appliquez la modification pour déclencher la réconciliation :
L’opérateur crée un déploiement wandb-mcp-server et un service dans l’espace de noms de la version, et ajoute le chemin /mcp à l’ingress W&B.

Vérifier le serveur MCP

Attendez que le pod passe à l’état Running, puis vérifiez le point de terminaison d’état de santé au sein du cluster et via l’ingress :
Les deux requêtes doivent renvoyer 200 OK. La vérification depuis le cluster confirme que le pod est sain. La vérification de l’ingress confirme que le routage fonctionne. Si la vérification depuis le cluster renvoie 200 OK mais que la vérification de l’ingress renvoie 404 Not Found, voir Troubleshooting. Si vous avez activé Datadog, les journaux du serveur MCP doivent également apparaître dans Datadog avec les valeurs configurées de mcp-server.datadog.service et mcp-server.datadog.env.

Connecter un client

Une fois le serveur MCP opérationnel, configurez votre client MCP pour utiliser https://<HOST_URI>/mcp avec une clé API W&B comme jeton Bearer. Pour la configuration des IDE et des agents, voir Utiliser le serveur MCP de W&B.

Dépannage

Considérations spécifiques à l’environnement

Kubernetes fonctionne de la même manière, qu’il soit exécuté sur site ou dans le cloud. Les principales différences concernent les conventions de nommage et les services gérés (par exemple, MySQL par rapport à RDS, ou S3 par rapport au stockage d’objets sur site). Cette section aborde les considérations qui varient selon l’environnement.

sur site et bare metal

Lors d’un déploiement sur un cluster Kubernetes sur site ou bare metal, tenez compte des points suivants.

Configuration de l’équilibreur de charge

Les clusters Kubernetes sur site nécessitent généralement une configuration manuelle de l’équilibreur de charge. Les options possibles sont les suivantes :
  • Équilibreur de charge externe : configurez un équilibreur de charge matériel ou logiciel existant, tel que F5 ou HAProxy.
  • Nginx Ingress Controller : déployez nginx-ingress-controller avec NodePort ou le réseau hôte.
  • MetalLB : pour les clusters Kubernetes bare metal, MetalLB fournit des services d’équilibreur de charge.
Pour des exemples détaillés de configuration de l’équilibreur de charge, voir la section réseau de l’architecture de référence.

Stockage persistant

Assurez-vous que votre cluster Kubernetes dispose d’une StorageClass configurée pour les volumes persistants. Les composants W&B peuvent nécessiter un stockage persistant pour la mise en cache et les données temporaires. Les options courantes de stockage sur site incluent :
  • Classes de stockage basées sur NFS
  • Stockage Ceph/Rook
  • Volumes persistants locaux
  • Solutions de stockage d’entreprise telles que NetApp ou Pure Storage

Gestion du DNS et des certificats

Pour les déploiements sur site, effectuez les tâches suivantes :
  • Configurez les enregistrements DNS internes pour qu’ils pointent vers votre nom d’hôte W&B.
  • Générez des certificats SSL/TLS auprès de votre autorité de certification (CA) interne.
  • Si vous utilisez des certificats auto-signés, configurez l’opérateur pour qu’il fasse confiance à votre certificat d’autorité de certification (CA).
Voir les exigences SSL/TLS pour plus de détails sur la configuration des certificats.

Déploiements OpenShift

W&B prend entièrement en charge les déploiements sur des clusters Kubernetes OpenShift. Les déploiements OpenShift nécessitent des configurations supplémentaires du contexte de sécurité en raison des politiques de sécurité plus strictes d’OpenShift. Pour en savoir plus sur la configuration spécifique à OpenShift, voir clusters Kubernetes OpenShift. Pour des exemples de déploiement OpenShift dans des environnements isolés du réseau, voir Déployer sur Kubernetes isolé du réseau.

Stockage d’objets pour les environnements sur site et compatibles S3

Une fois votre bucket de stockage d’objets provisionné (voir Provisionnement du stockage d’objets), configurez-le dans votre Ressource personnalisée W&B. AWS S3 (sur site) Pour AWS S3 sur site (via Outposts ou un stockage compatible) :
Stockage compatible avec S3 comme MinIO, Ceph ou NetApp Pour les systèmes de stockage compatibles avec S3 :
Pour activer TLS pour le stockage compatible avec S3, ajoutez ?tls=true au chemin du bucket :
Le certificat doit être approuvé. Les certificats autosignés nécessitent une configuration supplémentaire. Voir les exigences SSL/TLS pour en savoir plus.
Considérations importantes pour le stockage d’objets sur site Si vous exploitez votre propre stockage d’objets, tenez compte des points suivants :
  1. Capacité de stockage et performances : Surveillez attentivement la capacité du disque. Une utilisation moyenne de W&B représente de quelques dizaines à quelques centaines de gigaoctets. Une utilisation intensive peut entraîner des pétaoctets de consommation de stockage.
  2. Tolérance aux pannes : Au minimum, utilisez des baies RAID pour les disques physiques. Pour le stockage compatible S3, utilisez des configurations distribuées ou hautement disponibles.
  3. Disponibilité : Mettez en place une supervision afin de garantir que le stockage reste disponible.
Considérations relatives à MinIO
MinIO Open Source est en mode maintenance et ne fait plus l’objet de développement actif. Les binaires précompilés ne sont plus fournis et seuls les correctifs de sécurité critiques sont examinés au cas par cas. Pour les déploiements de production, W&B recommande d’utiliser des services gérés de stockage d’objets ou MinIO Enterprise (AIStor).
Les alternatives Enterprise au stockage d’objets sur site incluent : Si vous utilisez un déploiement MinIO existant ou MinIO Enterprise, vous pouvez créer un bucket à l’aide du client MinIO :

Sur cloud public avec Terraform

Pour un déploiement complet de l’infrastructure et de l’application sur AWS, Google Cloud ou Azure, voir Déployer avec Terraform sur un cloud public.

Déployer avec Terraform sur un cloud public

W&B recommande des options de déploiement entièrement gérées, comme W&B Multi-tenant Cloud ou W&B Dedicated Cloud. Les services entièrement gérés nécessitent peu ou pas de configuration.
W&B fournit des modules Terraform pour déployer la plateforme chez des fournisseurs de cloud public. Ces modules automatisent le provisionnement de l’infrastructure et l’installation de W&B Server, afin que vous puissiez mettre en place un environnement complet sans créer manuellement chaque ressource cloud. Avant de commencer, W&B recommande de choisir l’un des backends distants disponibles pour Terraform afin d’y stocker le fichier d’état. Le fichier d’état est indispensable pour appliquer des mises à niveau ou apporter des modifications à votre déploiement sans recréer tous les composants. Sélectionnez votre fournisseur de cloud :
W&B recommande d’utiliser le W&B Server AWS Terraform Module pour déployer la plateforme sur AWS.Le module Terraform déploie les composants obligatoires suivants :
  • Équilibreur de charge
  • AWS Identity & Access Management (IAM)
  • AWS Key Management System (KMS)
  • Amazon Aurora MySQL
  • Amazon VPC
  • Amazon S3
  • Amazon Route53
  • Amazon Certificate Manager (ACM)
  • Amazon Elastic Load Balancing (ALB)
  • Amazon Secrets Manager
Les composants facultatifs incluent :
  • ElastiCache pour Redis
  • SQS

Autorisations préalables

Le compte qui exécute Terraform doit pouvoir créer tous les composants répertoriés dans la section précédente et disposer des autorisations nécessaires pour créer des IAM Policies et des IAM Roles, ainsi qu’attribuer des rôles aux ressources.

Étapes générales

Les étapes de cette section sont communes à toutes les options de déploiement.
  1. Préparez l’environnement de développement.
    • Installez Terraform
    • W&B recommande de créer un dépôt Git pour le suivi des versions.
  2. Créez le fichier terraform.tfvars. Personnalisez le contenu du fichier tvfars selon le type d’installation. Le contenu minimum recommandé est illustré dans l’exemple suivant.
    Veillez à définir les variables dans votre fichier tvfars avant de déployer, car la variable namespace est une chaîne de caractères utilisée comme préfixe pour toutes les ressources créées par Terraform. La combinaison de subdomain et domain forme le FQDN de votre instance W&B. Dans l’exemple précédent, le FQDN W&B est wandb-aws.wandb.ml, et le zone_id DNS est l’endroit où Terraform crée l’enregistrement FQDN. Les paramètres allowed_inbound_cidr et allowed_inbound_ipv6_cidr doivent également être définis. Dans le module, il s’agit d’une entrée obligatoire. L’exemple suivant autorise l’accès à l’installation W&B depuis n’importe quelle source.
  3. Créez le fichier versions.tf. Ce fichier contiendra les versions requises de Terraform et du fournisseur Terraform pour déployer W&B sur AWS :
    Consultez la documentation officielle de Terraform pour configurer le fournisseur AWS. W&B recommande également d’ajouter la configuration du backend distant mentionnée au début de cette documentation.
  4. Créez le fichier variables.tf Pour chaque option configurée dans terraform.tfvars, Terraform nécessite une déclaration de variable correspondante.

Déploiement recommandé

Il s’agit de la configuration de déploiement la plus simple, qui crée tous les composants obligatoires et installe la dernière version de W&B dans le cluster Kubernetes.
  1. Créez le fichier main.tf Dans le même répertoire que celui où vous avez créé les fichiers dans les étapes General, créez un fichier main.tf avec le contenu suivant :
  2. Déployer W&B Pour déployer W&B, exécutez les commandes suivantes :

Activer Redis

Pour utiliser Redis afin de mettre en cache les requêtes SQL et accélérer la réponse de l’application lors du chargement des métriques, ajoutez l’option create_elasticache_subnet = true au fichier main.tf :

Activer le courtier de messages (file d’attente)

Pour activer un courtier de messages externe via SQS, ajoutez l’option use_internal_queue = false au fichier main.tf :
Ceci est facultatif, car W&B inclut un broker intégré. Cette option n’apporte aucune amélioration des performances.

Ressources supplémentaires

Autres options de déploiement

Vous pouvez combiner plusieurs options de déploiement en ajoutant toutes les configurations dans le même fichier. Chaque module Terraform propose plusieurs options, que vous pouvez combiner avec les options standard et la configuration minimale décrite dans la section sur le déploiement recommandé. Consultez la documentation du module correspondant à votre cloud provider pour obtenir la liste complète des options disponibles :

Accéder à la console de gestion W&B

L’opérateur Kubernetes W&B inclut une console de gestion dans laquelle vous pouvez vérifier le statut du déploiement, consulter les métriques des composants et ajuster les paramètres au niveau de l’opérateur. Elle se trouve à l’adresse ${HOST_URI}/console, par exemple https://wandb.company-name.com/console. Vous pouvez vous connecter à la console de gestion de deux façons :
  1. Ouvrez l’application W&B dans votre navigateur et connectez-vous. Connectez-vous à l’application W&B à l’adresse ${HOST_URI}/, par exemple https://wandb.company-name.com/
  2. Accédez à la console. Cliquez sur l’icône dans le coin supérieur droit, puis sur Console système. Seuls les utilisateurs disposant des privilèges d’administrateur peuvent voir l’entrée Console système.
    Accès à la console système

Mettre à jour l’opérateur Kubernetes W&B

Cette section explique comment mettre à jour l’opérateur Kubernetes W&B lui-même. Mettez régulièrement à jour l’opérateur afin de bénéficier de correctifs et de nouvelles fonctionnalités de réconciliation.
  • La mise à jour de l’opérateur Kubernetes W&B ne met pas à jour l’application serveur W&B.
  • Si vous utilisez un chart Helm qui n’utilise pas l’opérateur Kubernetes W&B, consultez les instructions de migration avant de suivre les étapes de cette section pour mettre à jour le W&B Operator.
Copiez-collez les extraits de code suivants dans votre terminal.
  1. Mettez à jour le dépôt avec helm repo update :
  2. Mettez à jour le chart Helm avec helm upgrade :

Mettre à jour l’application W&B Server

Vous n’avez plus besoin de mettre à jour l’application W&B Server si vous utilisez l’opérateur Kubernetes W&B. L’opérateur met automatiquement à jour votre application W&B Server lorsqu’une nouvelle version du logiciel W&B est publiée.

Migrer des instances Autogéré vers W&B Operator

La section suivante explique comment passer d’une gestion autonome de votre propre installation serveur W&B à l’utilisation de W&B Operator pour la gérer à votre place. La migration permet à l’opérateur de gérer automatiquement la réconciliation et les mises à niveau de serveur W&B, de sorte que vous n’avez plus à coordonner les modifications des manifestes ou les mises à niveau Helm pour l’application. Le processus de migration dépend de la façon dont vous avez installé serveur W&B :
W&B Operator est la méthode d’installation par défaut et recommandée pour serveur W&B. Contactez assistance client ou votre équipe W&B si vous avez des questions.

Migrer vers des modules Terraform AWS basés sur l’opérateur

Pour une description détaillée du processus de migration, consultez la documentation du chart operator-wandb.

Migrer vers les modules Terraform Google Cloud basés sur l’opérateur

Contactez assistance client ou votre équipe W&B si vous avez des questions ou besoin d’assistance.

Migrer vers des modules Terraform Azure basés sur l’opérateur

Contactez assistance client ou votre équipe W&B si vous avez des questions ou besoin d’assistance.

Migrer vers le chart Helm basé sur l’opérateur

Suivez ces étapes pour migrer vers le chart Helm basé sur l’opérateur :
  1. Obtenez la configuration W&B actuelle. Si vous avez déployé W&B avec une version du chart Helm non basée sur l’opérateur, exportez les valeurs comme ceci :
    Si vous avez déployé W&B avec des manifests Kubernetes, exportez les valeurs comme ceci :
    Vous disposez maintenant de toutes les valeurs de configuration nécessaires pour l’étape suivante.
  2. Créez un fichier nommé operator.yaml. Suivez le format décrit dans la Référence de configuration. Utilisez les valeurs de l’étape 1.
  3. Réduisez le déploiement actuel à 0 pods. Cette étape arrête le déploiement actuel.
  4. Mettez à jour le dépôt du chart Helm :
  5. Installez le nouveau chart Helm :
  6. Configurez le nouveau chart Helm et déclenchez le déploiement de l’application W&B. Appliquez la nouvelle configuration.
    Le déploiement prend quelques minutes.
  7. Vérifiez l’installation. Assurez-vous que tout fonctionne en suivant les étapes de Vérifiez l’installation.
  8. Supprimez l’ancienne installation. Désinstallez l’ancien chart Helm ou supprimez les ressources que vous avez créées à l’aide de manifests.

Migrer vers le chart Helm Terraform basé sur l’opérateur

Suivez ces étapes pour migrer vers le chart Helm basé sur l’opérateur :
  1. Préparez la configuration Terraform. Remplacez, dans votre configuration Terraform, le code Terraform de l’ancien déploiement par celui décrit dans Déployer W&B avec le module Terraform Helm. Définissez les mêmes variables qu’auparavant. Ne modifiez pas le fichier .tfvars si vous en avez un.
  2. Exécutez les commandes Terraform. Exécutez terraform init, terraform plan et terraform apply.
  3. Vérifiez l’installation. Assurez-vous que tout fonctionne en suivant les étapes indiquées dans Vérifiez l’installation.
  4. Supprimez l’ancienne installation. Désinstallez l’ancien chart Helm ou supprimez les ressources que vous avez créées à l’aide de manifests.

Référence de configuration pour serveur W&B

Cette section sert de référence pour les options de configuration que vous définissez dans votre ressource personnalisée WeightsAndBiases. Utilisez-la pour consulter le schéma YAML d’un sous-système spécifique (par exemple, MySQL, Redis, ingress ou OIDC) lorsque vous créez ou mettez à jour votre fichier operator.yaml. Cette section décrit les options de configuration de l’application serveur W&B. L’application reçoit sa configuration sous la forme d’une définition de ressource personnalisée nommée WeightsAndBiases. Certaines options de configuration sont disponibles dans la configuration suivante. Vous devez définir les autres au moyen de variables d’environnement. La documentation comporte deux listes de variables d’environnement : de base et avancées. Utilisez des variables d’environnement uniquement si l’option de configuration dont vous avez besoin n’est pas exposée via le chart Helm.

Exemple de base

Cet exemple définit le jeu minimal de valeurs requis pour W&B. Pour un exemple de production plus réaliste, voir Exemple complet. Ce fichier YAML définit l’état souhaité de votre déploiement W&B, y compris la version, les variables d’environnement, les ressources externes comme les bases de données, ainsi que d’autres paramètres nécessaires.
Consultez la liste complète des valeurs dans le dépôt Helm W&B. Modifiez uniquement les valeurs que vous devez surcharger.

Exemple complet

Cet exemple de configuration déploie W&B sur Google Cloud Anthos à l’aide de Google Cloud Storage :

Hôte

Stockage d’objets (bucket)

AWS
Google Cloud
Azure
Autres fournisseurs (Minio, Ceph et autres services de stockage compatibles S3) Pour les autres fournisseurs compatibles S3, définissez la configuration du bucket comme suit :
Pour un stockage compatible S3 hébergé en dehors d’AWS, kmsKey doit être null. Pour faire référence à accessKey et secretKey depuis un secret :

MySQL

Pour référencer le password d’un secret :

License

Pour faire référence à la license à partir d’un secret :

Ingress

Voir Comment identifier la classe d’ingress Kubernetes. Sans TLS
Avec TLS Créez un secret contenant le certificat
Indiquez le secret dans la configuration d’ingress
Dans le cas de Nginx, il se peut que vous deviez ajouter l’annotation suivante :

Comptes de service Kubernetes personnalisés

Spécifiez des comptes de service Kubernetes personnalisés pour exécuter les pods W&B. L’extrait suivant crée un compte de service dans le déploiement avec le nom indiqué :
Les sous-systèmes “app” et “parquet” s’exécutent avec le compte de service spécifié. Les autres sous-systèmes s’exécutent avec le compte de service par défaut. Si le compte de service existe déjà sur le cluster, définissez create: false :
Vous pouvez spécifier des comptes de service pour différents sous-systèmes, tels que app, parquet, console et autres :
Les comptes de service peuvent varier d’un sous-système à l’autre :

Redis externe

Pour référencer le password à partir d’un secret :
Faites-y référence dans la configuration suivante :

LDAP

La prise en charge de la configuration LDAP dans le chart Helm actuel est limitée. Contactez l’équipe d’assistance de W&B ou votre AISE pour vous aider à configurer LDAP.
Configurez LDAP en définissant des variables d’environnement dans global.extraEnv :

OIDC SSO

authMethod est facultatif.

SMTP

Variables d’environnement

Autorité de certification personnalisée

customCACerts est une liste qui peut contenir plusieurs certificats. Les autorités de certification spécifiées dans customCACerts s’appliquent uniquement à l’application W&B Server.
Les certificats CA peuvent également être stockés dans une ConfigMap :
Le ConfigMap doit se présenter comme suit :
Si vous utilisez une ConfigMap, chaque clé de la ConfigMap doit se terminer par .crt (par exemple, my-cert.crt ou ca-cert1.crt). Cette convention de nommage est requise pour que update-ca-certificates puisse traiter et ajouter chaque certificat au magasin système des autorités de certification.

Contexte de sécurité personnalisé

Chaque composant W&B prend en charge des configurations de contexte de sécurité personnalisées sous la forme suivante :
La seule valeur valide pour runAsGroup: est 0. Toute autre valeur constitue une erreur.
Par exemple, pour configurer le pod de l’application, ajoutez une section app à votre configuration :
Le même concept s’applique à console, weave, weave-trace et parquet.

Référence de configuration pour l’opérateur W&B

Cette section décrit les options de configuration de l’opérateur Kubernetes W&B (wandb-controller-manager). L’opérateur reçoit sa configuration sous la forme d’un fichier YAML. Par défaut, l’opérateur Kubernetes W&B n’a pas besoin de fichier de configuration. Créez un fichier de configuration si nécessaire. Par exemple, vous pouvez en avoir besoin pour spécifier des autorités de certification personnalisées, déployer dans un environnement isolé (air gap), etc. Consultez la liste complète des personnalisations de la spécification dans le dépôt Helm.

CA personnalisée

Une autorité de certification personnalisée (customCACerts) correspond à une liste pouvant contenir plusieurs certificats. Une fois ajoutées, ces autorités de certification s’appliquent uniquement à l’opérateur Kubernetes W&B (wandb-controller-manager).
Les certificats CA peuvent également être stockés dans une ConfigMap :
Le ConfigMap doit se présenter ainsi :
Chaque clé du ConfigMap doit se terminer par .crt (par exemple, my-cert.crt ou ca-cert1.crt). Cette convention de nommage est nécessaire pour que update-ca-certificates puisse interpréter et ajouter chaque certificat au magasin système d’autorités de certification.

FAQ

Objectif et rôle de chaque pod

Un déploiement du serveur W&B inclut les pods suivants :
  • wandb-app: le cœur de W&B, y compris l’API GraphQL et l’application frontend. Il assure la majeure partie des fonctionnalités de la plateforme W&B.
  • wandb-console: la console d’administration, accessible via /console.
  • wandb-otel: l’agent OpenTelemetry, qui collecte les métriques et les journaux des ressources au niveau de Kubernetes pour les afficher dans la console d’administration.
  • wandb-prometheus: le serveur Prometheus, qui capture les métriques de différents composants pour les afficher dans la console d’administration.
  • wandb-parquet: un microservice backend distinct du pod wandb-app qui exporte les données de la base de données vers le stockage d’objets au format Parquet.
  • wandb-weave: un autre microservice backend qui charge les tables de requête dans l’UI et prend en charge diverses fonctionnalités essentielles de l’application.
  • wandb-weave-trace: un framework pour le suivi, l’expérimentation, l’évaluation, le déploiement et l’amélioration d’applications basées sur des LLM. Le framework est accessible via le pod wandb-app.

Comment obtenir le mot de passe de la console de l’opérateur W&B

Voir Accéder à la console de gestion W&B.

Comment accéder à la console de l’opérateur W&B si l’ingress ne fonctionne pas

Exécutez la commande suivante sur un hôte ayant accès au cluster Kubernetes :
Ouvrez la console dans votre navigateur à l’adresse https://localhost:8082/. Pour savoir comment obtenir le mot de passe (option 2), voir Accéder à la console de gestion W&B.

Comment consulter les journaux de W&B Server

Le pod de l’application s’appelle wandb-app-xxx.

Comment identifier la classe d’ingress Kubernetes

Vous pouvez obtenir la classe d’ingress installée dans votre cluster en exécutant