Les charts
vantage-operator et vantage-selfhosted doivent utiliser la même version. Les exemples de cette page utilisent la version 0.70.13 pour les deux charts.Architecture de référence
Pour connaître les versions des composants prises en charge et testées, consultez Compatibilité. Pour l’inventaire complet de l’infrastructure et la base de dimensionnement, consultez Prérequis.
Avant de commencer
Vous avez également besoin de :
- D’un enregistrement DNS pour
$your_vantage_hostnamequi pointe vers votre point d’entrée ingress. - D’un certificat TLS valide pour ce nom d’hôte.
- De Secrets Kubernetes de pull depuis le registre si votre registre nécessite une authentification.
- De chaque Secret d’application répertorié sous Alias de Secrets.
- D’un nom de base de données logique distinct pour chaque alias de base de données. Le migrateur de chaque service crée sa base de données lors de sa première exécution.
- De nœuds étiquetés pour les workers TechCore.
Préparer le cluster
Configurer ArgoCD
Application.
Configurer le maillage de services
$install_namespace avant d’installer Vantage.
Par exemple, avec Linkerd :
Configurer les nœuds de travail TechCore
Pending. Pour l’isolation du training-worker et la référence de dimensionnement, voir Configuration requise pour les nœuds Kubernetes.
Configurer le stockage persistant
StorageClass avant d’installer Vantage. La solution de stockage doit répondre à vos exigences de production en matière de disponibilité, de durabilité, de capacité, d’extension, de sauvegarde et de restauration.
Référencez-la dans les valeurs de Vantage :
StorageClass est indépendant de la distribution Kubernetes. Ne copiez pas en production la classe de stockage local d’un cluster de développement sans avoir évalué ses caractéristiques en matière de perte de données et de basculement.
Préparer les bases de données
SqlServer et PostgreSQL. Une valeur telle que Postgresql ou PostgreSql peut échouer à l’exécution, car elle ne correspond pas au nom du fournisseur de données de l’application.
Chaque service Vantage doit utiliser une base de données logique distincte. Les services exécutent leurs propres migrations, et si plusieurs services pointent vers une même base de données, leurs états de migration entrent en conflit. Utilisez l’inventaire figurant dans Alias de bases de données pour planifier les noms de base de données et les chaînes de connexion. Vous n’avez pas besoin de créer les bases de données manuellement : le migrateur de chaque service crée sa base de données lors de la première exécution.
Les chaînes de connexion PostgreSQL doivent être sur une seule ligne, sans caractère de nouvelle ligne au début, à la fin ou au milieu.
Préparer les secrets Kubernetes
Secret Kubernetes natives dans $install_namespace. Vantage ne se connecte pas directement à Vault ni à un autre gestionnaire de secrets externe. Si vous utilisez External Secrets Operator, un pilote CSI ou un autre outil de synchronisation, configurez-le pour qu’il crée les secrets Kubernetes requis avant d’installer Vantage.
Sélectionnez le fournisseur Kubernetes :
objects pour mettre en correspondance un alias avec un autre Secret :
Database__ConnectionString, créez un Secret distinct pour chaque service et mettez chaque alias de base de données en correspondance via vantage.secrets.kubernetes.objects. Votre système de gestion des secrets peut générer ces Secrets à partir d’un modèle commun de chaîne de connexion, mais chaque chaîne de connexion obtenue doit indiquer une base de données différente.
L’opérateur valide la configuration des secrets pendant la vérification préalable. Les charts
vantage-operator et vantage-selfhosted correspondants accordent à l’opérateur un accès en lecture aux Secrets via un ClusterRole lié uniquement dans l’espace de noms de la release Vantage. Si vous personnalisez l’espace de noms de l’opérateur ou le ServiceAccount du contrôleur, assurez-vous que les valeurs operator correspondantes dans le chart Vantage correspondent à cette installation. Une restriction resourceNames personnalisée doit inclure chaque Secret référencé par le provider Kubernetes.Configurer l’accès au registre
Créez des Secrets de registre dans l’espace de noms où s’exécute chaque consommateur. Ne stockez pas de mots de passe de registre en clair dans votre fichier de valeurs.
Pour OCI migration, référencez les Secrets d’identifiants source et destination :
imagePullSecrets du ServiceAccount désigné par vantage.serviceAccountName, le ServiceAccount par défaut des charges de travail Vantage.
Si un pod de composant s’exécute avec un autre ServiceAccount, ce ServiceAccount doit lui aussi disposer d’un accès d’extraction au registre. Vérifiez le
spec.serviceAccountName du pod avant de modifier le ServiceAccount default de l’espace de noms.Configurer l’autoscaling et les métriques
ScaledObject interrogent Prometheus à cette adresse fixe :
- Installez KEDA 2.17.3.
- Installez Prometheus Operator et une instance Prometheus dans l’espace de noms
observability. - Vérifiez que le Service associé est nommé
prometheus-operatedet expose le port9090. - Configurez Prometheus pour qu’il découvre le
ServiceMonitorde Vantage.
Vantage et activez le ServiceMonitor du chart via le bloc observability distinct situé au niveau supérieur :
observability est une clé de niveau supérieur ; ne la placez pas sous vantage. Pour les stratégies de déclenchement, la vérification et la planification des capacités, consultez Mise à l’échelle automatique avec KEDA. Pour la configuration de collecte spécifique au maillage, consultez Supervision avec Prometheus.
Configurer l’ingress et TLS
- Terminer HTTPS pour
vantage.dnsRecordavec un certificat approuvé. - Router les chemins de l’UI Vantage, de l’API, de l’authentification, de l’aide, de SCIM, du raccourcisseur d’URL, de l’espace de travail, de la vérification et de Try Any Skill vers leurs Services correspondants.
- Appliquer les réécritures
/api/vN/vers/publicapi/vN/,/api/, SCIM et heartbeat utilisées par Vantage. - Faire correspondre les routes les plus spécifiques avant la route générique de l’UI.
- Transmettre l’hôte et le protocole d’origine, y compris
X-Forwarded-Proto: httpslorsque TLS se termine au niveau du contrôleur ingress.
IngressRoute et de ressources Middleware ordonnées. Traitez le manifeste de routage comme une configuration Vantage versionnée : paramétrez le nom d’hôte, l’espace de noms, le Secret du certificat et les noms de Service générés pour votre version au lieu de copier des valeurs d’un autre environnement.
Contrat de routage
$install_namespace, puis implémentez ces routes dans l’ordre indiqué. Les routes regex et exactes doivent être prioritaires par rapport aux routes par préfixe et aux routes fourre-tout.
L’ingress Istio intégré au chart bloque également
/api/status et /api/status/config, qui exposent des informations d’état internes dont les clients n’ont pas besoin. Il est recommandé de bloquer ces chemins, mais ce n’est pas nécessaire au fonctionnement de Vantage. Si votre contrôleur d’ingress ne peut pas renvoyer directement une réponse de refus, vous pouvez les acheminer vers un backend de refus dédié avant la règle générale /api.
Protocole HTTPS transmis
X-Forwarded-Proto. Assurez-vous que la variable d’environnement suivante est définie sur les conteneurs d’application de auth-identity, auth-adminapi2, api-gateway et api-registry :
http:// et l’authentification dans le navigateur échoue.
Installer l’opérateur
--wait :
Installer Vantage
vantage-selfhosted approprié :
Suivre l’installation
Ready :
Ready :
Ready :
- Chaque application ArgoCD générée est
SyncedetHealthy. - Les pods Vantage sont en cours d’exécution et injectés dans le maillage.
- Prometheus signale les cibles Vantage
/metrics-textcomme étantUP. - Les ressources KEDA
ScaledObjectsontReadyet les valeurs des métriques HPA ne sont pas<unknown>. - Le document de découverte OIDC et les redirections du navigateur utilisent des URL en
https://. - Vantage est disponible à l’adresse
https://$your_vantage_hostname.
Étapes suivantes
Secrets
Alias de Secret Kubernetes, paires de clés d’authentification et chaînes de connexion à la base de données.
Supervision
Configurez Prometheus pour collecter les métriques de Vantage via le maillage de services.
Dépannage
Diagnostiquez les défaillances de l’opérateur, de la base de données, du registre, de l’ingress et de l’autoscaling.
Mise à niveau
Mettez à niveau l’opérateur et les charts Vantage simultanément.
