kubernetes: libreoffice-online helm chart improvements

* switch monitoring path to REST endpoint for admin metrics
 * update service type to ClusterIP from NodePort
 * adding environment variables for deployment customization
 * switch /tmp folder mapping from memory to disk

Change-Id: I78dab256343c20bf84060bb4fbae203d4769be35
Reviewed-on: https://gerrit.libreoffice.org/85217
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
This commit is contained in:
Eduard Ardeleanu
2019-12-16 15:04:03 +02:00
committed by Michael Meeks
parent d0fee8c6ad
commit 599919abd0
4 changed files with 32 additions and 20 deletions

View File

@ -1,11 +1,20 @@
# OnlineOffice Helm-Charts
# LibreOffice Online Helm Chart
# Available Charts
Chart for deploying LibreOffice Online in Kubernetes cluster.</br>
How to test:
1. Install Kubernetes cluster locally - minikube - https://minikube.sigs.k8s.io/docs/start/linux/
2. Install helm - needed version >= 3.0.0 - https://helm.sh/docs/intro/install/
3. Update libreoffice-online/values.yaml with your required settings for environmentVariablesLool
username/password/domain settings
4. Install helm-chart using below command
## LibreOffice-Online
Chart for deploying C++ application [LibreOffice Online] in Kubernetes cluster.</br>
To install the chart a command similar to the one above needs to be issued.</br>
```
.. cd helm-charts
helm install --namespace=${your desired namespace} --generate-name libreoffice-online
```
Access LibreOffice Online locally through service ClusterIP and port 9980.
```
kubectl -n ${your desired namespace} describe service libreoffice-online
```

View File

@ -27,7 +27,6 @@ spec:
app: {{ template "name" . }}
release: {{ .Release.Name }}
version: "{{ .Values.global.app.version }}"
exposed: "true"
annotations:
{{- if .Values.global.app.monitoring.activate }}
prometheus.io/scrape: "true"
@ -43,9 +42,6 @@ spec:
- containerPort: {{ .Values.global.app.service.internalPort }}
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: true
#Lool user id
runAsUser: 101
{{- if .Values.probes.liveness.activate }}
livenessProbe:
httpGet:
@ -85,5 +81,4 @@ spec:
{{- end }}
volumes:
- name: tmp
emptyDir:
medium: "Memory"
emptyDir: {}

View File

@ -8,7 +8,6 @@ metadata:
release: {{ .Release.Name }}
spec:
type: {{ .Values.global.app.service.type }}
externalTrafficPolicy: Local
ports:
- port: {{ .Values.global.app.service.externalPort }}
targetPort: {{ .Values.global.app.service.internalPort }}

View File

@ -4,6 +4,7 @@
global:
app:
name: libreoffice-online
version: 6.5.0
urlScheme: HTTP # either HTTP or HTTPS
scaling:
enabled: true
@ -11,14 +12,14 @@ global:
max: 10
target:
cpu: 70
memory: 70
memory: 70
monitoring:
activate: false
port: 9980
path: "/lool/adminMonitorInfo"
path: "/lool/getMetrics"
service:
name: libreoffice-online
type: NodePort
type: ClusterIP
externalPort: 9980
internalPort: 9980
ingress: {}
@ -35,7 +36,7 @@ probes:
readiness:
activate: true
path: /
initialDelaySeconds: 60
initialDelaySeconds: 180
periodSeconds: 10
timeoutSeconds: 30
successThreshold: 1
@ -43,7 +44,7 @@ probes:
liveness:
activate: true
path: /
initialDelaySeconds: 60
initialDelaySeconds: 180
periodSeconds: 10
timeoutSeconds: 30
successThreshold: 1
@ -53,10 +54,18 @@ deployment:
name: libreoffice-online
type: RollingUpdate
minReadySeconds: 0
maxUnavailable: 1
maxUnavailable: 0
maxSurge: 1
environmentVariablesLool: {}
environmentVariablesLool:
- name: extra_params
value: --o:ssl.enable=false
- name: username
value:
- name: password
value:
- name: domain
value:
service:
name: libreoffice-online