externalServices Paramètre

Utilisez externalServices pour configurer des services externes tels que Cassandra, Elasticsearch et Kafka.

Le fichier YAML suivant est un exemple de schéma pour les services externes Cassandra, Elasticsearch et Kafka.
  externalServices:
    cassandra:
       keyspace: ""
      # contactPoints: ""
      # createDevInstance:
        # affinityAndTolerations: ""
        # resources:
          # limits:
            # cpu: '2'
            # memory:9Gi
          # requests:
            # cpu: '1'
            # memory: 3Gi        
        # storage:
          # name: ""
          # accessMode: ReadWriteMany
          # capacity: 10Gi
          # storageClassName: default
          # securityContext:
            # fsGroup: 
            # supplementalGroups: []   
    kafka:
      # contactPoints: ""
      # topicPrefix: "sip"
      # mirrorTopicPrefix: ""
      # crossDCTopicPrefix: ""     
      # zookeeperContactPoints: ""
      # loggingContactPoints: ""
      # createDevInstance:
        # affinityAndTolerations: ""
        # resources:
          # limits:
            # cpu: '1'
            # memory: 1Gi
          # requests:
            # cpu: '0.1'
            # memory: 1.5Gi
        # storage:
          # name: ""
          # accessMode: ReadWriteMany
          # capacity: 10Gi
          # storageClassName: default
          # securityContext:
            # fsGroup: 
            # supplementalGroups: []  
    elasticSearch:
      # contactPoints: ""
      # replicationEnabled: false
      # createDevInstance:
        # affinityAndTolerations: ""
        # resources:
          # limits:
            # cpu: '1'
            # memory: 1Gi
          # requests:
            # cpu: '0.1'
            # memory: 1.5Gi
        # storage:
          # name: ""
          # accessMode: ReadWriteMany
          # capacity: 10Gi
          # storageClassName: default
          # securityContext:
            # fsGroup: 
            # supplementalGroups: []
 
  
    # configuration:
      # ssl_cassandra_disable: ""
      # ssl_elasticsearch_disable: ""
      # ssl_kafka_disable: ""  
      # ssl_Logging_kafka_disable: ""
Remarque: Cassandra requiert au minimum 5000Mi de mémoire et peut utiliser au maximum 9000Mi.
Le tableau suivant décrit les attributs applicables au paramètre externalServices de SIPEnvironment.
Propriété Valeur par défaut Type de valeur Obligatoire Descriptif
cassandra   object Oui Configurez Cassandra pour externalServices. Pour plus d'informations, voir Paramètre cassandra.
elasticsearch   object Oui Configurez Elasticsearch pour externalServices. Pour plus d'informations, voir Paramètre elasticsearch.
kafka   object Oui Configurez Kafka pour externalServices. Pour plus d'informations, voir Paramètre kafka.
configuration   object Non Configurez le paramètre configuration pour chaque service. Pour plus d'informations, voir Paramètre de configuration.

cassandra Paramètre

Remarque :
  • Lorsque le pod Cassandra atteint l'état défaillant , il est recommandé d'augmenter les ressources pour Cassandra et de redémarrer les déploiements IV-appserver et IV-backend .
  • Le pod JVM_OPTS for Cassandra est calculé en fonction des demandes et des limites qui sont transmises aux ressources. Par conséquent, Xms doit être égal aux demandes et Xmx doit être égal à 75% des limites. Pour plus d'informations, voir Ressources.
Propriété Valeur par défaut Type de valeur Obligatoire Descriptif
iv_keyspace   string Oui Spécifiez keyspace pour Inventory Visibility.
cas_keyspace ks_cas string Non Indiquez le keyspace pour le service de transporteur.
promising_keyspace ks_promising string Non Indiquez le keyspace pour le service Promising.
createDevInstance   object Non Indiquez les ressources et le stockage pour Cassandra. Pour plus d'informations, voircreateDevInstance paramètre .
Remarque :
  • Cette opération déploie Cassandra en mode non SSL.
  • cassandra.createDevInstance extrait l'image requise du référentiel public. Vérifiez que votre cluster est connecté à Internet avant de déployer IBM® Sterling Intelligent Promising.
