+
This commit is contained in:
125
k8s_yaml/s1/s1-lessie-agents.yaml
Normal file
125
k8s_yaml/s1/s1-lessie-agents.yaml
Normal file
@@ -0,0 +1,125 @@
|
||||
# ----------------------------
|
||||
# Deployment
|
||||
# ----------------------------
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: s1-lessie-agents-deployment
|
||||
namespace: sit
|
||||
labels:
|
||||
app: s1-lessie-agents
|
||||
environment: s1
|
||||
project: lessie
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: s1-lessie-agents
|
||||
environment: s1
|
||||
project: lessie
|
||||
strategy:
|
||||
type: RollingUpdate # 滚动更新策略
|
||||
rollingUpdate:
|
||||
maxSurge: 1 # 最大新增副本数(先加)
|
||||
maxUnavailable: 0 # 最大不可用副本数(不减)
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: s1-lessie-agents
|
||||
environment: s1
|
||||
project: lessie
|
||||
spec:
|
||||
imagePullSecrets:
|
||||
- name: dxin-image-repository # 镜像仓库凭证Secret
|
||||
volumes:
|
||||
- name: aws-credentials-volume # aws-credentials 卷文件
|
||||
configMap:
|
||||
name: aws-credentials
|
||||
- name: google-credentials-volume
|
||||
configMap:
|
||||
name: google-credentials
|
||||
- name: lessie-logs-volume
|
||||
hostPath:
|
||||
path: /data/logs/lessie-agents/
|
||||
type: DirectoryOrCreate
|
||||
containers:
|
||||
- name: s1-lessie-agents # 容器名称
|
||||
image: uswccr.ccs.tencentyun.com/lessiesit/lessie-sourcing-agents:v0.0.2 # 容器镜像
|
||||
imagePullPolicy: Always # 镜像拉取策略拉
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: APP_ENV
|
||||
value: "s1"
|
||||
- name: APP_PORT
|
||||
value: "8000"
|
||||
- name: GUNICORN_WORKERS
|
||||
value: "2"
|
||||
- name: MAX_REQUESTS
|
||||
value: "200"
|
||||
- name: MAX_REQUESTS_JITTER
|
||||
value: "50"
|
||||
ports:
|
||||
- containerPort: 8000 # 容器暴露的端口
|
||||
resources:
|
||||
requests:
|
||||
cpu: "0.5" # 容器请求分配0.5个CPU核心(这不是实际占用,但调度会以这里进行参考)
|
||||
memory: "2Gi" # 容器请求分配1Gi内存(这会实际预留)
|
||||
limits:
|
||||
cpu: "2" # 最多可以使用2个CPU核心
|
||||
memory: "10Gi" # 容器最多可以使用10Gi内存
|
||||
volumeMounts:
|
||||
- name: aws-credentials-volume
|
||||
mountPath: /root/.aws/
|
||||
- name: google-credentials-volume
|
||||
mountPath: /root/.google/
|
||||
- name: lessie-logs-volume
|
||||
mountPath: /data/webapps/lessie_sourcing_agents/logs/
|
||||
subPathExpr: lessie-agents-$(POD_NAME)
|
||||
readinessProbe: # 就绪探针,用于判断容器是否已准备好接收流量
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8000
|
||||
initialDelaySeconds: 20 # 就绪探测在容器启动后等待多少秒才开始第一次探测(避免应用启动未完成即被判为不就绪)
|
||||
periodSeconds: 10 # 就绪探测的间隔秒数,每隔多少秒执行一次探测
|
||||
timeoutSeconds: 5 # 单次就绪探测的超时时间(秒),超过则该次探测视为失败
|
||||
failureThreshold: 3 # 连续失败多少次后认为就绪探测失败(Pod 不再被视为就绪)
|
||||
livenessProbe: # 存活探针,用于判断容器是否仍然健康,失败会触发重启
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8000
|
||||
initialDelaySeconds: 10 # 存活探测在容器启动后等待多少秒才开始第一次探测
|
||||
periodSeconds: 30 # 存活探测的间隔秒数
|
||||
timeoutSeconds: 5 # 单次存活探测的超时时间(秒)
|
||||
failureThreshold: 3 # 连续失败多少次后认为容器不健康并触发重启
|
||||
|
||||
---
|
||||
# ----------------------------
|
||||
# Service
|
||||
# 集群内部:http://s1-lessie-agents-svc.sit.svc.cluster.local:8000
|
||||
|
||||
# curl -v -X POST http://xxxxxxx:8000/api/chat/stream -H "Content-Type: application/json" -d '{"message": "hello"}'
|
||||
# ----------------------------
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: s1-lessie-agents-svc
|
||||
namespace: sit
|
||||
labels:
|
||||
app: s1-lessie-agents
|
||||
environment: s1
|
||||
project: lessie
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector: # 必须匹配 Deployment 的 labels 才能关联 Pod
|
||||
app: s1-lessie-agents
|
||||
environment: s1
|
||||
project: lessie
|
||||
ports:
|
||||
- name: http
|
||||
port: 8000 # ClusterIP 内部端口
|
||||
targetPort: 8000 # 容器端口
|
||||
|
||||
Reference in New Issue
Block a user