Files
easyai-deploy/k8s/base/easyai-asg.yaml
T
2026-07-09 19:29:46 +08:00

93 lines
2.2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: easyai-asg
labels:
app.kubernetes.io/name: easyai-asg
spec:
replicas: 2
revisionHistoryLimit: 3
selector:
matchLabels:
app.kubernetes.io/name: easyai-asg
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
app.kubernetes.io/name: easyai-asg
spec:
serviceAccountName: easyai-workload
terminationGracePeriodSeconds: 45
containers:
- name: easyai-asg
image: registry.cn-shanghai.aliyuncs.com/easyaigc/agent-governance:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 3003
- name: tcp
containerPort: 4003
envFrom:
- configMapRef:
name: easyai-app-config
- secretRef:
name: easyai-app-secret
env:
- name: ASG_TCP_HOST
value: 0.0.0.0
- name: ASG_TCP_PORT
value: "4003"
- name: ASG_MAIN_BACKEND_URL
value: http://easyai-server:3001
volumeMounts:
- name: pm2
mountPath: /app/.pm2
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 3
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: "1"
memory: 512Mi
volumes:
- name: pm2
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: easyai-asg
labels:
app.kubernetes.io/name: easyai-asg
spec:
type: ClusterIP
selector:
app.kubernetes.io/name: easyai-asg
ports:
- name: http
port: 3003
targetPort: http
- name: tcp
port: 4003
targetPort: tcp