contactPoints   string Non Points de contact pour Cassandra. Si createDevInstance n'est pas activé pour Cassandra, contactPoints est obligatoire. Vous devez créer les espaces de clés suivants:
  • <cassandra.iv_keyspace>
  • <cassandra.promising_keyspace>
  • <cassandra.cas_keyspace>
SiCassandra est externe via SSL, puis ajoutez les certificats au magasin de clés certifiées. Pour plus d'informations, voir paramètre de sécurité.
Remarque: n'incluez pas http ou https dans votre instance contactPoints .
datacenter   chaîne Non Indiquez le centre de données pour Cassandra.

elasticsearch Paramètre

Propriété Valeur par défaut Type de valeur Obligatoire Descriptif
createDevInstance   object Non Spécifiez les ressources et le stockage pour Elasticsearch.
Pour plus d'informations, voircreateDevInstance paramètre .
Remarque :
  • Cette opération déploie Elasticsearch en mode non SSL uniquement.
  • elasticsearch.createDevInstance extrait l'image requise du référentiel public. Vérifiez que votre cluster est connecté à Internet avant de déployer IBM Sterling Intelligent Promising.
contactPoints   string Non Points de contact pourElasticsearch . SicreateDevInstance n'est pas activé pourElasticsearch , alorscontactPoints est obligatoire. SiElasticsearch est externe via SSL, puis ajoutez les certificats au magasin de clés certifiées. Pour plus d'informations, voir paramètre de sécurité.
Remarque: n'incluez pas http ou https dans votre instance contactPoints .
replicationEnabled Non booléen Non Spécifiez cette propriété pour activer ou désactiver la réplication des données Elasticsearch pour la configuration multicluster.

kafka Paramètre

Propriété Valeur par défaut Type de valeur Obligatoire Descriptif
contactPoints   chaîne Non Points de contact pourKafka . SicreateDevInstance n'est pas activé pourKafka , alorscontactPoints est obligatoire. SiKafka est externe via SSL, puis ajoutez les certificats au magasin de clés certifiées. Pour plus d'informations, voir paramètre de sécurité.
Remarque: n'incluez pas http ou https dans votre instance contactPoints .
topicPrefix sip chaîne Non Définissez le préfixe que vous souhaitez définir pour les sujets Kafka. Pour plus d'informations sur les thèmes Kafka, voir la liste des thèmes Kafka pour les services.
mirrorTopicPrefix   chaîne Non Définissez ce préfixe pour identifier les rubriques mises en miroir en ajoutant un préfixe spécifié à leur nom pendant la réplication. Ce préfixe est utilisé dans Kafka MirrorMaker pour étiqueter les sujets répliqués dans les clusters de destination.
crossDCTopicPrefix   chaîne Non Définissez ce préfixe pour les sujets Kafka dans d'autres centres de données. S'il n'est pas spécifié, topicPrefix est utilisé pour les sujets en miroir.
createDevInstance   object Non Spécifiez les ressources et le stockage pour Kafka. Définissez cet objet uniquement lorsque vous déployez l'instance de développement de Kafka. Si createDevInstance est activé pour Kafka, contactPoints n'est pas requis. Pour plus d'informations, voircreateDevInstance paramètre .
Remarque :
  • Cette opération déploie Kafka en mode non SSL uniquement.
  • kafka.createDevInstance extrait l'image requise du référentiel public. Par conséquent, si vous déployez IBM Sterling Intelligent Promising dans un cluster qui n'a pas d'accès à Internet, il est recommandé d'utiliser votre propre instance de Kafka.
  • Veillez à créer la rubrique {topic_prefix}-iv-supply-sync avant de démarrer l'API Sync Supply. Exécutez la commande suivante pour créer la rubrique:
    ./kafka-topics.sh --bootstrap-server <hostname>:<port> --create --topic {topicPrefix}-inventory-supply-sync --partitions 1 --replication-factor 1
