The YAML file below is a template you can use to deploy Redmine on a Kubernetes cluster running on ARM.
Note you will have to define your own hostname (the template uses redmine.internal.local), and you will have to define your own backend storage settings (the template uses emptyDir for all occurrences).
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: redmine-pg
labels:
app: redmine-pg
spec:
replicas: 1
selector:
matchLabels:
app: redmine-pg
strategy:
type: "Recreate"
template:
metadata:
labels:
app: redmine-pg
spec:
containers:
- name: postgresql
image: arm32v5/postgres
env:
- name: POSTGRESS_PASSWORD
value: redmine
ports:
- containerPort: 5432
name: postgresql
resources:
limits:
memory: "128Mi"
requests:
memory: "64Mi"
securityContext:
runAsUser: 1
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
volumes:
- name: data
emptyDir: {}
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: redmine-ui
labels:
app: redmine-ui
spec:
replicas: 1
selector:
matchLabels:
app: redmine-ui
template:
metadata:
labels:
app: redmine-ui
spec:
containers:
- name: redmine
image: arm32v5/redmine
env:
- name: REDMINE_DB_POSTGRES
value: redmine-pg
- name: REDMINE_DB_USERNAME
value: redmine
- name: REDMINE_DB_PASSWORD
value: redmine
- name: REDMINE_DB_DATABASE
value: redmine
ports:
- containerPort: 3000
name: http
resources:
limits:
memory: "256Mi"
requests:
memory: "128Mi"
volumeMounts:
- name: files
mountPath: /usr/src/redmine/files
- name: themes
mountPath: /usr/src/redmine/public/themes
volumes:
- name: files
emptyDir: {}
- name: themes
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: redmine-ui
labels:
app: redmine-ui
spec:
ports:
- port: 3000
name: http
selector:
app: redmine-ui
sessionAffinity: "ClientIP"
---
apiVersion: v1
kind: Service
metadata:
name: redmine-pg
labels:
app: redmine-pg
spec:
ports:
- port: 5432
name: postgresql
selector:
app: redmine-pg
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: redmine-ingress
namespace: default
spec:
rules:
- host: redmine.internal.local
http:
paths:
- path: /
backend:
serviceName: redmine-ui
servicePort: 3000
Posted January 4th, 2018