Files
weiyu/deploy/k8s/bytedesk-deployment.yaml
jack ning 6450a16572 update
2025-08-04 12:03:32 +08:00

154 lines
4.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
apiVersion: apps/v1
kind: Deployment
metadata:
name: bytedesk
namespace: bytedesk
labels:
app: bytedesk
spec:
replicas: 1
selector:
matchLabels:
app: bytedesk
template:
metadata:
labels:
app: bytedesk
spec:
containers:
- name: bytedesk
image: registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk:latest
ports:
- containerPort: 9003
name: http
- containerPort: 9885
name: websocket
envFrom:
- configMapRef:
name: bytedesk-config
env:
# 敏感信息配置(从 Secret 获取)
- name: BYTEDESK_JWT_SECRET_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: jwt-secret-key
- name: SPRING_DATASOURCE_USERNAME
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: mysql-username
- name: SPRING_DATASOURCE_PASSWORD
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: mysql-root-password
- name: SPRING_DATA_REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: redis-password
- name: SPRING_ELASTICSEARCH_USERNAME
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: elasticsearch-username
- name: SPRING_ELASTICSEARCH_PASSWORD
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: elasticsearch-password
- name: SPRING_ARTEMIS_USER
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: artemis-username
- name: SPRING_ARTEMIS_PASSWORD
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: artemis-password
- name: BYTEDESK_MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: minio-root-user
- name: BYTEDESK_MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: minio-root-password
# AI API Keys从 Secret 获取)
- name: SPRING_AI_ZHIPUAI_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: zhipuai-api-key
- name: SPRING_AI_DEEPSEEK_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: deepseek-api-key
- name: SPRING_AI_OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: openai-api-key
- name: SPRING_AI_DASHSCOPE_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: dashscope-api-key
- name: SPRING_AI_SILICONFLOW_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: siliconflow-api-key
- name: SPRING_AI_GITEE_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: gitee-api-key
- name: SPRING_AI_TENCENT_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: tencent-api-key
- name: SPRING_AI_BAIDU_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: baidu-api-key
- name: SPRING_AI_VOLCENGINE_API_KEY
valueFrom:
secretKeyRef:
name: bytedesk-secrets
key: volcengine-api-key
volumeMounts:
- name: uploads-data
mountPath: /app/uploads
resources:
requests:
memory: "2Gi"
cpu: "1000m"
limits:
memory: "4Gi"
cpu: "2000m"
livenessProbe:
httpGet:
path: /actuator/health
port: 9003
initialDelaySeconds: 60
periodSeconds: 30
readinessProbe:
httpGet:
path: /actuator/health
port: 9003
initialDelaySeconds: 30
periodSeconds: 10
volumes:
- name: uploads-data
persistentVolumeClaim:
claimName: uploads-pvc