[stable/neo4j] Added resources to replica deployment and HPA. (#16306)

* Added resources to replica deployment and HPA.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>

* HPA not mandatory.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>

* Bump version.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>

* Add docs.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>

* Added standard labels.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>

* Add nodeSelector, tolerations and affinity.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>

* Fix.

Signed-off-by: Tomas Voslar <t.voslar@gmail.com>
This commit is contained in:
Tomáš Voslař
2019-08-19 02:15:29 -07:00
committed by Kubernetes Prow Robot
parent 55a99e804e
commit a92a59f831
6 changed files with 77 additions and 1 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
apiVersion: v1
name: neo4j
home: https://www.neo4j.com
version: 1.1.0
version: 1.2.0
appVersion: 3.4.5
description: Neo4j is the world's leading graph database
icon: http://info.neo4j.com/rs/773-GON-065/images/neo4j_logo.png
+4
View File
@@ -73,6 +73,10 @@ their default values.
| `core.persistentVolume.subPath` | Subdirectory of the volume to mount | `nil` |
| `core.persistentVolume.annotations` | Persistent Volume Claim annotations | `{}` |
| `readReplica.numberOfServers` | Number of machines in READ_REPLICA mode | `0` |
| `readReplica.autoscaling.enabled` | Enable horizontal pod autoscaler | `false` |
| `readReplica.autoscaling.targetAverageUtilization` | Target CPU utilization | `70` |
| `readReplica.autoscaling.minReplicas` | Min replicas for autoscaling | `1` |
| `readReplica.autoscaling.maxReplicas` | Max replicas for autoscaling | `3` |
| `readReplica.initContainers` | Init containers to add to the replica pod. Example use case is a script that installs the APOC library | `{}` |
| `resources` | Resources required (e.g. CPU, memory) | `{}` |
| `clusterDomain` | Cluster domain | `cluster.local` |
@@ -101,6 +101,18 @@ spec:
{{- end }}
- name: plugins
emptyDir: {}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 6 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 6 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 6 }}
{{- end }}
{{- if .Values.core.persistentVolume.enabled }}
volumeClaimTemplates:
- metadata:
@@ -66,12 +66,26 @@ spec:
volumeMounts:
- name: plugins
mountPath: /plugins
resources:
{{ toYaml .Values.readReplica.resources | indent 10 }}
{{- if .Values.core.sidecarContainers }}
{{ toYaml .Values.core.sidecarContainers | indent 6 }}
{{- end }}
{{- if .Values.readReplica.initContainers }}
initContainers:
{{ toYaml .Values.readReplica.initContainers | indent 6 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 6 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 6 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 6 }}
{{- end }}
volumes:
- name: plugins
@@ -0,0 +1,21 @@
{{- if .Values.readReplica.autoscaling.enabled }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ template "neo4j.name" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ template "neo4j.name" . }}
minReplicas: {{ .Values.readReplica.autoscaling.minReplicas }}
maxReplicas: {{ .Values.readReplica.autoscaling.maxReplicas }}
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.readReplica.autoscaling.targetAverageUtilization }}
{{- end }}
+25
View File
@@ -15,6 +15,18 @@ podDisruptionBudget: {}
# minAvailable: 2
# maxUnavailable: 1
## Node labels for pod assignment
## ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {}
## Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []
## Affinity for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# Use password authentication
authEnabled: true
@@ -89,6 +101,19 @@ core:
# Read Replicas
readReplica:
resources: {}
# limits:
# cpu: 100m
# memory: 512Mi
# requests:
# cpu: 100m
# memory: 512Mi
autoscaling:
enabled: false
targetAverageUtilization: 70
minReplicas: 1
maxReplicas: 3
numberOfServers: 0
## Pass extra environment variables to the Neo4j container.
##