Files
own-tools/deploy/k8s.yaml
T
2026-02-25 19:21:50 -08:00

92 lines
1.8 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: toolbox
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: own-tools
namespace: toolbox
spec:
replicas: 1
selector:
matchLabels:
app: own-tools
template:
metadata:
labels:
app: own-tools
spec:
containers:
- name: toolbox
image: git.pengzhan.dev/haopengzhan/own-tools:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
env:
- name: PORT
value: "8080"
- name: GIN_MODE
value: "release"
- name: GA_ID
value: "G-Z6ZY535DDJ"
resources:
limits:
cpu: "500m"
memory: "512Mi"
requests:
cpu: "100m"
memory: "256Mi"
livenessProbe:
httpGet:
path: /api/tools
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /api/tools
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: own-tools-service
namespace: toolbox
spec:
selector:
app: own-tools
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: own-tools-ingress
namespace: toolbox
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: traefik
rules:
- host: toolbox.pengzhan.dev
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: own-tools-service
port:
number: 80
tls:
- hosts:
- toolbox.pengzhan.dev
secretName: own-tools-tls-secret