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
* chore(listener): Update operator role permissions
* docs(listener): Update service exposition docs
* feat!: Implement server role listener
BREAKING: CRD changes .spec.clusterConfig.listenerClass to .spec.servers.roleConfig.listenerClass
* chore: Update changelog
* docs: Update listener usage
* fix: Use the applied listener to build the discover config map
Note: This is because it relies on information in the status field
* feat: Move ZK ports to headless service
* chore: Handle errors properly
* docs: Fix doc refs
* chore: tidy up metrics ports and use consts
* Remove commented code
* Apply suggestions from code review
Co-authored-by: Malte Sander <contact@maltesander.com>
* chore: Update CRD field descriptions
* fix: Handle unlikely error instead of crashing
* Update rust/operator-binary/src/zk_controller.rs
Co-authored-by: Malte Sander <contact@maltesander.com>
* chore: Add znode ref to error message
* style: Replace empty format interpolations
* fix: Remove extra brace
---------
Co-authored-by: Malte Sander <contact@maltesander.com>
Copy file name to clipboardExpand all lines: deploy/helm/zookeeper-operator/crds/crds.yaml
+5-15Lines changed: 5 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,6 @@ spec:
28
28
clusterConfig:
29
29
default:
30
30
authentication: []
31
-
listenerClass: cluster-internal
32
31
tls:
33
32
quorumSecretClass: tls
34
33
serverSecretClass: tls
@@ -53,20 +52,6 @@ spec:
53
52
- authenticationClass
54
53
type: object
55
54
type: array
56
-
listenerClass:
57
-
default: cluster-internal
58
-
description: |-
59
-
This field controls which type of Service the Operator creates for this ZookeeperCluster:
60
-
61
-
* cluster-internal: Use a ClusterIP service
62
-
63
-
* external-unstable: Use a NodePort service
64
-
65
-
This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change.
66
-
enum:
67
-
- cluster-internal
68
-
- external-unstable
69
-
type: string
70
55
tls:
71
56
default:
72
57
quorumSecretClass: tls
@@ -444,11 +429,16 @@ spec:
444
429
x-kubernetes-preserve-unknown-fields: true
445
430
roleConfig:
446
431
default:
432
+
listenerClass: cluster-internal
447
433
podDisruptionBudget:
448
434
enabled: true
449
435
maxUnavailable: null
450
436
description: This is a product-agnostic RoleConfig, which is sufficient for most of the products.
451
437
properties:
438
+
listenerClass:
439
+
default: cluster-internal
440
+
description: This field controls which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) is used to expose the ZooKeeper servers.
:description: Configure the ZooKeeper service exposure with listener classes: cluster-internal, external-unstable or external-stable
2
3
3
4
Apache ZooKeeper offers an API. The Operator deploys a service called `<name>` (where `<name>` is the name of the ZookeeperCluster) through which ZooKeeper can be reached.
4
5
5
-
This service can have either the `cluster-internal` or `external-unstable` type. `external-stable` is not supported for ZooKeeper at the moment.
6
-
Read more about the types in the xref:concepts:service-exposition.adoc[service exposition] documentation at platform level.
7
-
8
-
This is how the listener class is configured:
6
+
The operator deploys a xref:listener-operator:listener.adoc[Listener] for the Server pods.
7
+
The listener defaults to only being accessible from within the Kubernetes cluster, but this can be changed by setting `.spec.servers.roleConfig.listenerClass`:
9
8
10
9
[source,yaml]
11
10
----
12
11
spec:
13
-
clusterConfig:
14
-
listenerClass: cluster-internal # <1>
12
+
servers:
13
+
roleConfig:
14
+
listenerClass: external-unstable # <1>
15
15
----
16
-
<1> The default `cluster-internal` setting.
16
+
<1> Specify one of `external-stable`, `external-unstable`, `cluster-internal`(the default setting is `cluster-internal`).
0 commit comments