deploy.yaml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. ---
  2. apiVersion: apps/v1
  3. kind: Deployment # 无状态部署
  4. metadata: # 资源元数据
  5. name: youlai-boot
  6. namespace: youlai-bootnfckx
  7. labels:
  8. app: youlai-boot
  9. spec: # 资源规约
  10. replicas: 1 # 告知 Deployment 运行 1 个与该模板匹配的 Pod (默认1)
  11. strategy:
  12. type: RollingUpdate # Recreate:停止所有原来启动新的,适用开发环境;RollingUpdate: 滚动升级,启动新的完成后才停止旧的,保证业务连贯性,如果新的版本发布错误则会保持老的版本
  13. rollingUpdate:
  14. maxSurge: 25% # 100个pod,可启动25个新的pod
  15. maxUnavailable: 25% # 100个pod,可关闭25旧的个pod
  16. selector: # 圈定Deployment管理的Pod范围
  17. matchLabels:
  18. app: youlai-boot # 必须匹配 spec.template.metadata.labels
  19. template:
  20. metadata:
  21. labels:
  22. app: youlai-boot #必须匹配 spec.selector.matchLabels
  23. spec:
  24. containers:
  25. - name: youlai-boot # 容器名称
  26. image: registry.cn-hangzhou.aliyuncs.com/youlaitech/youlai-boot:latest # 容器镜像地址 (常用镜像仓库:aliyun容器镜像服务/Docker Hub/Harbor企业级私有镜像)
  27. imagePullPolicy: Always # 镜像拉取策略(Always-总是拉取镜像(默认);IfNotPresent:本地有则不拉取镜像;Never:只使用本地镜像从不拉取)
  28. ports:
  29. - containerPort: 8989
  30. env:
  31. - name: spring.profiles.active
  32. value: prod
  33. - name: TZ
  34. value: Asia/Shanghai
  35. resources: # 资源管理
  36. limits:
  37. cpu: 256m # CPU 1核心 = 1000m
  38. memory: 512Mi # 内存 1G = 1000Mi
  39. volumeMounts: # 容器目录挂载配置
  40. - mountPath: /logs/youlai-boot # 容器要挂载的目录
  41. name: log-volume # 日志数据卷名称,和下文 volumes 配置的名称需一致
  42. volumes: # 数据卷
  43. - name: log-volume # 日志数据卷名称
  44. hostPath:
  45. path: /logs/youlai-boot # 宿主机目录
  46. type: DirectoryOrCreate # 目录不存在则创建
  47. ---
  48. apiVersion: v1
  49. kind: Service
  50. metadata:
  51. name: youlai-boot
  52. labels:
  53. app: youlai-boot
  54. namespace: youlai-bootnfckx
  55. spec:
  56. selector:
  57. app: youlai-boot
  58. ports:
  59. - name: http # 端口名称
  60. protocol: TCP # 协议类型
  61. port: 8989
  62. targetPort: 8989
  63. type: ClusterIP # Service类型:ClusterIP(默认)/NodePort/LoaderBalancer