Operator Runtime
Please be aware that the Operator is currently considered as a preview release, and therefore it should not be used in a production environment.
|
This section describes important information related to the behavior of the Operator at runtime.
Cluster Deployment
When a cluster is deployed, the Operator automatically takes care of provisioning associated Kubernetes resources. For example:
-
Service
-
Config Map
-
Stateful Set (includes a Persistent Volume Claims)
-
Load Balancer (if the deployment configuration stipulates external access)
Related resources (described above) include the cluster’s name as a prefix. For example, creating a cluster named esdb-cluster results in a esdb-cluster-config Config Map instance being created in the same namespace.
Configuration
The operator will create the ESDB configuration and place it within a ConfigMap instance hosted in the same namespace as the cluster (see Cluster Deployment). An example of the contents can be seen below:
apiVersion: v1
data:
eventstore.conf: |
Db: /srv/eventstore/data
Index: /srv/eventstore/index
Log: /srv/eventstore/logs
DisableLogFile: true
CertificateFile: ""
CertificatePrivateKeyFile: ""
TrustedRootCertificatesPath: ""
CertificateReservedNodeCommonName: ""
ExtIp: 0.0.0.0
IntIp: 0.0.0.0
EnableExternalTcp: true
EnableAtomPubOverHTTP: true
ClusterSize: 3
DiscoverViaDns: false
GossipSeed:
- esdb-cluster-0.esdb-cluster.esdb.svc.cluster.local:2113
- esdb-cluster-1.esdb-cluster.esdb.svc.cluster.local:2113
- esdb-cluster-2.esdb-cluster.esdb.svc.cluster.local:2113
Insecure: true
AllowAnonymousEndpointAccess: true
AllowUnknownOptions: true
PrepareTimeoutMs: 3000
CommitTimeoutMs: 3000
IntTcpHeartbeatInterval: 1000
IntTcpHeartbeatTimeout: 2500
ExtTcpHeartbeatInterval: 1000
ExtTcpHeartbeatTimeout: 2500
GossipIntervalMs: 2000
GossipTimeoutMs: 5000
LeaderElectionTimeoutMs: 2000
Any changes made to the ConfigMap will not cause the associated pods to be recreated automatically. The pods must be manually restarted for the changes to take effect.
|