Browse Source

update k8s

master
dengbiao 2 months ago
parent
commit
1df208b53d
2 changed files with 94 additions and 33 deletions
  1. +74
    -33
      k8s/container_prd.yaml
  2. +20
    -0
      k8s/ingress_prd.yaml

+ 74
- 33
k8s/container_prd.yaml View File

@@ -1,49 +1,90 @@
apiVersion: apps/v1
kind: Deployment
apiVersion: apps/v1
# 元数据
metadata:
namespace: zhios
name: zhios-mall
name: advertisement
namespace: advertisement
labels:
app: zhios-mall
app: advertisement
annotations:
kubesphere.io/creator: dengbiao
kubesphere.io/description: advertisement
# deployment主要部分
spec:
replicas: 1
selector:
matchLabels:
# 名称与上面的labels对应
app: advertisement
template:
metadata:
name: zhios-mall
labels:
app: zhios-mall
# 名称与上面的matchLabels对应
app: advertisement
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:
# 用于时区校正
- name: host-time
hostPath:
path: /etc/localtime
type: ''
- name: mall-cfg
# 将前面创建的configMap也挂载进来
- name: advertisement-cfg
configMap:
name: zhios-mall-cfg
# 这里的名字就是前面创建的configMap的名字
name: advertisement-cfg
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

+ 20
- 0
k8s/ingress_prd.yaml View File

@@ -0,0 +1,20 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
kubesphere.io/creator: dengbiao
name: advertisement
namespace: advertisement
spec:
rules:
- host: '*.adcms.zhiyingos.cn'
http:
paths:
- backend:
service:
name: advertisement
port:
number: 80
path: /
pathType: ImplementationSpecific

Loading…
Cancel
Save