Skip to content

Commit 36d5306

Browse files
committed
Remove externalService and add services.neo4j.spec.loadBalancerIP (#2494)
1 parent 8c94062 commit 36d5306

File tree

2 files changed

+44
-27
lines changed

2 files changed

+44
-27
lines changed

modules/ROOT/pages/kubernetes/accessing-neo4j.adoc

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ kubectl get service `<my-neo4j-name>-lb-neo4j` -ocustom-columns=ip:.status.loadB
292292
kubectl get service -l helm.neo4j.com/service=neo4j,helm.neo4j.com/name=<release-name> -ocustom-columns=ip:.status.loadBalancer.ingress[].ip
293293
----
294294

295-
If the Kubernetes `LoadBalancer` implementation that you are using supports setting a static IP, the IP address of the `LoadBalancer` can be configured in the Neo4j Helm release by setting `externalService.loadBalancerIP`.
295+
If the Kubernetes `LoadBalancer` implementation that you are using supports setting a static IP, the IP address of the `LoadBalancer` can be configured in the Neo4j Helm release by setting `services.neo4j.spec.loadBalancerIP`.
296296
If a static IP address is not explicitly set, then Kubernetes does not guarantee that a dynamically assigned IP address will not change.
297297

298298
When exposing a Neo4j database on the Internet, it is recommended to use a static IP and configure SSL on the exposed services.
@@ -307,33 +307,40 @@ The default values are:
307307
----
308308
services:
309309
neo4j:
310-
annotations: { }
311-
loadBalancerIP: NULL
312-
ports:
313-
http:
314-
enabled: true
315-
# uncomment to publish http on port 80 (neo4j default is 7474)
316-
# port: 80
317-
# targetPort: 7474
318-
# name: http
319-
https:
320-
enabled: true
310+
enabled: true
311+
annotations: { }
312+
spec:
313+
type: LoadBalancer
314+
loadBalancerIP: NULL
315+
ports:
316+
http:
317+
enabled: true # Set this to false to remove HTTP from this service (this does not affect whether http is enabled for the neo4j process)
318+
# uncomment to publish http on port 80 (neo4j default is 7474)
319+
#port: 80
320+
#targetPort: 7474
321+
#name: http
322+
#nodePort: <your-nodeport>, enabled only when type set to NodePort
323+
https:
324+
enabled: true # Set this to false to remove HTTPS from this service (this does not affect whether https is enabled for the neo4j process)
321325
# uncomment to publish http on port 443 (neo4j default is 7473)
322-
# port: 443
323-
# targetPort: 7473
324-
# name: https
325-
bolt:
326-
enabled: true
326+
#port: 443
327+
#targetPort: 7473
328+
#name: https
329+
#nodePort: <your-nodeport>, enabled only when type set to NodePort
330+
bolt:
331+
enabled: true # Set this to false to remove BOLT from this service (this does not affect whether https is enabled for the neo4j process)
327332
# Uncomment to explicitly specify the port to publish Neo4j Bolt (7687 is the default)
328-
# port: 7687
329-
# targetPort: 7687
330-
# name: tcp-bolt
331-
backup:
332-
enabled: false
333+
#port: 7687
334+
#targetPort: 7687
335+
#name: tcp-bolt
336+
#nodePort: <your-nodeport>, enabled only when type set to NodePort
337+
backup:
338+
enabled: false # Set this to true to expose backup port externally (n.b. this could have security implications. Backup is not authenticated by default)
333339
# Uncomment to explicitly specify the port to publish Neo4j Backup (6362 is the default)
334-
# port: 6362
335-
# targetPort: 6362
336-
# name: tcp-backup
340+
#port: 6362
341+
#targetPort: 6362
342+
#name: tcp-backup
343+
#nodePort: <your-nodeport>, enabled only when type set to NodePort
337344
----
338345

339346
Disabling/enabling a port on the `services.neo4j` object removes it from the load balancer but does not affect whether it is disabled/enabled in Neo4j.

modules/ROOT/pages/kubernetes/configuration.adoc

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ For more information, see xref:kubernetes/security.adoc[Configure SSL].
211211

212212

213213
Some examples of possible K8s configurations::
214-
* Configure (or disable completely) the Kubernetes LoadBalancer that exposes Neo4j outside the Kubernetes cluster by modifying the `externalService` object in the _values.yml_ file.
214+
* Configure (or disable completely) the Kubernetes LoadBalancer that exposes Neo4j outside the Kubernetes cluster by modifying the `services.neo4j.spec.loadBalancerIP` object in the _values.yml_ file.
215215
* Set the `securityContext` used by Neo4j Pods by modifying the `securityContext` object in the _values.yml_ file.
216216
* Configure manual persistent volume provisioning or set the `StorageClass` to be used as the Neo4j persistent storage.
217217

@@ -269,7 +269,7 @@ neo4j:
269269
# The operations pod ends successfully if the server is enabled, or it was already enabled
270270
operations:
271271
enableServer: false
272-
image: "neo4j/helm-charts-operations:5.25.1"
272+
image: "neo4j/helm-charts-operations:5.26.9"
273273
# protocol can be "neo4j or "neo4j+ssc" or "neo4j+s". Default set to neo4j
274274
# Note: Do not specify bolt protocol here...it will FAIL.
275275
protocol: "neo4j"
@@ -283,6 +283,7 @@ neo4j:
283283
# Email inquiries can be directed to: [email protected]
284284
#
285285
# Set acceptLicenseAgreement: "yes" to confirm that you have a Neo4j license agreement.
286+
# Set acceptLicenseAgreement: "eval" to use Neo4j Enterprise Edition for evaluation purposes.
286287
acceptLicenseAgreement: "no"
287288
#
288289
# set offlineMaintenanceModeEnabled: true to restart the StatefulSet without the Neo4j process running
@@ -508,6 +509,9 @@ services:
508509
# If enabled: is set to false, the LoadBalancer will be orphaned and will have to manually deleted post uninstall and the hook job will not be created
509510
cleanup:
510511
enabled: true
512+
# Pod annotations for the cleanup job
513+
podAnnotations:
514+
sidecar.istio.io/inject: "false"
511515
image:
512516
registry: docker.io
513517
repository: bitnami/kubectl
@@ -600,6 +604,8 @@ containerSecurityContext:
600604
# Because Neo4j uses Java these values are large to distinguish between long Garbage Collection pauses (which don't require a restart) and an actual failure.
601605
# These values should mark Neo4j as not ready after at most 5 minutes of problems (20 attempts * max 15 seconds between probes)
602606
readinessProbe:
607+
tcpSocket:
608+
port: 7687
603609
failureThreshold: 20
604610
timeoutSeconds: 10
605611
periodSeconds: 5
@@ -608,6 +614,8 @@ readinessProbe:
608614
# Because Neo4j uses Java these values are large to distinguish between long Garbage Collection pauses (which don't require a restart) and an actual failure.
609615
# These values should trigger a restart after at most 10 minutes of problems (40 attempts * max 15 seconds between probes)
610616
livenessProbe:
617+
tcpSocket:
618+
port: 7687
611619
failureThreshold: 40
612620
timeoutSeconds: 10
613621
periodSeconds: 5
@@ -617,6 +625,8 @@ livenessProbe:
617625
# When restoring Neo4j from a backup it's important that startup probe gives time for Neo4j to recover and/or upgrade store files
618626
# When using Neo4j clusters it's important that startup probe give the Neo4j cluster time to form
619627
startupProbe:
628+
tcpSocket:
629+
port: 7687
620630
failureThreshold: 1000
621631
periodSeconds: 5
622632

0 commit comments

Comments
 (0)