Upload docker image to GHCR & deploy to kubernetes cluster

This commit is contained in:
2024-03-03 18:10:46 +01:00
parent 71e053297e
commit 6d2550f2f3
8 changed files with 202 additions and 19 deletions

View File

@@ -0,0 +1,7 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: planet
labels:
name: planet

View File

@@ -0,0 +1,41 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: planet-frontend
name: planet-frontend
namespace: planet
spec:
progressDeadlineSeconds: 600
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
app: planet-frontend
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: planet-frontend
spec:
containers:
- image: ${IMAGE}
imagePullPolicy: Always
name: planet-frontend
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullSecrets:
- name: ghcr-login-secret
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30

19
.kubernetes/ingress.yml Normal file
View File

@@ -0,0 +1,19 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: planet-frontend-ingress
namespace: planet
spec:
ingressClassName: traefik
rules:
- host: planet.kazan.schleppe.cloud
http:
paths:
- backend:
service:
name: planet-frontend-service
port:
number: 80
path: /
pathType: Prefix

18
.kubernetes/service.yml Normal file
View File

@@ -0,0 +1,18 @@
---
apiVersion: v1
kind: Service
metadata:
labels:
app: planet-frontend
name: planet-frontend-service
namespace: planet
spec:
selector:
app: planet-frontend
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 3000
sessionAffinity: None