Feat: add k8s(kustomize) support

This commit is contained in:
2025-04-18 23:18:31 +08:00
parent 13ad4d7439
commit d39349724a
9 changed files with 165 additions and 0 deletions

30
k8s/deploy.backend.yaml Normal file
View File

@@ -0,0 +1,30 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cnd2025-backend
labels:
app: cnd2025-backend
spec:
replicas: 1
selector:
matchLabels:
app: cnd2025-backend
template:
metadata:
labels:
app: cnd2025-backend
spec:
containers:
- name: backend
image: gitea.konchin.com/ytshih/cnd2025-hw3/backend:latest
ports:
- name: http
containerPort: 8888
env:
- name: PORT
value: '8888'
- name: HOST
value: '0.0.0.0'
- name: MONGO_CONNECTION_STRING
value: 'mongodb://cnd2025-mongo.cnd2025.svc.cluster.local:27017/todo'

23
k8s/deploy.frontend.yaml Normal file
View File

@@ -0,0 +1,23 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cnd2025-frontend
labels:
app: cnd2025-frontend
spec:
replicas: 1
selector:
matchLabels:
app: cnd2025-frontend
template:
metadata:
labels:
app: cnd2025-frontend
spec:
containers:
- name: frontend
image: gitea.konchin.com/ytshih/cnd2025-hw3/frontend:latest
ports:
- name: http
containerPort: 80

23
k8s/deploy.mongo.yaml Normal file
View File

@@ -0,0 +1,23 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cnd2025-mongo
labels:
app: cnd2025-mongo
spec:
replicas: 1
selector:
matchLabels:
app: cnd2025-mongo
template:
metadata:
labels:
app: cnd2025-mongo
spec:
containers:
- name: mongo
image: docker.io/library/mongo:8.0
ports:
- name: mongo
containerPort: 27017

24
k8s/ingress.yaml Normal file
View File

@@ -0,0 +1,24 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: cnd2025
name: cnd2025
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: cnd2025-frontend
port:
number: 80
- path: /api
pathType: Prefix
backend:
service:
name: cnd2025-backend
port:
number: 80

15
k8s/kustomization.yaml Normal file
View File

@@ -0,0 +1,15 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: cnd2025
generatorOptions:
disableNameSuffixHash: true
resources:
- namespace.yaml
- deploy.frontend.yaml
- deploy.backend.yaml
- deploy.mongo.yaml
- svc.frontend.yaml
- svc.backend.yaml
- svc.mongo.yaml
- ingress.yaml

5
k8s/namespace.yaml Normal file
View File

@@ -0,0 +1,5 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: cnd2025

15
k8s/svc.backend.yaml Normal file
View File

@@ -0,0 +1,15 @@
---
apiVersion: v1
kind: Service
metadata:
name: cnd2025-backend
labels:
app: cnd2025-backend
spec:
type: ClusterIP
selector:
app: cnd2025-backend
ports:
- name: http
port: 80
targetPort: 8888

15
k8s/svc.frontend.yaml Normal file
View File

@@ -0,0 +1,15 @@
---
apiVersion: v1
kind: Service
metadata:
name: cnd2025-frontend
labels:
app: cnd2025-frontend
spec:
type: ClusterIP
selector:
app: cnd2025-frontend
ports:
- name: http
port: 80
targetPort: 80

15
k8s/svc.mongo.yaml Normal file
View File

@@ -0,0 +1,15 @@
---
apiVersion: v1
kind: Service
metadata:
name: cnd2025-mongo
labels:
app: cnd2025-mongo
spec:
type: ClusterIP
selector:
app: cnd2025-mongo
ports:
- name: mongo
port: 27017
targetPort: 27017