dengbiao 2 недель назад
Родитель
Сommit
1e73d8c383
1 измененных файлов: 60 добавлений и 222 удалений
  1. +60
    -222
      k8s/container.yaml

+ 60
- 222
k8s/container.yaml Просмотреть файл

@@ -1,222 +1,60 @@

limit_req_zone $binary_remote_addr zone=mylimit:20m rate=5r/s;
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
#将DNS指向kubernetes集群内的DNS
resolver kube-dns.kube-system.svc.cluster.local valid=30s;
set $oss_endpoint_service zhios-oss.zhios.svc.cluster.local:5000;
set $mall_service zhios-mall.zhios.svc.cluster.local:5002;
set $domain_server zhios-request-domain.zhios.svc.cluster.local:4040;
set $agent_endpoint_service zhios-app-comm.zhios.svc.cluster.local:5003;
set $o2ob_endpoint_service zhios-app-o2o.zhios.svc.cluster.local:5004;
set $adset_callback_endpoint_service app-comm-adset-callback.zhios.svc.cluster.local:5505;
set $b2c_customer_service zyos-b2c-customer.zhios.svc.cluster.local:5009;
set $chat_gpt_service chat-gpt.zhios.svc.cluster.local:5200;
set $live_broadcast_video_service zyos-live-broadcast-video.zhios.svc.cluster.local:5010;
set $o2oc_endpoint_service zhios-app-o2o-customer.zhios.svc.cluster.local:5005;
set $endpoint_service zhios-app.zhios.svc.cluster.local:5000;
set $community_team_service community-team.zhios.svc.cluster.local:6001;
set $super_cloud_issuance_service super-cloud-issuance.zhios.svc.cluster.local:3001;
location /api/v1/chatGpt {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$chat_gpt_service;
proxy_http_version 1.1;
proxy_set_header Origin "";
proxy_set_header Host $host;
proxy_set_header X-Real-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
break;
}
location /api/v1/communityTeam {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$community_team_service;
proxy_http_version 1.1;
proxy_set_header Origin "";
proxy_set_header Host $host;
proxy_set_header X-Real-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
break;
}
location /api/v1/superCloudIssuance {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$super_cloud_issuance_service;
proxy_http_version 1.1;
proxy_set_header Origin "";
proxy_set_header Host $host;
proxy_set_header X-Real-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
break;
}
location = / {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$endpoint_service;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header Platform "wap";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /getDomain {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$domain_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /static {
limit_req zone=mylimit burst=5 nodelay;
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api/v1/mall {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$mall_service;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /api/v1/comm/adset {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$adset_callback_endpoint_service;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /api/v2/comm {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$agent_endpoint_service;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /api/v1/comm {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$agent_endpoint_service;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
# o2o c端
location /api/v1/o2oc {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$o2oc_endpoint_service;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
# o2o商家端
location /api/v1/o2o {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$o2ob_endpoint_service;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
# 多用户商城c端
location /api/v1/b2cc {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$b2c_customer_service;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /api/v1/live_room {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$endpoint_service;
#istio下http协议必须大于等于1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /api/v1/live {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$live_broadcast_video_service;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /api/qiniu {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$oss_endpoint_service;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
#proxy server
location /api {
limit_req zone=mylimit burst=5 nodelay;
proxy_pass http://$endpoint_service;
#istio下http协议必须大于等于1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
}
kind: Deployment
apiVersion: apps/v1
# 元数据
metadata:
name: egg-app
namespace: egg
labels:
app: egg-app
annotations:
kubesphere.io/creator: dengbiao
kubesphere.io/description: egg-app
# deployment主要部分
spec:
replicas: 1
selector:
matchLabels:
# 名称与上面的labels对应
app: egg-app
template:
metadata:
labels:
# 名称与上面的matchLabels对应
app: egg-app
spec:
# 声明挂载卷(将外部已存在的pvc、config等挂载进来)
volumes:
# 用于时区校正
- name: host-time
hostPath:
path: /etc/localtime
type: ''
# 将前面创建的configMap也挂载进来
- name: egg-app-cfg
configMap:
# 这里的名字就是前面创建的configMap的名字
name: egg-app-cfg
defaultMode: 420
containers:
# 主容器
- name: egg-app-container
# 镜像地址(提前打包好并推送的镜像仓库)
image: 'registry.cn-shenzhen.aliyuncs.com/fnuoos-prd/egg-app:0.0.1'
ports:
- name: egg-app-4011
# 容器端口号(注意与golang web server启动的端口一致)
containerPort: 4011
protocol: TCP
# 将前面volume声明的需要用到的pvc、config挂载上来
volumeMounts:
- name: host-time
readOnly: true
mountPath: /etc/localtime
- name: egg-app-cfg # 该名字对应前面volumes声明的名字
readOnly: true
# 挂载到容器的哪个路径
mountPath: /var/egg
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst

Загрузка…
Отмена
Сохранить