diff --git a/docs/modules/ROOT/examples/lite-member-jvm.yaml b/docs/modules/ROOT/examples/lite-member-jvm.yaml new file mode 100644 index 00000000..30771d84 --- /dev/null +++ b/docs/modules/ROOT/examples/lite-member-jvm.yaml @@ -0,0 +1,15 @@ +apiVersion: hazelcast.com/v1alpha1 +kind: Hazelcast +metadata: + name: hazelcast +spec: + repository: 'docker.io/hazelcast/hazelcast-enterprise' + licenseKeySecretName: hazelcast-license-key + clusterSize: 3 + liteMember: + count: 2 + jvm: + memory: + initialRAMPercentage: "10" + maxRAMPercentage: "20" + minRAMPercentage: "10" diff --git a/docs/modules/ROOT/examples/lite-member-resource-limits.yaml b/docs/modules/ROOT/examples/lite-member-resource-limits.yaml new file mode 100644 index 00000000..69b99ffd --- /dev/null +++ b/docs/modules/ROOT/examples/lite-member-resource-limits.yaml @@ -0,0 +1,17 @@ +apiVersion: hazelcast.com/v1alpha1 +kind: Hazelcast +metadata: + name: hazelcast +spec: + repository: 'docker.io/hazelcast/hazelcast-enterprise' + licenseKeySecretName: hazelcast-license-key + clusterSize: 3 + liteMember: + count: 2 + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" \ No newline at end of file diff --git a/docs/modules/ROOT/examples/lite-member-scheduling.yaml b/docs/modules/ROOT/examples/lite-member-scheduling.yaml new file mode 100644 index 00000000..7d3ee866 --- /dev/null +++ b/docs/modules/ROOT/examples/lite-member-scheduling.yaml @@ -0,0 +1,13 @@ +apiVersion: hazelcast.com/v1alpha1 +kind: Hazelcast +metadata: + name: hazelcast +spec: + repository: 'docker.io/hazelcast/hazelcast-enterprise' + licenseKeySecretName: hazelcast-license-key + clusterSize: 3 + liteMember: + count: 2 + scheduling: + nodeSelector: + topology.kubernetes.io/region: us-west1 \ No newline at end of file diff --git a/docs/modules/ROOT/examples/lite-member.yaml b/docs/modules/ROOT/examples/lite-member.yaml new file mode 100644 index 00000000..c2fa211e --- /dev/null +++ b/docs/modules/ROOT/examples/lite-member.yaml @@ -0,0 +1,10 @@ +apiVersion: hazelcast.com/v1alpha1 +kind: Hazelcast +metadata: + name: hazelcast +spec: + repository: 'docker.io/hazelcast/hazelcast-enterprise' + licenseKeySecretName: hazelcast-license-key + clusterSize: 3 + liteMember: + count: 2 \ No newline at end of file diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 16fbd3db..a1d7166c 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -7,6 +7,8 @@ * xref:connect-outside-kubernetes.adoc[] * xref:scheduling-configuration.adoc[Scheduling Hazelcast Pods] * xref:serialization-configuration.adoc[Serialization] +* xref:scaling-upgrading.adoc[Scaling & Upgrading] +* xref:lite-members.adoc[Deploying Lite Members] * xref:cp-subsystem.adoc[Enabling CP Subsystem] * xref:tiered-storage.adoc[Tiered Storage] * Configuring Data Structures diff --git a/docs/modules/ROOT/pages/api-ref.adoc b/docs/modules/ROOT/pages/api-ref.adoc index 0f5a4a21..7e844728 100644 --- a/docs/modules/ROOT/pages/api-ref.adoc +++ b/docs/modules/ROOT/pages/api-ref.adoc @@ -105,6 +105,7 @@ TIP: This document was generated from comments in the Go code in the api/ direct * <> * <> * <> +* <> * <> * <> * <> @@ -666,8 +667,8 @@ FlowSpec defines the desired state of Flow |=== | Field | Description | Type | Required | Default m| size | Number of Flow instances. m| *int32 | false | 3 -m| repository | Repository to pull the Flow image from. m| string | false | "quay.io/hazelcast_cloud/hazelcast-flow-internal" -m| version | Version of Flow. m| string | false | "next-v593" +m| repository | Repository to pull the Flow image from. m| string | false | "docker.io/hazelcast/hazelcast-flow" +m| version | Version of Flow. m| string | false | "5.5.0" m| imagePullPolicy | Pull policy for the Flow image m| https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#pullpolicy-v1-core[corev1.PullPolicy] | false | "IfNotPresent" m| imagePullSecrets | Image pull secrets for the Flow image m| []https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#localobjectreference-v1-core[corev1.LocalObjectReference] | false | - m| licenseKeySecretName | Name of the secret with Hazelcast Enterprise License Key. m| string | true | - @@ -691,6 +692,7 @@ FlowStatus defines the observed state of Flow | Field | Description | Type | Required | Default m| phase | Phase of the Flow m| <> | false | - m| message | Message about the Flow state m| string | false | - +m| size | Size of Flow members in the cluster. m| int32 | false | - |=== <> @@ -901,6 +903,7 @@ m| serviceAccountName | ServiceAccountName is the name of the ServiceAccount to m| cpSubsystem | CPSubsystem is the configuration of the Hazelcast CP Subsystem. m| *<> | false | - m| userCodeNamespaces | UserCodeNamespaces provide a container for Java classpath resources, such as user code and accompanying artifacts like property files m| *<> | false | - m| env | Env configuration of environment variables m| []https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#envvar-v1-core[corev1.EnvVar] | false | - +m| liteMember |   m| *<> | false | - |=== ==== Deprecated [cols="4,8,4,2,4"options="header"] @@ -920,6 +923,7 @@ HazelcastStatus defines the observed state of Hazelcast |=== | Field | Description | Type | Required | Default m| clusterSize | Number of Hazelcast members in the cluster. m| int32 | false | - +m| liteMemberCount | Number of Hazelcast lite members in the cluster. m| int32 | false | - m| selector | Selector is a label selector used by HorizontalPodAutoscaler to autoscale Hazelcast resource. m| string | false | - m| phase | Phase of the Hazelcast cluster m| <> | false | - m| hazelcastClusterStatus | Status of the Hazelcast cluster m| <> | false | - @@ -1276,6 +1280,22 @@ m| nestedGroupSearch | NestedGroupSearch enables searching for nested LDAP group <
> +=== LiteMember + + + +[cols="4,8,4,2,4"options="header"] +|=== +| Field | Description | Type | Required | Default +m| count |   m| int32 | true | - +m| scheduling | Scheduling details m| *<> | false | - +m| jvm | Hazelcast JVM configuration m| *<> | false | - +m| resources | Compute Resources required by the Hazelcast container. m| *https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#resourcerequirements-v1-core[corev1.ResourceRequirements] | false | - +m| env | Env configuration of environment variables m| []https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#envvar-v1-core[corev1.EnvVar] | false | - +|=== + +<
> + === LocalDeviceConfig @@ -1368,7 +1388,7 @@ ManagementCenterSpec defines the desired state of ManagementCenter. |=== | Field | Description | Type | Required | Default m| repository | Repository to pull the Management Center image from. m| string | false | "docker.io/hazelcast/management-center" -m| version | Version of Management Center. m| string | false | "5.5.3-SNAPSHOT" +m| version | Version of Management Center. m| string | false | "5.6.0" m| imagePullPolicy | Pull policy for the Management Center image m| https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#pullpolicy-v1-core[corev1.PullPolicy] | false | "IfNotPresent" m| imagePullSecrets | Image pull secrets for the Management Center image m| []https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#localobjectreference-v1-core[corev1.LocalObjectReference] | false | - m| licenseKeySecretName | Name of the secret with Hazelcast Enterprise License Key. m| string | true | - diff --git a/docs/modules/ROOT/pages/lite-members.adoc b/docs/modules/ROOT/pages/lite-members.adoc new file mode 100644 index 00000000..1e84028b --- /dev/null +++ b/docs/modules/ROOT/pages/lite-members.adoc @@ -0,0 +1,55 @@ += Deploying Lite Members + +Use the Hazelcast Platform Operator to deploy link:https://docs.hazelcast.com/hazelcast/latest/maintain-cluster/lite-members[Lite Members]. You can use the separate `liteMember` section in the Hazelcast CR. + +WARNING: When `jvm`, `env`, `resources`, `scheduling` sections are configured in the Hazelcast CR, it will not affect the lite member configuration. Lite members must be configured as explained in the following sections. + +== Configuring the Number of Lite Members + +To configure the number of lite members you want to deploy in the Hazelcast CR, use the `count` field in the `liteMember` section of the Hazelcast CR. + +.Example Lite Member Count Configuration +[source,yaml,subs="attributes+"] +---- +include::ROOT:example$/lite-member.yaml[] +---- + +When you apply the given example, 3 data members and 2 lite members are deployed. + +NOTE: As seen in the example, `clusterSize` represents the number of data members to be created. + +== Configuring JVM Parameters + +To configure JVM Parameters specifically for lite members, you can use the `jvm` field in the `liteMember` section of the Hazelcast CR. + +.Example Lite Member JVM Configuration +[source,yaml,subs="attributes+"] +---- +include::ROOT:example$/lite-member-jvm.yaml[] +---- + +== Configuring Environment Variables + +To configure environment variables specifically for lite members, you can use the `env` field in the `liteMember` section of the Hazelcast CR. + +Same rules and logic is applicable as in the xref:env-vars.adoc[Environment variables]. + +== Configuring Resource Limits + +To configure resource limits specifically for lite members, you can use the `resources` field in the `liteMember` section of the Hazelcast CR. + +.Example Lite Member Resource Limits Configuration +[source,yaml,subs="attributes+"] +---- +include::ROOT:example$/lite-member-resource-limits.yaml[] +---- + +== Configuring Scheduling + +To configure scheduling specifically for lite members, you can use the `scheduling` field in the `liteMember` section of the Hazelcast CR. + +.Example Lite Member Scheduling Configuration +[source,yaml,subs="attributes+"] +---- +include::ROOT:example$/lite-member-scheduling.yaml[] +---- \ No newline at end of file diff --git a/docs/modules/ROOT/pages/tls.adoc b/docs/modules/ROOT/pages/tls.adoc index 207b3b7d..057a3e22 100644 --- a/docs/modules/ROOT/pages/tls.adoc +++ b/docs/modules/ROOT/pages/tls.adoc @@ -74,3 +74,5 @@ include::ROOT:example$/hazelcast-tls.yaml[] ---- include::ROOT:example$/management-center-tls.yaml[] ---- + +NOTE: To update TLS certificates, you need to delete and recreate the appropriate custom resource. \ No newline at end of file