mirror of
https://gitee.com/youlaitech/youlai-mall.git
synced 2025-01-05 18:42:22 +08:00
106 lines
3.1 KiB
YAML
106 lines
3.1 KiB
YAML
|
#apiVersion: v1
|
|||
|
#kind: PersistentVolumeClaim
|
|||
|
#metadata:
|
|||
|
# namespace: youlai-mall
|
|||
|
# name: ${module_name_suffix}-pvc0
|
|||
|
# labels: {}
|
|||
|
#spec:
|
|||
|
# accessModes:
|
|||
|
# - ReadWriteOnce
|
|||
|
# resources:
|
|||
|
# requests:
|
|||
|
# storage: 1Gi # k8s限制,只能扩容,对于pvc,只能扩容,不能缩容,且配置sc.yaml时需要指定allowVolumeExpansion: true #增加该字段表示允许动态扩容
|
|||
|
# storageClassName: nfs-storage
|
|||
|
#
|
|||
|
#---
|
|||
|
apiVersion: apps/v1
|
|||
|
kind: Deployment
|
|||
|
metadata:
|
|||
|
labels:
|
|||
|
app: ${module_name_suffix}
|
|||
|
name: ${module_name_suffix}-deployment
|
|||
|
namespace: ${k8s_namespace} #一定要写名称空间
|
|||
|
spec:
|
|||
|
progressDeadlineSeconds: 600
|
|||
|
replicas: 1
|
|||
|
selector:
|
|||
|
matchLabels:
|
|||
|
app: ${module_name_suffix}
|
|||
|
strategy: # 更新策略
|
|||
|
rollingUpdate:
|
|||
|
maxSurge: 50%
|
|||
|
maxUnavailable: 50%
|
|||
|
type: RollingUpdate
|
|||
|
template:
|
|||
|
metadata:
|
|||
|
labels:
|
|||
|
app: ${module_name_suffix}
|
|||
|
spec:
|
|||
|
volumes: # 挂载卷
|
|||
|
- name: host-time # 挂载主机上的时区
|
|||
|
hostPath:
|
|||
|
path: /etc/localtime
|
|||
|
type: ''
|
|||
|
# - name: volume-${module_name_suffix} # 挂载日志
|
|||
|
# persistentVolumeClaim:
|
|||
|
# claimName: ${module_name_suffix}-pvc0
|
|||
|
imagePullSecrets:
|
|||
|
- name: ${docker_hub_id} #提前在项目下配置访问阿里云或harbor的账号密码
|
|||
|
containers:
|
|||
|
- image: $remote_tag
|
|||
|
imagePullPolicy: Always
|
|||
|
name: ${module_name_suffix}
|
|||
|
ports:
|
|||
|
- name: http-${service_port}
|
|||
|
containerPort: ${service_port}
|
|||
|
protocol: TCP
|
|||
|
env:
|
|||
|
- name: SPRING_PROFILES_ACTIVE
|
|||
|
value: k8s
|
|||
|
resources: # 资源限制
|
|||
|
limits:
|
|||
|
cpu: 250m
|
|||
|
memory: 512Mi
|
|||
|
terminationMessagePath: /dev/termination-log
|
|||
|
terminationMessagePolicy: File
|
|||
|
volumeMounts:
|
|||
|
- name: host-time
|
|||
|
readOnly: true
|
|||
|
mountPath: /etc/localtime
|
|||
|
# - name: volume-${module_name_suffix}
|
|||
|
# mountPath: /logs
|
|||
|
|
|||
|
dnsPolicy: ClusterFirst
|
|||
|
restartPolicy: Always
|
|||
|
terminationGracePeriodSeconds: 30
|
|||
|
affinity: # 节点亲合性,这下面表达的意思是,尽量散到不同的机器上
|
|||
|
podAntiAffinity:
|
|||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|||
|
- weight: 100
|
|||
|
podAffinityTerm:
|
|||
|
labelSelector:
|
|||
|
matchLabels:
|
|||
|
app: ${module_name_suffix}
|
|||
|
topologyKey: kubernetes.io/hostname
|
|||
|
revisionHistoryLimit: 2 #deploy 升级最大记录数由 revisionHistoryLimit 定义,默认值为 10
|
|||
|
---
|
|||
|
apiVersion: v1
|
|||
|
kind: Service
|
|||
|
metadata:
|
|||
|
labels:
|
|||
|
app: ${module_name_suffix}
|
|||
|
name: ${module_name_suffix}-svc
|
|||
|
namespace: ${k8s_namespace}
|
|||
|
spec:
|
|||
|
ports:
|
|||
|
- name: http
|
|||
|
port: ${service_port}
|
|||
|
protocol: TCP
|
|||
|
targetPort: ${service_port}
|
|||
|
nodePort: ${service_nodeport}
|
|||
|
selector:
|
|||
|
app: ${module_name_suffix}
|
|||
|
sessionAffinity: None
|
|||
|
type: NodePort
|
|||
|
|