Files
crmdesk/deploy/k8s/bytedesk-deployment.yaml
2026-09-19 16:35:35 +08:00

154 lines
4.4 KiB
YAML

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