Oracle enables organizations using Coherence to move their clusters into the cloud. By supporting industry standards, such as Docker and Kubernetes, Oracle facilitates running Coherence on cloud-neutral infrastructure. In addition, Oracle provides an open-source Coherence Operator (“the operator”), which implements features to assist with deploying and managing Coherence clusters in a Kubernetes environment. You can:
Run Coherence within the de facto standard Kubernetes container orchestration framework, using Docker containers for the members of a Coherence cluster.
Flexibly override and customize cluster configuration.
Scale the Coherence deployment.
Use Coherence*Extend to access your cluster with a variety of clients.
Use Kubernetes Zone information to ensure data stored in Coherence is resilient to loss of a Zone. Coherence goes to great efforts to ensure data is safe across processes, machines, racks and sites. When Coherence is deployed to Kubernetes with the Coherence Operator, data will be spread across zones to ensure this underlying principle is supported; thus by default, loss of any zone is a tolerated failure mode. This is reflected in the StatusHA value (SITE-SAFE) for partitioned services, in addition to the member level site information that is equivalent to the kubernetes zone label on the associated pod.
Start clusters based on declarative startup parameters and desired states.
Use Kubernetes persistent volumes when using Coherence’s disk-based storage features Elastic Data or Persistence.
Deploy custom code for your
EntryProcessor classes and other
server-side Coherence constructs.
This documentation includes sections targeted to different audiences. To help you find what you are looking for more easily, consult this table of contents:
The Quick Start Guide explains how to quickly get Coherence running on Kubernetes, using the defaults, nothing special.
The User Guide contains detailed usage information on the Coherence Operator, including how to install and configure the operator and several common use cases.
The Samples provide detailed example code and instructions that show you how to perform various tasks related to the operator.
The Developer Guide provides details for users who want to understand how the operator is built, tested, and so on. Those who wish to contribute to the operator code will find useful information here.
The Access the EFK (Elasticsearch, Fluentd and Kibana) Stack to View Logs page describes how to enable log capture, and manage data logging through the EFK stack to view logs.
The Monitor Coherence Services via Grafana Dashboards page explains how to configure the Prometheus Operator and monitor Coherence services through Grafana dashboards.
The User Guide provides detailed information on all aspects of using the operator including:
Installing and configuring the operator.
Using the operator to create and manage Coherence clusters.
Manually creating Coherence clusters to be managed by the operator.
Configuring Elasticsearch and Kibana to access the operator’s log files.
Shutting down clusters.
And much more!
Refer to our samples for information about the available sample code.
Software running in Kubernetes must provide “health checks” so that Kubernetes can make informed decisions about starting, stopping, or even killing, the containers running the software. The operator provides everything required to do this for Coherence. Keep in mind that these health checks cause frequent
MemberLeft events to happen. If these events refer to something like
OracleCoherenceK8sPodChecker, they are normal and be safely ignored.
We have a public Slack channel where you can get in touch with us to
ask questions about using the operator or give us feedback or
suggestions about what features and improvements you would like to see.
We would love to hear from you. To join our channel, please visit this
site to get an
invitation email will include details of how to access our Slack workspace. After you are logged in, please come to
#operator and say, “hello!”