Files
2026-07-09 19:29:46 +08:00

366 lines
8.7 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: redis-config
data:
redis.conf: |
port 6379
replicaof no one
daemonize no
appendonly yes
dir /data
timeout 300
maxclients 10000
tcp-keepalive 60
save ""
tcp-backlog 511
replica-read-only no
maxmemory 2gb
maxmemory-policy noeviction
databases 16
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-slower-than 10000
slowlog-max-len 128
---
apiVersion: v1
kind: ConfigMap
metadata:
name: pgvector-init
data:
02-init-pgvector.sql: |
\c agent_governance
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE DATABASE easyai_memory;
GRANT ALL PRIVILEGES ON DATABASE easyai_memory TO easyai;
\c easyai_memory
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongo
labels:
app.kubernetes.io/name: mongo
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: mongo
template:
metadata:
labels:
app.kubernetes.io/name: mongo
spec:
containers:
- name: mongo
image: registry.cn-shanghai.aliyuncs.com/comfy-ai/mongo-aliyun:latest
imagePullPolicy: IfNotPresent
args:
- mongod
- --wiredTigerCacheSizeGB
- "1.5"
ports:
- name: mongo
containerPort: 27017
env:
- name: MONGO_INITDB_ROOT_USERNAME
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: MONGO_INITDB_ROOT_USERNAME
- name: MONGO_INITDB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: MONGO_INITDB_ROOT_PASSWORD
volumeMounts:
- name: data
mountPath: /data/db
readinessProbe:
tcpSocket:
port: mongo
initialDelaySeconds: 20
periodSeconds: 10
startupProbe:
tcpSocket:
port: mongo
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 60
livenessProbe:
tcpSocket:
port: mongo
initialDelaySeconds: 60
periodSeconds: 30
resources:
requests:
cpu: 250m
memory: 1Gi
limits:
cpu: "1"
memory: 2500Mi
volumes:
- name: data
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
app.kubernetes.io/name: mongo
spec:
selector:
app.kubernetes.io/name: mongo
ports:
- name: mongo
port: 27017
targetPort: mongo
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
labels:
app.kubernetes.io/name: redis
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: redis
template:
metadata:
labels:
app.kubernetes.io/name: redis
spec:
containers:
- name: redis
image: registry.cn-shanghai.aliyuncs.com/comfy-ai/redis-aliyun:latest
imagePullPolicy: IfNotPresent
command:
- redis-server
- /etc/redis/redis.conf
ports:
- name: redis
containerPort: 6379
volumeMounts:
- name: config
mountPath: /etc/redis/redis.conf
subPath: redis.conf
readOnly: true
- name: data
mountPath: /data
readinessProbe:
tcpSocket:
port: redis
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: redis
initialDelaySeconds: 30
periodSeconds: 30
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: "1"
memory: 2Gi
volumes:
- name: config
configMap:
name: redis-config
- name: data
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: redis
labels:
app.kubernetes.io/name: redis
spec:
selector:
app.kubernetes.io/name: redis
ports:
- name: redis
port: 6379
targetPort: redis
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq
labels:
app.kubernetes.io/name: rabbitmq
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: rabbitmq
template:
metadata:
labels:
app.kubernetes.io/name: rabbitmq
spec:
containers:
- name: rabbitmq
image: registry.cn-shanghai.aliyuncs.com/easyaigc/mq:latest
imagePullPolicy: IfNotPresent
ports:
- name: amqp
containerPort: 5672
- name: management
containerPort: 15672
env:
- name: RABBITMQ_DEFAULT_USER
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: CONFIG_MQ_USER
- name: RABBITMQ_DEFAULT_PASS
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: CONFIG_MQ_PASSWORD
volumeMounts:
- name: data
mountPath: /var/lib/rabbitmq
readinessProbe:
tcpSocket:
port: amqp
initialDelaySeconds: 20
periodSeconds: 10
livenessProbe:
tcpSocket:
port: amqp
initialDelaySeconds: 60
periodSeconds: 30
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: "1"
memory: 1Gi
volumes:
- name: data
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: rabbitmq
labels:
app.kubernetes.io/name: rabbitmq
spec:
selector:
app.kubernetes.io/name: rabbitmq
ports:
- name: amqp
port: 5672
targetPort: amqp
- name: management
port: 15672
targetPort: management
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: easyai-pgvector
labels:
app.kubernetes.io/name: easyai-pgvector
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: easyai-pgvector
template:
metadata:
labels:
app.kubernetes.io/name: easyai-pgvector
spec:
containers:
- name: postgres
image: registry.cn-shanghai.aliyuncs.com/easyaigc/pgvector:0.8.2-pg18-trixie
imagePullPolicy: IfNotPresent
ports:
- name: postgres
containerPort: 5432
env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: ASG_POSTGRES_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: ASG_POSTGRES_PASSWORD
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: easyai-app-secret
key: ASG_POSTGRES_DB
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
- name: init
mountPath: /docker-entrypoint-initdb.d/02-init-pgvector.sql
subPath: 02-init-pgvector.sql
readOnly: true
readinessProbe:
exec:
command:
- /bin/sh
- -c
- pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB"
initialDelaySeconds: 15
periodSeconds: 10
livenessProbe:
exec:
command:
- /bin/sh
- -c
- pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB"
initialDelaySeconds: 60
periodSeconds: 30
resources:
requests:
cpu: 250m
memory: 512Mi
limits:
cpu: "1"
memory: 1Gi
volumes:
- name: data
emptyDir: {}
- name: init
configMap:
name: pgvector-init
---
apiVersion: v1
kind: Service
metadata:
name: easyai-pgvector
labels:
app.kubernetes.io/name: easyai-pgvector
spec:
selector:
app.kubernetes.io/name: easyai-pgvector
ports:
- name: postgres
port: 5432
targetPort: postgres