0.9.0 Release Highlightsedit

Kubernetes Distribution Supportedit

In addition to Google Kubernetes Engine (GKE) and vanilla Kubernetes, ECK now also works on Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS) and Red Hat OpenShift 3.11+ (with some restrictions for APM Server).

APM Serveredit

ECK 0.9.0 brings support for a new custom resource that allows you to deploy APM Server on Kubernetes. The ECK operator takes care of linking it up to an Elasticsearch output, if desired, as well.

User Provided HTTP Certificatesedit

In addition to self-signed certificates which ECK uses as a default, we now support user-provided certificates for HTTP connections to Elasticsearch, Kibana or APM. Configure them via a regular k8s TLS secret and reference them in the Elastic resource of choice in the new TLS options attribute.

User Provided Pod Templatesedit

This release introduces support for user-provided Pod templates in Elasticsearch, Kibana and APM Server. For example, this allows you to configure your own init containers to run code before Elasticsearch, Kibana or APM start up. Or you can use the Pod template to mount additional volumes with configuration files, for example to configure SAML or synonym files, or to specify imagePullSecrets for your private Docker registry.

Breaking Changesedit

Existing resources (Elasticsearch and Kibana) that were created with a 0.8.x version of the operator are not compatible with this release. They will automatically have an annotation added to them indicating the controller version, and then skipped. They will continue to function, but any changes made to them will not be processed by the 0.9.x version of the operator. To upgrade existing clusters, you can either:

  • Perform a snapshot of the existing cluster and restore them into a new cluster created by the 0.9.x version of the operator, or
  • Create a new cluster, and reindex from remote to reindex your data to the new cluster.

Attempting to delete resources created with a 0.8.x version will hang if ECK 0.9.x is running. To unblock the deletion, remove any registered finalizer from the resource:

kubectl patch elasticsearch quickstart-0-8 --patch '{"metadata": {"finalizers": []}}' --type=merge
kubectl patch kibana quickstart-0-8 --patch '{"metadata": {"finalizers": []}}' --type=merge