|
@@ -1,49 +1,90 @@ |
|
|
apiVersion: apps/v1 |
|
|
|
|
|
kind: Deployment |
|
|
kind: Deployment |
|
|
|
|
|
apiVersion: apps/v1 |
|
|
|
|
|
# 元数据 |
|
|
metadata: |
|
|
metadata: |
|
|
namespace: zhios |
|
|
|
|
|
name: zhios-mall |
|
|
|
|
|
|
|
|
name: advertisement |
|
|
|
|
|
namespace: advertisement |
|
|
labels: |
|
|
labels: |
|
|
app: zhios-mall |
|
|
|
|
|
|
|
|
app: advertisement |
|
|
|
|
|
annotations: |
|
|
|
|
|
kubesphere.io/creator: dengbiao |
|
|
|
|
|
kubesphere.io/description: advertisement |
|
|
|
|
|
# deployment主要部分 |
|
|
spec: |
|
|
spec: |
|
|
replicas: 1 |
|
|
replicas: 1 |
|
|
|
|
|
selector: |
|
|
|
|
|
matchLabels: |
|
|
|
|
|
# 名称与上面的labels对应 |
|
|
|
|
|
app: advertisement |
|
|
template: |
|
|
template: |
|
|
metadata: |
|
|
metadata: |
|
|
name: zhios-mall |
|
|
|
|
|
labels: |
|
|
labels: |
|
|
app: zhios-mall |
|
|
|
|
|
|
|
|
# 名称与上面的matchLabels对应 |
|
|
|
|
|
app: advertisement |
|
|
spec: |
|
|
spec: |
|
|
containers: |
|
|
|
|
|
- name: zhios-mall-container |
|
|
|
|
|
image: registry-vpc.cn-shenzhen.aliyuncs.com/fnuoos-prd/zyos-mall:0.1 |
|
|
|
|
|
ports: |
|
|
|
|
|
- containerPort: 5002 |
|
|
|
|
|
name: 5002tcp |
|
|
|
|
|
protocol: TCP |
|
|
|
|
|
resources: |
|
|
|
|
|
limits: |
|
|
|
|
|
cpu: "1" |
|
|
|
|
|
memory: 256Mi |
|
|
|
|
|
requests: |
|
|
|
|
|
cpu: 200m |
|
|
|
|
|
memory: 128Mi |
|
|
|
|
|
imagePullPolicy: IfNotPresent |
|
|
|
|
|
restartPolicy: Always |
|
|
|
|
|
|
|
|
# 声明挂载卷(将外部已存在的pvc、config等挂载进来) |
|
|
volumes: |
|
|
volumes: |
|
|
|
|
|
# 用于时区校正 |
|
|
- name: host-time |
|
|
- name: host-time |
|
|
hostPath: |
|
|
hostPath: |
|
|
path: /etc/localtime |
|
|
path: /etc/localtime |
|
|
type: '' |
|
|
type: '' |
|
|
- name: mall-cfg |
|
|
|
|
|
|
|
|
# 将前面创建的configMap也挂载进来 |
|
|
|
|
|
- name: advertisement-cfg |
|
|
configMap: |
|
|
configMap: |
|
|
name: zhios-mall-cfg |
|
|
|
|
|
|
|
|
# 这里的名字就是前面创建的configMap的名字 |
|
|
|
|
|
name: advertisement-cfg |
|
|
defaultMode: 420 |
|
|
defaultMode: 420 |
|
|
selector: |
|
|
|
|
|
matchLabels: |
|
|
|
|
|
app: zhios-mall |
|
|
|
|
|
|
|
|
|
|
|
strategy: |
|
|
|
|
|
type: RollingUpdate |
|
|
|
|
|
rollingUpdate: |
|
|
|
|
|
maxUnavailable: 25% |
|
|
|
|
|
maxSurge: 25% |
|
|
|
|
|
|
|
|
# pvc |
|
|
|
|
|
- name: advertisement-pvc # 在该部署中的名称,后面使用改名称挂载 |
|
|
|
|
|
persistentVolumeClaim: |
|
|
|
|
|
claimName: advertisement-pvc # pvc的名称 |
|
|
|
|
|
# Nginx配置 |
|
|
|
|
|
- name: advertisement-nginx |
|
|
|
|
|
configMap: |
|
|
|
|
|
name: advertisement-nginx # 外部configMap的名称 |
|
|
|
|
|
items: |
|
|
|
|
|
- key: go.conf |
|
|
|
|
|
path: default.conf |
|
|
|
|
|
containers: |
|
|
|
|
|
# 主容器 |
|
|
|
|
|
- name: advertisement-container |
|
|
|
|
|
# 镜像地址(提前打包好并推送的镜像仓库) |
|
|
|
|
|
image: 'registry.cn-shenzhen.aliyuncs.com/fnuoos-prd/advertisement:0.0.1' |
|
|
|
|
|
ports: |
|
|
|
|
|
- name: ad-1002 |
|
|
|
|
|
# 容器端口号(注意与golang web server启动的端口一致) |
|
|
|
|
|
containerPort: 1002 |
|
|
|
|
|
protocol: TCP |
|
|
|
|
|
# 将前面volume声明的需要用到的pvc、config挂载上来 |
|
|
|
|
|
volumeMounts: |
|
|
|
|
|
- name: host-time |
|
|
|
|
|
readOnly: true |
|
|
|
|
|
mountPath: /etc/localtime |
|
|
|
|
|
- name: advertisement-cfg # 该名字对应前面volumes声明的名字 |
|
|
|
|
|
readOnly: true |
|
|
|
|
|
# 挂载到容器的哪个路径 |
|
|
|
|
|
mountPath: /var/zyos |
|
|
|
|
|
imagePullPolicy: Always |
|
|
|
|
|
# Nginx 容器 |
|
|
|
|
|
- name: nginx |
|
|
|
|
|
image: 'registry.cn-shenzhen.aliyuncs.com/fnuoos-prd/nginx:latest' |
|
|
|
|
|
ports: |
|
|
|
|
|
- name: http-80 |
|
|
|
|
|
containerPort: 80 |
|
|
|
|
|
protocol: TCP |
|
|
|
|
|
volumeMounts: |
|
|
|
|
|
# 时区校正 |
|
|
|
|
|
- name: host-time |
|
|
|
|
|
readOnly: true |
|
|
|
|
|
mountPath: /etc/localtime |
|
|
|
|
|
# 存储卷 用于存放前端代码 |
|
|
|
|
|
- name: advertisement-pvc # 前面volumes声明的名称 |
|
|
|
|
|
mountPath: /usr/share/nginx/html |
|
|
|
|
|
- name: advertisement-nginx # Nginx 配置 |
|
|
|
|
|
readOnly: true |
|
|
|
|
|
mountPath: /etc/nginx/conf.d/default.conf |
|
|
|
|
|
subPath: default.conf |
|
|
|
|
|
restartPolicy: Always |
|
|
|
|
|
terminationGracePeriodSeconds: 30 |
|
|
|
|
|
dnsPolicy: ClusterFirst |