Files
2026-09-17 17:07:33 +08:00

68 lines
1.6 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata: {name: demo-api, namespace: devops}
spec:
replicas: 1
selector: {matchLabels: {app: demo-api}}
template:
metadata: {labels: {app: demo-api}}
spec:
containers:
- name: demo-api
image: harbor.otone.run/otone/demo-api:__TAG__
ports: [{containerPort: 8080}]
resources: {requests: {memory: 128Mi}, limits: {memory: 512Mi}}
---
apiVersion: v1
kind: Service
metadata: {name: demo-api, namespace: devops}
spec:
selector: {app: demo-api}
ports: [{port: 8080, targetPort: 8080}]
---
apiVersion: apps/v1
kind: Deployment
metadata: {name: demo-web, namespace: devops}
spec:
replicas: 1
selector: {matchLabels: {app: demo-web}}
template:
metadata: {labels: {app: demo-web}}
spec:
containers:
- name: demo-web
image: harbor.otone.run/otone/demo-web:__TAG__
ports: [{containerPort: 80}]
resources: {requests: {memory: 64Mi}, limits: {memory: 256Mi}}
---
apiVersion: v1
kind: Service
metadata: {name: demo-web, namespace: devops}
spec:
selector: {app: demo-web}
ports: [{port: 80, targetPort: 80}]
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: demo
namespace: devops
spec:
ingressClassName: traefik
rules:
- host: demo.otone.run
http:
paths:
- path: /
pathType: Prefix
backend: {service: {name: demo-web, port: {number: 80}}}
- host: demo-api.otone.run
http:
paths:
- path: /
pathType: Prefix
backend: {service: {name: demo-api, port: {number: 8080}}}
tls:
- hosts: [demo.otone.run, demo-api.otone.run]
secretName: otone-tls