externalServices
parameter
Use externalServices
to configure external services such as Cassandra,
Elasticsearch, Kafka, and mongoDB.
The following YAML file is a sample schema for external services- Cassandra, Elasticsearch,
Kafka, and mongoDB:
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: ""
# mongoDB:
# optimizerDB: optimizer-db
# optimizerMetadataDB: mutlitomz-db
# replicationEnabled: false
# createDevInstance:
# affinityAndTolerations: ""
# resources:
# limits:
# cpu: '3'
# memory: 10000Mi
# requests:
# cpu: '1'
# memory: 3000Mi
# storage:
# name: ""
# accessMode: ReadWriteMany
# capacity: 10Gi
# storageClassName: default
# securityContext:
# fsGroup:
# supplementalGroups: []
Note: Cassandra requires a minimum of 5000Mi of memory and can use at most 9000Mi.
The following table explains the attributes applicable for
externalServices
parameter of SIPEnvironment
.
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
cassandra |
object |
Yes | Configure Cassandra for externalServices . For more
information, see cassandra parameter. |
|
elasticsearch |
object |
Yes | Configure Elasticsearch for externalServices . For information, see elasticsearch parameter. |
|
kafka |
object |
Yes | Configure Kafka for externalServices . For more information, see kafka parameter. |
|
configuration |
object |
No | Configure configuration parameter for each service. For more information,
see configuration parameter. |
|
mongoDB |
object | No | Configure mongoDB parameter for each service. For more information, see
mongoDB parameter. |
cassandra
parameter
Note:
- When the Cassandra pod reaches unhealthy state, it is recommended to increase the
resources for Cassandra and restart the
IV-appserver
andIV-backend
deployments. - The
JVM_OPTS
for Cassandra pod is calculated based on the requests and limits that are passed to the resources. Hence,Xms
must be equal to requests andXmx
must be 75 percent of limits. For more information, see resources.
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
iv_keyspace |
string |
Yes | Specify the keyspace for Inventory Visibility. |
|
cas_keyspace |
ks_cas |
string |
No | Specify the keyspace for Carrier service. |
promising_keyspace |
ks_promising |
string |
No | Specify the keyspace for Promising service. |
createDevInstance |
object |
No | Specify the resources and storage for Cassandra. For more information, see createDevInstance parameter. Note:
|
|
contactPoints |
string |
No | Contact points for Cassandra. If createDevInstance is not enabled for
Cassandra, then contactPoints is mandatory. You must create the following keyspaces:
Note: Do not include
http or https in your contactPoints
instance. |
|
datacenter |
string | No | Specify the datacenter for Cassandra. |
elasticsearch
parameter
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
createDevInstance |
object |
No | Specify the resources and storage for Elasticsearch. For more information, see createDevInstance parameter.
Note:
|
|
contactPoints |
string |
No | Contact points for Elasticsearch. If createDevInstance is not enabled for
Elasticsearch, then contactPoints is mandatory. If Elasticsearch is external over
SSL, then add the certificates to the truststore. For more information, see security parameter.Note: Do not include
http or
https in your contactPoints instance. |
|
replicationEnabled |
false | boolean | No | Specify this property to enable or disable Elasticsearch data replication for multicluster setup. |
kafka
parameter
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
contactPoints |
string | No | Contact points for Kafka. If createDevInstance is not enabled for Kafka,
then contactPoints is mandatory. If Kafka is external over SSL, then add the certificates to the truststore. For more information, see security parameter.Note: Do not include
http or
https in your contactPoints instance. |
|
topicPrefix |
sip |
string | No | Define this prefix that you want to set for the Kafka topics. For more information about Kafka topics, see Kafka topic list for the services. |
mirrorTopicPrefix |
string | No | Define this prefix to identify mirrored topics by appending a specified prefix to their names during replication. This prefix is used in Kafka MirrorMaker to label replicated topics in destination clusters. | |
crossDCTopicPrefix |
string | No | Define this prefix for Kafka topics in other data centers. If it is not specified,
topicPrefix is used for mirrored topics. |
|
createDevInstance |
object |
No | Specify the resources and storage for Kafka. Set this object only when you are deploying the
development instance of Kafka. If createDevInstance is enabled for Kafka, then
contactPoints is not required. For more information, see createDevInstance parameter.Note:
|
|
|
string | No | Contact points for Zookeeper. Note: Do not include
http or
https in your contactPoints instance. |
|
loggingContactPoints |
string | No | If you are using a Log4j2 Kafka appender, for logging, specify
loggingContactPoints . By default kafka.contactPoints is considered
to push logs to a Kafka topic.For more information about Log4j2 Kafka appender, see log parameter. |
mongoDB
parameter
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
contactPoints |
string | No | Contact points for MongoDB. If createDevInstance is not enabled for MongoDB,
then contactPoints is mandatory. If MongoDB is external over SSL, then add the
certificates to the truststore. For more information, see security parameterNote: Do not include
http or
https in your contactPoints instance. |
|
createDevInstance |
object |
No | Specify the resources and storage for MongoDB. For more information, see createDevInstance parameter. Note:
|
|
optimizerDB |
string | Yes | Specify the Optimizer database name in mongoDB. | |
optimizerMetadataDB |
string | Yes | Specify the Optimizer metadata database name in mongoDB. | |
replicationEnabled |
false | boolean | No | Specify this property to enable or disable MongoDB data replication for multicluster setup. |
createDevInstance
parameter
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
affinityAndTolerations |
string | No | Use the name of the affinityAndTolerations that is defined in the SIPEnvironment. |
|
resources |
object | No | Specify the CPU and memory resource requests and limits. For more information, see Resource Management for Pods and Containers. | |
storage |
object | No | Specify the persistent volume for storage. For more information, see storage parameter. |
configuration
parameter
Property | Default value | Value type | Required | Description |
---|---|---|---|---|
ssl_cassandra_disable |
"false" | string | No | If you have specified contact points for a Cassandra instance that is on non-SSL, configure
this property to "true" . |
ssl_kafka_disable |
"false" | string | No | If you have specified contact points for a Kafka instance that is on non-SSL, configure this
property to "true" . |
ssl_elasticsearch_disable |
"false" | string | No | If you have specified contact points for a Elasticsearch instance that is on non-SSL,
configure this property to "true" . |
ssl_Logging_kafka_disable |
"false" | string | No | If you have specified loggingContactPoints for a logging Kafka instance that
is on non-SSL, configure this property to "true" . |
ssl_mongodb_disable |
"false" | string | No | If you have specified contact points for a MongoDB instance that is on non-SSL, configure
this property to "true" . |
Annotations used to validate external service connections
By default the Operator does not check the connections of external services. Set the following
annotations to validate or skip checking external instances connection before deployment.
Annotation | Description |
---|---|
apps.sip.ibm.com/validate-external-services-connections |
Set this annotation to true to trigger a job. The Operator triggers the job
to check the connections of the external instances for development and production environments. If
any connection fails, the process stops, and error handling help ensure that the errors are logged
in the pod logs, enabling accurate debugging. |
apps.sip.ibm.com/skip-external-services-connection-validation |
Set this annotation to true to skip a connection that is failed. Pass
comma separated values for the external services that you want to skip the connectivity check of.
Valid values are If you choose to send the logs to a separate Kafka, then the annotation checks the connectivity of this Kafka. Example: The following annotation skips the connection check for Cassandra and Kafka.
|
- Pre-connectivity checks for Sterling Intelligent Promising and Optimizer deployment
- After you deploy Sterling Intelligent
Promising, the
sip-pre-connectivity-check
job runs, checking the connections for Cassandra, Elasticsearch, and Kafka. If the Optimizer is deployed, it checks the MongoDB connection. If you choose to deploy the Optimizer in independent mode and set it to trigger thesip-optimizer-pre-connectivity-check
job, it checks the connections for MongoDB, Elasticsearch, and Kafka.