home-app/deploy.yaml

98 lines
2.1 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: home-app
namespace: dn42
labels:
app: home-app
dn42: "yes"
spec:
replicas: 5
selector:
matchLabels:
app: home-app
template:
metadata:
labels:
app: home-app
spec:
# affinity:
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: edge/region
# operator: In
# values:
# - eu
containers:
- name: "home-app"
image: "registry.186526.xyz/home-app:latest"
imagePullPolicy: Always
resources:
limits:
memory: 64Mi
cpu: 250m
ports:
- name: web
containerPort: 80
protocol: TCP
env:
- name: REGION
valueFrom:
fieldRef:
fieldPath: spec.nodeName
---
apiVersion: v1
kind: Service
metadata:
name: "home-app"
namespace: dn42
spec:
type: ClusterIP
ports:
- port: 80
name: web
selector:
app: "home-app"
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: "home-app-ingress"
namespace: dn42
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.middlewares: edge-network-middleware@file,compress@file
kubernetes.io/ingress.class: traefik
cert-manager.io/cluster-issuer: dn42-acme
spec:
tls:
- secretName: home-app-cert
hosts:
- home-app.186526.dn42
- home.186526.dn42
rules:
- host: home-app.186526.dn42
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "home-app"
port:
number: 80
- host: home.186526.dn42
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "home-app"
port:
number: 80