You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/installation/01_installation.adoc
+62-6Lines changed: 62 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,20 +17,33 @@ easily be installed into a Kubernetes cluster.
17
17
The prerequisites apply to all installation methods.
18
18
19
19
* Access to Oracle Coherence Operator images.
20
-
* Access to a Kubernetes v1.16.0+ cluster. The Operator test pipeline is run using Kubernetes versions v1.16 upto v1.23
20
+
* Access to a Kubernetes v1.18.0+ cluster. The Operator test pipeline is run using Kubernetes versions v1.18 upto v1.24
21
21
* A Coherence application image using Coherence version 12.2.1.3 or later. Note that some functionality (e.g. metrics) is only
22
22
available in Coherence 12.2.1.4 and later.
23
23
24
24
NOTE: ARM Support: As of version 3.2.0, the Coherence Operator is build as a multi-architecture image that supports running in Kubernetes on both Linux/amd64 and Linux/arm64. The prerequisite is that the Coherence application image used has been built to support ARM.
25
25
26
-
There are a few ways to install the Coherence Operator documented below:
26
+
There are a number of ways to install the Coherence Operator documented below:
NOTE: Installing the Coherence Operator using the methods above will create a number of `ClusterRole` RBAC resources.
33
+
=== High Availability
34
+
35
+
The Coherence Operator runs in HA mode by default. The `Deployment` created by the installation will have a replica count of 3.
36
+
In reduced capacity Kubernetes clusters, for example, local laptop development and test, the replica count can be reduced. It is recommended to leave the default of 3 for production environments.
37
+
Instructions on how to change the replica count for the different install methods are included below.
38
+
39
+
The Coherence Operator runs a REST server that the Coherence cluster members will query to discover the site and rack names that should be used by Coherence. If the Coherence Operator is not running when a Coherence Pod starts, then the Coherence member in that Pod will be unable to properly configure its site and rack names, possibly leading to data distribution that is not safely distributed over sites. In production, and in Kubernetes clusters that are spread over multiple availability zones and failure domains, it is important to run the Operator in HA mode.
40
+
41
+
The Operator yaml files and Helm chart include a default Pod scheduling configuration that uses anti-affinity to distribute the three replicas onto nodes that have different `topology.kubernetes.io/zone` labels. This label is a standard Kubernetes label used to describe the zone the node is running in, and is typically applied by Kubernetes cloud vendors.
42
+
43
+
44
+
=== Notes
45
+
46
+
NOTE: Installing the Coherence Operator using the methods below will create a number of `ClusterRole` RBAC resources.
34
47
Some corporate security policies do not like to give cluster wide roles to third-party products.
35
48
To help in this situation the operator can be installed without cluster roles, but with caveats
36
49
(see the <<docs/installation/09_RBAC.adoc,RBAC>> documentation) for more details.
@@ -56,7 +69,8 @@ If no image is specified in the `Coherence` yaml, then the default Coherence ima
56
69
57
70
* `{coherence-image}` - The default Coherence image.
58
71
59
-
If using a private image registry then these images will all need to be pushed to that registry for the Operator to work.
72
+
If using a private image registry then these images will all need to be pushed to that registry for the Operator to work. The default Coherence image may be omitted if all Coherence applications will use custom Coherence images.
When installing with single manifest yaml file, the replica count can be changed by editing the yaml file itself to change the occurrence of `replicas: 3` in the manifest yaml to `replicas: 1`
109
+
110
+
For example, this could be done using `sed`
111
+
[source,bash]
112
+
----
113
+
sed -i -e 's/replicas: 3/replicas: 1/g' coherence-operator.yaml
114
+
----
115
+
116
+
Or on MacOS, where `sed` is slightly different:
117
+
[source,bash]
118
+
----
119
+
sed -i '' -e 's/replicas: 3/replicas: 1/g' coherence-operator.yaml
NOTE: To avoid confusion, the URL `https://oracle.github.io/coherence-operator/charts` is a Helm repo, it is not a web site you open in a browser. You may think we shouldn't have to say this, but you'd be surprised.
140
+
NOTE: To avoid confusion, the URL `https://oracle.github.io/coherence-operator/charts` is a Helm repo, it is not a website you open in a browser. You may think we shouldn't have to say this, but you'd be surprised.
112
141
113
142
=== Install the Coherence Operator Helm chart
114
143
@@ -126,6 +155,20 @@ helm install \
126
155
<1> where `<namespace>` is the namespace that the Coherence Operator will be installed into.
127
156
<2> `coherence` is the name of this Helm installation.
128
157
158
+
=== Change the Operator Replica Count
159
+
160
+
To change the replica count when installing the Operator using Helm, the `replicas` value can be set.
161
+
162
+
For example, to change the replica count from 3 to 1, the `--set replicas=1` option can be used.
163
+
[source,bash]
164
+
----
165
+
helm install \
166
+
--namespace <namespace> \
167
+
--set replicas=1
168
+
coherence \
169
+
coherence/coherence-operator
170
+
----
171
+
129
172
130
173
==== Uninstall the Coherence Operator Helm chart
131
174
@@ -213,7 +256,7 @@ helm install \
213
256
----
214
257
<1> the `private-repo-values.yaml` values fle will be used by Helm to inject the settings into the Operator deployment
215
258
216
-
==== Add Pull Secrets Using --Set
259
+
==== Add Pull Secrets Using --set
217
260
218
261
Although the `imagePullSecrets` field in the values file is an array of `name` to value pairs it is possible to set
219
262
these values with the normal Helm `--set` parameter.
@@ -273,6 +316,19 @@ NOTE: All the commands below are run from a console in the `manifests/` director
273
316
If you have Kustomize installed (or can install it from https://github.com/kubernetes-sigs/kustomize) you can use
274
317
Kustomize to configure the yaml and install.
275
318
319
+
==== Change the Operator Replica Count
320
+
321
+
To change the replica count using Kustomize a patch file needs to be applied.
322
+
The Operator manifests include a patch file, named `manager/single-replica-patch.yaml`, that changes the replica count from 3 to 1. This patch can be applied with the following Kustomize command.
323
+
324
+
[source,bash]
325
+
----
326
+
cd ./manager && kustomize edit add patch \
327
+
--kind Deployment --name controller-manager \
328
+
--path single-replica-patch.yaml
329
+
----
330
+
331
+
276
332
==== Set Image Names
277
333
If you need to use different iamge names from the defaults `kustomize` can be used to specify different names:
Copy file name to clipboardExpand all lines: docs/installation/09_RBAC.adoc
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,10 +42,9 @@ You MUST ensure that the CRD manifests match the version of the Operator being i
42
42
43
43
* Download the manifests and unpack them.
44
44
45
-
* In the directory that the .tar.gz file was unpacked to will be two versions of the CRDs.
46
-
The directory `crd/` contains the `apiextensions.k8s.io/v1` version, which must be installed into Kubernetes cluster from k8s v1.16.x and above. The `crd-v1beta1/` directory contains the `apiextensions.k8s.io/v1beta1` version, which must be installed into Kubernetes cluster of k8s v1.15.x and below.
45
+
* In the directory that the .tar.gz file the was unpacked the `crd/` directory will the Coherence CRD.
0 commit comments