蛋蛋星球 后台端
 
 
 
 

90 行
2.9 KiB

  1. kind: Deployment
  2. apiVersion: apps/v1
  3. # 元数据
  4. metadata:
  5. name: egg-admin
  6. namespace: egg
  7. labels:
  8. app: egg-admin
  9. annotations:
  10. kubesphere.io/creator: dengbiao
  11. kubesphere.io/description: egg-admin
  12. # deployment主要部分
  13. spec:
  14. replicas: 1
  15. selector:
  16. matchLabels:
  17. # 名称与上面的labels对应
  18. app: egg-admin
  19. template:
  20. metadata:
  21. labels:
  22. # 名称与上面的matchLabels对应
  23. app: egg-admin
  24. spec:
  25. # 声明挂载卷(将外部已存在的pvc、config等挂载进来)
  26. volumes:
  27. # 用于时区校正
  28. - name: host-time
  29. hostPath:
  30. path: /etc/localtime
  31. type: ''
  32. # 将前面创建的configMap也挂载进来
  33. - name: egg-admin-cfg
  34. configMap:
  35. # 这里的名字就是前面创建的configMap的名字
  36. name: egg-admin-cfg
  37. defaultMode: 420
  38. # pvc
  39. - name: egg-admin # 在该部署中的名称,后面使用改名称挂载
  40. persistentVolumeClaim:
  41. claimName: egg-admin # pvc的名称
  42. # Nginx配置
  43. - name: egg-admin-nginx
  44. configMap:
  45. name: egg-admin-nginx # 外部configMap的名称
  46. items:
  47. - key: go.conf
  48. path: default.conf
  49. containers:
  50. # 主容器
  51. - name: egg-admin-container
  52. # 镜像地址(提前打包好并推送的镜像仓库)
  53. image: 'registry.cn-shenzhen.aliyuncs.com/fnuoos-prd/egg-admin:0.0.1'
  54. ports:
  55. - name: egg-admin-4010
  56. # 容器端口号(注意与golang web server启动的端口一致)
  57. containerPort: 4010
  58. protocol: TCP
  59. # 将前面volume声明的需要用到的pvc、config挂载上来
  60. volumeMounts:
  61. - name: host-time
  62. readOnly: true
  63. mountPath: /etc/localtime
  64. - name: egg-admin-cfg # 该名字对应前面volumes声明的名字
  65. readOnly: true
  66. # 挂载到容器的哪个路径
  67. mountPath: /var/egg
  68. imagePullPolicy: Always
  69. # Nginx 容器
  70. - name: nginx
  71. image: 'registry.cn-shenzhen.aliyuncs.com/fnuoos-prd/nginx:latest'
  72. ports:
  73. - name: http-80
  74. containerPort: 80
  75. protocol: TCP
  76. volumeMounts:
  77. # 时区校正
  78. - name: host-time
  79. readOnly: true
  80. mountPath: /etc/localtime
  81. # 存储卷 用于存放前端代码
  82. - name: egg-admin # 前面volumes声明的名称
  83. mountPath: /usr/share/nginx/html
  84. - name: egg-admin-nginx # Nginx 配置
  85. readOnly: true
  86. mountPath: /etc/nginx/conf.d/default.conf
  87. subPath: default.conf
  88. restartPolicy: Always
  89. terminationGracePeriodSeconds: 30
  90. dnsPolicy: ClusterFirst