2025-03-22 19:39:45 +08:00

81 lines
2.2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: $JAVA_MODEL
name: $JAVA_MODEL
namespace: $DOCKERHUB_NAMESPACE #一定要写名称空间 由jenkinsfile通过sed命令替换
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
app: $JAVA_MODEL
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: $JAVA_MODEL
spec:
imagePullSecrets:
- name: $DOCKER_CREDENTIAL_ID #提前在k8s的DevOps项目下配置访问镜像服务的账号密码
containers:
- image: $REGISTRY/$DOCKERHUB_NAMESPACE/$DOCKERHUB_NAMESPACE:$JAVA_MODEL-$SNAPSHOT-v$BUILD_NUMBER #$开头的都将在cicd中通过sed指令替换
readinessProbe:
httpGet:
path: /actuator/health
port: $SERVER_PORT
timeoutSeconds: 30
failureThreshold: 30
periodSeconds: 20
imagePullPolicy: Always
name: app
ports:
- containerPort: $SERVER_PORT
protocol: TCP
resources:
requests: #资源请求的设置
memory: 1024Mi #内存清楚,容器启动的初始可用数量
limits:
memory: 1024Mi
volumeMounts:
- mountPath: /home/heyu/logs
name: api-logs
- name: host-time
readOnly: true
mountPath: /etc/localtime
terminationMessagePath: /nfs/data/heyu/api/logs
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
volumes:
- name: api-logs
hostPath:
path: /nfs/data/heyu/api/logs
- name: host-time
hostPath:
path: /etc/localtime
---
apiVersion: v1
kind: Service
metadata:
labels:
app: $JAVA_MODEL
name: $JAVA_MODEL
namespace: $DOCKERHUB_NAMESPACE
spec:
ports:
- name: http
port: $SERVER_PORT
protocol: TCP
targetPort: $SERVER_PORT
selector:
app: $JAVA_MODEL
sessionAffinity: None
type: ClusterIP