Facultatif: Configuration de noeuds worker OpenShift dédiés pour Data Virtualization

Vous pouvez mettre à disposition Data Virtualization sur des noeuds worker Red Hat® OpenShift® dédiés.

A propos de cette tâche

Effectuez cette configuration avancée uniquement lorsque cela est nécessaire. La limitation de Data Virtualization à un ensemble spécifique de noeuds peut compliquer les activités, y compris les mises à niveau et la maintenance au niveau OpenShift . En général, il est recommandé d'autoriser la planification de Data Virtualization sur tous les noeuds worker Data Virtualization disponibles.

Nœuds pouvant exécuter des pods à partir d'autres services

Courir Data Virtualization pods d'instance sur desOpenShift nœuds de travail où les nœuds peuvent également exécuter des pods à partir d'autres services

  1. Connectez-vous à Red Hat OpenShift Container Platform en tant qu'administrateur d'instance:
    oc login ${OCP_URL}
  2. Extrayez le nom du noeud worker que vous souhaitez dédier à Data Virtualization:
    oc get nodes
  3. Choisissez l'une des options suivantes pour étiqueter les noeuds. Si vous exécutez Db2U avec des privilèges élevés, les règles podantiaffinity sont désactivées dans les pods du moteur Data Virtualization et les pods principal et worker peuvent être planifiés sur les mêmes noeuds.
    • Etiquetez les noeuds avec la règle podantiaffinity activée:
      Etiquetez au moins deux noeuds car le pod de tête et le pod de noeud worker ne peuvent pas être ajoutés aux mêmes noeuds en raison des règles podantiaffinity par défaut qui sont en place sur les noeuds de tête et de noeud worker.
      Exécutez les commandes suivantes : Pour chaque nœud, remplacez <node1-name> et <node2-name> par le nom des nœuds respectifs. Par exemple, si le nœud 1 est nommé DV1, remplacez <node1-name> par DV1.
      oc label node 'node<node1-name>' icp4data=dv 
      oc label node 'node<node2-name>' icp4data=dv
    • Etiquetez le noeud avec la règle podantiaffinity désactivée:
      Si vous souhaitez planifier tous les pods Data Virtualization sur un noeud, les règles podantiaffinity doivent être désactivées pour permettre la planification des pods head et worker sur le même noeud.
      Vous ne devez libeller qu'un seul noeud. Exécutez la commande suivante. Veillez à remplacer <node1-name> par le nom du nœud. Par exemple, si le nœud 1 est nommé DV1, remplacez <node1-name> par DV1.
      oc label node node<node1-name> icp4data=dv 
  4. Passez au projet où le plan de contrôle IBM® Software Hub est installé :
    oc project ${PROJECT_CPD_INST_OPERANDS}
    Cette commande utilise une variable d'environnement pour que vous puissiez exécuter la commande telle qu'elle a été écrite. Pour plus d'informations sur le sourçage des variables d'environnement, voir Configuration des variables d'environnement d'installation.
  5. Ajoutez la zone nodeAffinity à la spécification de pod afin que les pods soient affectés à des noeuds dont le libellé est icp4data=dv. Editez la ressource personnalisée Db2 Big SQL pour ajouter les détails de l'exemple de section de spécification:
    oc edit bigsql db2u-dv
    spec: 
     affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: icp4data
                operator: In
                values:
                - dv
  6. Attendez que les pods Data Virtualization redémarrent. Si les pods ne redémarrent pas, exécutez la commande suivante pour les redémarrer:
    oc delete pods -n ${PROJECT_CPD_INST_OPERANDS} -l formation_id=db2u-dv
  7. Exécutez la commande suivante pour confirmer que les pods sont créés sur les noeuds appropriés:
    oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -l formation_id=db2u-dv -o wide
    Tous les pods d'instance de service Data Virtualization sont répertoriés et vous pouvez vérifier les valeurs dans la colonne Noeud .
Remarque: Lorsque vous ajoutez nodeaffinity pour planifier des pods à des noeuds spécifiques, il se peut que les pods ne puissent pas trouver de noeud si le noeud ne répond pas aux exigences de mise à disposition de l'instance Data Virtualization pour les clusters et les ressources (UC ou mémoire).

Nœuds dédiés uniquement à Data Virtualization

