Files
jenkins-pipeline/k8s_yaml/test/test-flymoon-payment.yaml
2025-10-30 11:20:06 +08:00

92 lines
2.7 KiB
YAML
Raw 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: test-flymoon-payment-deployment
namespace: test-lessie
labels:
app: test-flymoon-payment
environment: test
project: flymoon
spec:
replicas: 1
selector:
matchLabels:
app: test-flymoon-payment
environment: test
project: flymoon
strategy:
type: RollingUpdate # 滚动更新策略
rollingUpdate:
maxSurge: 1 # 最大新增副本数
maxUnavailable: 0 # 最大不可用副本数
template:
metadata:
labels:
app: test-flymoon-payment
environment: test
project: flymoon
spec:
imagePullSecrets:
- name: dxin-image-repository # 镜像仓库凭证Secret
volumes:
- name: flymoon-payment-logs-volume
hostPath:
path: /data/logs/flymoon-payment/
type: DirectoryOrCreate
containers:
- name: test-flymoon-payment # 容器名称
image: uswccr.ccs.tencentyun.com/lessietest/flymoon-payment:v0.0.1 # 容器镜像
imagePullPolicy: IfNotPresent # 镜像拉取策略 ,有则不拉
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: SPRING_PROFILES_ACTIVE
value: "s1"
ports:
- containerPort: 8090 # 容器暴露的端口
resources:
requests:
cpu: "100m" # 容器请求分配0.1个CPU核心这不是实际占用但调度会以这里进行参考
memory: "1Gi" # 容器请求分配1Gi内存这会实际预留
limits:
cpu: "1" # 最多可以使用1个CPU核心
memory: "3Gi" # 容器最多可以使用3Gi内存
volumeMounts:
- name: flymoon-payment-logs-volume
mountPath: /app/logs/
subPathExpr: flymoon-payment-log-$(POD_NAME)
---
# ----------------------------
# Service
# 集群内部http://test-flymoon-payment-svc.test-lessie.svc.cluster.local:8090
# 集群外部http://<Node-IP>:30809
# ----------------------------
apiVersion: v1
kind: Service
metadata:
name: test-flymoon-payment-svc
namespace: test-lessie
labels:
app: test-flymoon-payment
environment: test
project: flymoon
spec:
type: NodePort
selector: # 必须匹配 Deployment 的 labels 才能关联 Pod
app: test-flymoon-payment
environment: test
project: flymoon
ports:
- name: http
port: 8090 # ClusterIP 内部端口
targetPort: 8090 # 容器端口
nodePort: 30809 # 节点对外端口(30000-32767)