2025-11-07 11:25:23 +08:00
|
|
|
|
# ----------------------------
|
|
|
|
|
|
# Deployment
|
|
|
|
|
|
# ----------------------------
|
|
|
|
|
|
apiVersion: apps/v1
|
|
|
|
|
|
kind: Deployment
|
|
|
|
|
|
metadata:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
name: s1-flymoon-agent-deployment
|
|
|
|
|
|
namespace: sit
|
2025-11-07 11:25:23 +08:00
|
|
|
|
labels:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
app: s1-flymoon-agent
|
|
|
|
|
|
environment: s1
|
2025-11-07 11:25:23 +08:00
|
|
|
|
project: flymoon
|
|
|
|
|
|
spec:
|
|
|
|
|
|
replicas: 1
|
|
|
|
|
|
selector:
|
|
|
|
|
|
matchLabels:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
app: s1-flymoon-agent
|
|
|
|
|
|
environment: s1
|
2025-11-07 11:25:23 +08:00
|
|
|
|
project: flymoon
|
|
|
|
|
|
strategy:
|
|
|
|
|
|
type: RollingUpdate # 滚动更新策略
|
|
|
|
|
|
rollingUpdate:
|
|
|
|
|
|
maxSurge: 1 # 最大新增副本数
|
|
|
|
|
|
maxUnavailable: 0 # 最大不可用副本数
|
|
|
|
|
|
template:
|
|
|
|
|
|
metadata:
|
|
|
|
|
|
labels:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
app: s1-flymoon-agent
|
|
|
|
|
|
environment: s1
|
2025-11-07 11:25:23 +08:00
|
|
|
|
project: flymoon
|
|
|
|
|
|
spec:
|
|
|
|
|
|
imagePullSecrets:
|
|
|
|
|
|
- name: dxin-image-repository # 镜像仓库凭证Secret
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
- name: flymoon-agent-logs-volume
|
|
|
|
|
|
hostPath:
|
|
|
|
|
|
path: /data/logs/flymoon-agent/
|
|
|
|
|
|
type: DirectoryOrCreate
|
|
|
|
|
|
containers:
|
2025-11-20 14:51:44 +08:00
|
|
|
|
- name: flymoon-agent # 容器名称
|
2025-11-13 11:59:04 +08:00
|
|
|
|
image: uswccr.ccs.tencentyun.com/lessiesit/flymoon-agent:v0.0.5 # 容器镜像
|
2025-11-07 11:25:23 +08:00
|
|
|
|
imagePullPolicy: Always # 镜像拉取策略,拉
|
|
|
|
|
|
env:
|
|
|
|
|
|
- name: POD_NAME
|
|
|
|
|
|
valueFrom:
|
|
|
|
|
|
fieldRef:
|
|
|
|
|
|
fieldPath: metadata.name
|
|
|
|
|
|
- name: SPRING_PROFILES_ACTIVE
|
|
|
|
|
|
value: "s1"
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- containerPort: 8070 # 容器暴露的端口
|
|
|
|
|
|
resources:
|
|
|
|
|
|
requests:
|
|
|
|
|
|
cpu: "100m" # 容器请求分配0.1个CPU核心(这不是实际占用,但调度会以这里进行参考)
|
|
|
|
|
|
memory: "1Gi" # 容器请求分配1Gi内存(这会实际预留)
|
|
|
|
|
|
limits:
|
|
|
|
|
|
cpu: "1" # 最多可以使用1个CPU核心
|
2025-11-13 11:59:04 +08:00
|
|
|
|
memory: "4Gi" # 容器最多可以使用3Gi内存
|
2025-11-07 11:25:23 +08:00
|
|
|
|
volumeMounts:
|
|
|
|
|
|
- name: flymoon-agent-logs-volume
|
|
|
|
|
|
mountPath: /app/logs/
|
|
|
|
|
|
subPathExpr: flymoon-agent-log-$(POD_NAME)
|
2025-11-13 11:59:04 +08:00
|
|
|
|
readinessProbe: # 就绪探针,用于判断容器是否已准备好接收流量
|
|
|
|
|
|
httpGet:
|
|
|
|
|
|
path: /sit-api/health
|
|
|
|
|
|
port: 8070
|
|
|
|
|
|
initialDelaySeconds: 20 # 就绪探测在容器启动后等待多少秒才开始第一次探测(避免应用启动未完成即被判为不就绪)
|
|
|
|
|
|
periodSeconds: 10 # 就绪探测的间隔秒数,每隔多少秒执行一次探测
|
|
|
|
|
|
timeoutSeconds: 5 # 单次就绪探测的超时时间(秒),超过则该次探测视为失败
|
|
|
|
|
|
failureThreshold: 3 # 连续失败多少次后认为就绪探测失败(Pod 不再被视为就绪)
|
|
|
|
|
|
livenessProbe: # 存活探针,用于判断容器是否仍然健康,失败会触发重启
|
|
|
|
|
|
httpGet:
|
|
|
|
|
|
path: /sit-api/health
|
|
|
|
|
|
port: 8070
|
|
|
|
|
|
initialDelaySeconds: 10 # 存活探测在容器启动后等待多少秒才开始第一次探测
|
|
|
|
|
|
periodSeconds: 30 # 存活探测的间隔秒数
|
|
|
|
|
|
timeoutSeconds: 5 # 单次存活探测的超时时间(秒)
|
|
|
|
|
|
failureThreshold: 3 # 连续失败多少次后认为容器不健康并触发重启
|
|
|
|
|
|
|
2025-11-07 11:25:23 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
# ----------------------------
|
|
|
|
|
|
# Service
|
2025-11-13 11:59:04 +08:00
|
|
|
|
# 集群内部:http://s1-flymoon-agent-svc.sit.svc.cluster.local:8070
|
2025-11-07 11:25:23 +08:00
|
|
|
|
# ----------------------------
|
|
|
|
|
|
|
|
|
|
|
|
apiVersion: v1
|
|
|
|
|
|
kind: Service
|
|
|
|
|
|
metadata:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
name: s1-flymoon-agent-svc
|
|
|
|
|
|
namespace: sit
|
2025-11-07 11:25:23 +08:00
|
|
|
|
labels:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
app: s1-flymoon-agent
|
|
|
|
|
|
environment: s1
|
2025-11-07 11:25:23 +08:00
|
|
|
|
project: flymoon
|
|
|
|
|
|
spec:
|
2025-11-13 11:59:04 +08:00
|
|
|
|
type: ClusterIP
|
2025-11-07 11:25:23 +08:00
|
|
|
|
selector: # 必须匹配 Deployment 的 labels 才能关联 Pod
|
2025-11-13 11:59:04 +08:00
|
|
|
|
app: s1-flymoon-agent
|
|
|
|
|
|
environment: s1
|
2025-11-07 11:25:23 +08:00
|
|
|
|
project: flymoon
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- name: http
|
|
|
|
|
|
port: 8070 # ClusterIP 内部端口
|
|
|
|
|
|
targetPort: 8070 # 容器端口
|
|
|
|
|
|
|