Deprecated featurezookeeperContactPoints   chaîne Non Points de contact pour Zookeeper.
Remarque: n'incluez pas http ou https dans votre instance contactPoints .
loggingContactPoints   chaîne Non Si vous utilisez un supplément Log4j2 Kafka pour la journalisation, spécifiez loggingContactPoints. Par défaut, kafka.contactPoints est pris en compte pour envoyer des journaux à une rubrique Kafka .

Pour plus d'informations sur Log4j2 Kafka appender, voir le paramètre log.

createDevInstance Paramètre

Propriété Valeur par défaut Type de valeur Obligatoire Descriptif
affinityAndTolerations chaîne Non Utilisez le nom du affinityAndTolerations défini dans SIPEnvironment.
resources   objet Non Indiquez les demandes et les limites de ressources d'UC et de mémoire. Pour plus d'informations, voir Gestion des ressources pour les pods et les conteneurs.
storage   objet Non Indiquez le volume persistant pour le stockage. Pour plus d'informations, voir le paramètre de stockage.

configuration Paramètre

Propriété Valeur par défaut Type de valeur Obligatoire Descriptif
ssl_cassandra_disable "faux" chaîne Non Si vous avez spécifié des points de contact pour une instance Cassandra qui n'est pas SSL, configurez cette propriété sur "true".
ssl_kafka_disable "faux" chaîne Non Si vous avez spécifié des points de contact pour une instance Kafka qui n'est pas SSL, configurez cette propriété sur "true".
ssl_elasticsearch_disable "faux" chaîne Non Si vous avez spécifié des points de contact pour une instance Elasticsearch qui n'est pas SSL, configurez cette propriété sur "true".
ssl_Logging_kafka_disable "faux" chaîne Non Si vous avez spécifié loggingContactPoints pour une instance Kafka de journalisation qui n'est pas SSL, configurez cette propriété sur "true".

Annotations utilisées pour valider les connexions aux services externes

Par défaut, l'opérateur ne vérifie pas les connexions des services externes. Définissez les annotations suivantes pour valider ou ignorer la vérification de la connexion des instances externes avant le déploiement.
Commentaire Descriptif
apps.sip.ibm.com/validate-external-services-connections Définissez cette annotation à true pour déclencher un travail. L'opérateur déclenche le travail de vérification des connexions des instances externes pour les environnements de développement et de production. Si une connexion échoue, le processus s'arrête, et la gestion des erreurs permet de s'assurer que les erreurs sont enregistrées dans les journaux du pod, ce qui permet un débogage précis.
apps.sip.ibm.com/skip-external-services-connection-validation Définissez cette annotation à true pour ignorer une connexion qui a échoué.

Indiquez des valeurs séparées par des virgules pour les services externes dont vous souhaitez ignorer la vérification de la connectivité. Les valeurs valables sont cassandra, kafka, elasticsearch, kafka-logging.

Si vous choisissez d'envoyer les journaux à un Kafka distinct, l'annotation vérifie la connectivité de ce Kafka.

Exemple : L'annotation suivante ne vérifie pas la connexion pour Cassandra et Kafka.

apps.sip.ibm.com/skip-external-services-connection-validation:`cassandra, kafka`

Contrôles de préconnectivité pour le déploiement de Sterling Intelligent Promising et d'Optimizer
Après avoir déployé Sterling Intelligent Promising, la tâche sip-pre-connectivity-check s'exécute, vérifiant les connexions pour Cassandra, Elasticsearch, et Kafka. Si vous choisissez de déployer l'Optimizer en mode indépendant et de le configurer pour déclencher le travail sip-optimizer-pre-connectivity-check , il vérifie les connexions pour Elasticsearch et Kafka.