Activation de la mise à l'échelle automatique basée sur les événements sur les GPU pour une instance de IBM Software Hub

Si vous avez installé le Red Hat® OpenShift® Custom Metrics Autoscaler, vous pouvez activer la mise à l'échelle automatique basée sur les événements en fonction des demandes d'inférence. Pour activer la mise à l'échelle en fonction des événements, vous devez configurer l'autoscaler de métriques personnalisées qui s'exécute dans le projet d'instance afin d'interroger OpenShift Container Platform les métriques.

Phase d'installation
  • Vous n'êtes pas ici. Configuration d'un poste de travail client
  • Vous n'êtes pas ici. Configuration d'un cluster
  • Vous n'êtes pas ici. Collecte des informations requises
  • Vous n'êtes pas ici. Préparation à l'exécution d'installations dans un réseau restreint
  • Vous n'êtes pas ici. Préparation à l'exécution d'installations à partir d'un registre de conteneurs privé
  • Vous n'êtes pas ici. Préparation du cluster pour IBM Software Hub
  • Vous êtes ici icône. Préparation à l'installation d'une instance de IBM Software Hub
  • Vous n'êtes pas ici. Installation d'une instance de IBM Software Hub
  • Vous n'êtes pas ici. Configuration du control plane
  • Vous n'êtes pas ici. Installation de solutions et services
Qui doit accomplir cette tâche?

Administrateur de cluster Un administrateur de cluster doit effectuer cette tâche.

Quand devez-vous terminer cette tâche?

Cette tâche est facultative. Effectuez cette tâche si les affirmations suivantes sont vraies :

  • Vous souhaitez activer la mise à l'échelle basée sur les événements sur le GPU pour cette instance de IBM Software Hub.
  • Vous prévoyez d'installer un ou plusieurs des services suivants dans cette instance de IBM Software Hub:
    • IBM Knowledge Catalog Premium *
    • IBM Knowledge Catalog Standard *
    • Watson Speech services *
    • watsonx.ai™
    • watsonx Assistant *
    • Watsonx BI
    • watsonx Code Assistant™
    • watsonx Code Assistant for Red Hat Ansible® Lightspeed
    • watsonx Code Assistant for Z
    • watsonx Code Assistant for Z Agentic
    • watsonx Code Assistant for Z Code Explanation
    • watsonx Code Assistant for Z Code Generation
    • watsonx.data™ Premium
    • watsonx.data intelligence
    • watsonx™ Orchestrate *

    Un astérisque (*) indique que le service utilise Inference foundation models dans certaines situations.

Répétez autant de fois que nécessaire Répétez cette tâche pour chaque instance où IBM Software Hub les conditions précédentes sont remplies.

Avant de commencer

Si vous souhaitez activer la mise à l'échelle basée sur les événements en fonction des demandes d'inférence, vous devez installer le Red Hat OpenShift Custom Metrics Autoscaler.

Meilleure pratique : vous pouvez exécuter les commandes de cette tâche exactement telles qu'elles sont écrites si vous configurez les variables d'environnement. Pour obtenir des instructions, consultez la section Configuration des variables d'environnement d'installation.

Assurez-vous de définir les variables d'environnement avant d'exécuter les commandes de cette tâche.

A propos de cette tâche

Pour configurer l'autoscaler de métriques personnalisées qui s'exécute dans le projet d'instance afin d'interroger OpenShift Container Platform les métriques, vous devez :
  • Créer un compte de service
  • Créer un rôle
  • Lier le compte de service au rôle
  • Créer une authentification de déclenchement pour le jeton du compte de service
Important : pour utiliser la mise à l'échelle automatique basée sur les événements avec une instance de IBM Software Hub, vous devez également créer un objet mis à l'échelle pour chaque modèle pour lequel vous souhaitez prendre en charge la mise à l'échelle automatique. Pour plus d'informations, consultez la section Configuration de la mise à l'échelle basée sur les événements pour les modèles.

Procédure

Pour configurer l'autoscaler de métriques personnalisées afin d'utiliser OpenShift Container Platform les métriques :

  1. Créez le keda-thanos-access compte de service dans le projet d'instance :
    cat << EOF | oc apply -f -
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: keda-thanos-access
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    EOF
  2. Créez le keda-thanos-role rôle pour le compte de service :
    cat << EOF | oc apply -f -
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: keda-thanos-role
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    rules:
    - apiGroups:
      - ""
      resources:
      - pods
      verbs:
      - get
    - apiGroups:
      - metrics.k8s.io
      resources:
      - pods
      - nodes
      verbs:
      - get
      - list
      - watch
    EOF
  3. Liez le rôle au compte de keda-thanos-access service :
    cat << EOF | oc apply -f -
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: keda-thanos-rolebinding
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: keda-thanos-role
    subjects:
    - kind: ServiceAccount
      name: keda-thanos-access
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    EOF
  4. Créez une authentification de déclenchement pour le jeton du keda-thanos-access compte de service :
    cat << EOF | oc apply -f -
    apiVersion: keda.sh/v1alpha1
    kind: TriggerAuthentication
    metadata:
      name: keda-thanos-auth
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    spec:
    
      boundServiceAccountToken: 
        - parameter: bearerToken 
          serviceAccountName: keda-thanos-account
    EOF
  5. Si vos règles réseau empêchent l'accès au projet d'instance à partir Prometheus des pods du openshift-user-workload-monitoring projet, créez la règle réseau suivante :
    cat << EOF | oc apply -f -
    apiVersion: projectcalico.org/v3
    kind: NetworkPolicy
    metadata:
      name: allow-ingress-from-prometheus-to-router
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    spec:
      # Destination: all pods within namespace
      selector: projectcalico.org/namespace == '${PROJECT_CPD_INST_OPERANDS}'
      order: 10200
      ingress:
        - action: Allow
          protocol: TCP
          source:
            # Source: prometheus
            namespaceSelector: name == "openshift-user-workload-monitoring"
            selector: app.kubernetes.io/component == "prometheus"
          destination:
            ports:
            - 19092
    EOF

Etape suivante

Maintenant que vous avez activé la mise à l'échelle automatique basée sur les événements pour l'instance, vous êtes prêt à terminer la création de secrets pour les services qui utilisent Multicloud Object Gateway.