Use this yaml to deploy in K3S kubernetes flavor on ARM64:
apiVersion: v1
kind: Namespace
metadata:
name: gaia
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gaia-mongo
namespace: gaia
spec:
replicas: 1
selector:
matchLabels:
app: gaia-mongo
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: gaia-mongo
spec:
containers:
- image: mongo:latest
imagePullPolicy: IfNotPresent
name: gaia-mongo
ports:
- containerPort: 27017
protocol: TCP
resources: {}
securityContext: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
metadata:
name: gaia-mongo
namespace: gaia
spec:
ports:
- name: database
port: 27017
protocol: TCP
targetPort: 27017
selector:
app: gaia-mongo
status:
loadBalancer: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gaia-runner
namespace: gaia
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: gaia-runner
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: gaia-runner
spec:
containers:
- env:
- name: GAIA_RUNNER_EXECUTOR
value: k8s
- name: GAIA_RUNNER_API_PASSWORD
value: "1234"
- name: GAIA_URL
value: http://gaia:80
#image: gaiaapp/runner ### for X86_64
image: balantj/gaia-runner:arm64 ### for arm64
imagePullPolicy: IfNotPresent
name: gaia-runner
ports:
- containerPort: 80
name: gaia-runner
protocol: TCP
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gaia-app
namespace: gaia
spec:
selector:
matchLabels:
app: gaia-app
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: gaia-app
spec:
containers:
- env:
- name: GAIA_MONGODB_URI
value: mongodb://gaia-mongo:27017/gaia
- name: GAIA_RUNNER_API_PASSWORD
value: "1234"
- name: LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_DATA_MONGODB
value: WARN
- name: GAIA_EXTERNAL_URL
value: http://gaia:80
#image: gaiaapp/gaia ### for X86_64
image: balantj/gaia-app:arm64 ### for arm64
imagePullPolicy: IfNotPresent
name: gaia-app
ports:
- containerPort: 8080
name: gaia-app
protocol: TCP
resources: {}
securityContext: {}
restartPolicy: Always
securityContext: {}
status: {}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: gaia-app
name: gaia-app
namespace: gaia
spec:
ports:
- name: gaia-app
port: 80
protocol: TCP
targetPort: 8080
selector:
app: gaia-app
status:
loadBalancer: {}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gaia-ingress
namespace: gaia
annotations:
#kubernetes.io/ingress.class: "traefik"
cert-manager.io/cluster-issuer: self-signed-issuer
traefik.ingress.kubernetes.io/router.tls: "true"
status:
loadBalancer:
ingress:
- ip: 192.168.223.95
spec:
ingressClassName: traefik
tls:
- hosts:
- gaia.example.local
secretName: gaia-tls
rules:
- host: gaia.example.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: gaia-app
port:
number: 80
Content type
Image
Digest
sha256:17fa77c31…
Size
124.8 MB
Last updated
over 3 years ago
docker pull balantj/gaia-runner:arm64