Files
cube/apps/webgl/k8s/all.yaml
T

93 lines
2.0 KiB
YAML
Raw Normal View History

apiVersion: v1
kind: Namespace
metadata:
name: cube-webgl
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: webgl
namespace: cube-webgl
labels:
app: webgl
spec:
replicas: 1
selector:
matchLabels:
app: webgl
template:
metadata:
labels:
app: webgl
spec:
imagePullSecrets:
- name: registry-creds
containers:
- name: webgl
image: registry.famzheng.me/mochi/webgl:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
name: http
# secret `llm-credentials`(含 LLM_API_TOKEN)由 kubectl 手工创建,
# 不进 git。值跟 cube portal 的 chat-credentials 同一个 gemma token。
envFrom:
- secretRef:
name: llm-credentials
env:
- name: LLM_GATEWAY
value: "http://3.135.65.204:8848/v1"
- name: LLM_MODEL
value: "gemma-4-31b-it"
readinessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 1
periodSeconds: 5
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 5
periodSeconds: 15
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 200m
memory: 64Mi
---
apiVersion: v1
kind: Service
metadata:
name: webgl
namespace: cube-webgl
spec:
selector:
app: webgl
ports:
- name: http
port: 80
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: webgl
namespace: cube-webgl
spec:
ingressClassName: traefik
rules:
- host: webgl.famzheng.me
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: webgl
port:
number: 80