This Operator uses defaulting and validating webhooks
to validate any EtcdCluster
and EtcdPeer
custom resources that you create,
and to assign default values for any optional fields in those APIs.
You are strongly advised to install these webhooks in order to prevent unsupported EtcdCluster
configurations,
and to prevent unsupported configuration changes.
The webhook APIs used by this Operator were introduced in Kubernetes 1.9.
Running make deploy
will add Webhook configuration such that,
for any CREATE or UPDATE operation on any EtcdCluster
or EtcdPeer
custom resource,
the Kubernetes API server will initiate an HTTPS webhook request to the controller-manager
,
so that it can perform defaulting and validation of the resource before it is stored by the Kubernetes API server.
The API server connects to the webhook server using HTTPS
and this requires SSL certificates to be configured for the client and the server.
The easiest way to set this up is to install Cert-Manager
before you deploy the Operator.
The config/default/
directory contains Kustomize patches which add Cert-Manager cainjector annotations to the webhook configuration,
and a self signing Issuer.
With these, Cert-manager will automatically generate self-signed certificates for the webhook client and server.
The Operator YAML is managed through kustomize. To install you require
both the kustomize
and kubectl
binaries.
cd config/default
export ECO_VERSION=v0.2.0
kustomize edit set image controller=$ECO_VERSION
kustomize edit set image proxy=$ECO_VERSION
kubectl apply --kustomize .