Files
jenkins-pipeline/k8s_yaml/s1/s1-flymoon-admin.yaml
2025-11-23 09:19:02 +08:00

114 lines
4.3 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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