Courir Data Virtualization pods d'instance sur desOpenShift nœuds de travail dédiés uniquement à Data Virtualization

Les pods d'autres services ne peuvent pas s'exécuter sur les noeuds.

  1. Connectez-vous à Red Hat OpenShift Container Platform en tant qu'administrateur d'instance:
    oc login ${OCP_URL}
  2. Extrayez le nom du noeud worker que vous souhaitez dédier à Data Virtualization:
    oc get nodes
  3. Libellez et tachez les nœuds. Les noeuds auxquels une teinte est appliquée tentent de repousser les pods qui ne tolèrent pas les teintes sur le noeud. Par conséquent, les noeuds tentent de placer uniquement des pods Data Virtualization dans les noeuds. Les pods qui existent dans les noeuds ne sont pas expulsés. Les pods nouvellement créés qui ne tolèrent pas les teintes ne sont pas planifiés sur le noeud.

    Choisissez l'une des options suivantes : Si vous exécutez Db2U avec des privilèges élevés, les règles podantiaffinity sont désactivées dans les pods du moteur Data Virtualization et les pods de tête et de noeud worker peuvent être planifiés sur les mêmes noeuds.

    • Etiquetez et tachez les noeuds avec la règle podantiaffinity activée:
      Etiquetez et tachez au moins deux noeuds car le pod de tête et le pod de noeud worker ne peuvent pas être ajoutés aux mêmes noeuds en raison des règles podantiaffinity par défaut qui sont en place sur les noeuds de tête et de noeud worker.
      Exécutez les commandes suivantes : Pour chaque nœud, remplacez <node1-name> et <node2-name> par le nom des nœuds respectifs. Par exemple, si le nœud 1 est nommé DV1, remplacez <node1-name> par DV1.
      oc label node 'node<node1-name>' icp4data=dv
      oc label node 'node<node2-name>' icp4data=dv
      oc adm taint node 'node<node1-name>' icp4data=dv:PreferNoSchedule
      oc adm taint node 'node<node2-name>' icp4data=dv:PreferNoSchedule
    • Etiquetez et tachez les noeuds avec la règle podantiaffinity désactivée:
      Si vous souhaitez planifier tous les pods Data Virtualization sur un noeud, les règles podantiaffinity doivent être désactivées pour permettre la planification des pods head et worker sur le même noeud.
      Vous ne devez étiqueter et tacher qu'un seul noeud. Exécutez la commande suivante. Veillez à remplacer <node1-name> par le nom du nœud. Par exemple, si le nœud 1 est nommé DV1, remplacez <node1-name> par DV1.
      oc label node <node1-name> icp4data=dv
      oc adm taint node '<node1-name>' icp4data=dv:PreferNoSchedule
  4. Passez au projet où le plan de contrôle IBM Software Hub est installé :
    oc project ${PROJECT_CPD_INST_OPERANDS}
    Cette commande utilise une variable d'environnement pour que vous puissiez exécuter la commande telle qu'elle a été écrite. Pour plus d'informations sur le sourçage des variables d'environnement, voir Configuration des variables d'environnement d'installation.
  5. Ajoutez tolerations à la spécification de pod dans la ressource personnalisée Db2 Big SQL :
    oc edit bigsql db2u-dv
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: icp4data
                operator: In
                values:
                - dv
      tolerations:
      - key: "icp4data"
        operator: "Equal"
        value: "dv"
        effect: "PreferNoSchedule"    
  6. Attendez que les pods Data Virtualization redémarrent. Si les pods ne redémarrent pas, exécutez la commande suivante pour les redémarrer:
    oc delete pods -n ${PROJECT_CPD_INST_OPERANDS} -l formation_id=db2u-dv
  7. Exécutez la commande suivante pour confirmer que les pods sont créés sur les noeuds appropriés:
    oc get pods -n ${PROJECT_CPD_INST_OPERANDS} -l formation_id=db2u-dv -o wide
    Tous les pods d'instance de service Data Virtualization sont répertoriés et vous pouvez vérifier les valeurs dans la colonne Noeud .
Remarque: Lorsque vous ajoutez tolerations pour planifier des pods à des noeuds spécifiques, il se peut que les pods ne puissent pas trouver de noeud si le noeud ne répond pas aux exigences de mise à disposition de l'instance Data Virtualization pour les clusters et les ressources (UC ou mémoire).