From cf9865ef8813091a8331ee2a7220bd4e3da69222 Mon Sep 17 00:00:00 2001 From: william Date: Sat, 7 Jun 2025 21:41:28 +0800 Subject: [PATCH] 1 --- gp2503/patch/api-deployment_patch.yaml | 10 ++ gp2505/api2-service.yaml | 11 ++ gp2505/api2.yaml | 38 +++++ gp2505/download-api-deployment.yaml | 27 +++ gp2505/download-api-service.yaml | 11 ++ gp2505/download-deployment.yaml | 29 ++++ gp2505/download-service.yaml | 11 ++ gp2505/env/mysql.env | 6 + gp2505/env/redis.env | 3 + gp2505/env/storage.env | 6 + gp2505/ingress.yaml | 154 ++++++++++++++++++ gp2505/kustomization.yaml | 39 +++++ gp2505/market-endpoints.yaml | 9 + gp2505/market-service.yaml | 9 + gp2505/patch/admin-deployment_patch.yaml | 11 ++ gp2505/patch/agent-deployment_patch.yaml | 13 ++ gp2505/patch/api-deployment_patch.yaml | 37 +++++ gp2505/patch/h5-deployment_patch.yaml | 18 ++ gp2505/patch/market-deployment_patch.yaml | 21 +++ .../patch/redis-service-nodeport_patch.yaml | 12 ++ gp2505/patch/task-deployment_patch.yaml | 26 +++ 21 files changed, 501 insertions(+) create mode 100644 gp2505/api2-service.yaml create mode 100644 gp2505/api2.yaml create mode 100644 gp2505/download-api-deployment.yaml create mode 100644 gp2505/download-api-service.yaml create mode 100644 gp2505/download-deployment.yaml create mode 100644 gp2505/download-service.yaml create mode 100644 gp2505/env/mysql.env create mode 100644 gp2505/env/redis.env create mode 100644 gp2505/env/storage.env create mode 100644 gp2505/ingress.yaml create mode 100644 gp2505/kustomization.yaml create mode 100644 gp2505/market-endpoints.yaml create mode 100644 gp2505/market-service.yaml create mode 100644 gp2505/patch/admin-deployment_patch.yaml create mode 100644 gp2505/patch/agent-deployment_patch.yaml create mode 100644 gp2505/patch/api-deployment_patch.yaml create mode 100644 gp2505/patch/h5-deployment_patch.yaml create mode 100644 gp2505/patch/market-deployment_patch.yaml create mode 100644 gp2505/patch/redis-service-nodeport_patch.yaml create mode 100644 gp2505/patch/task-deployment_patch.yaml diff --git a/gp2503/patch/api-deployment_patch.yaml b/gp2503/patch/api-deployment_patch.yaml index e3e73d1..d38794e 100644 --- a/gp2503/patch/api-deployment_patch.yaml +++ b/gp2503/patch/api-deployment_patch.yaml @@ -6,6 +6,16 @@ spec: replicas: 3 template: spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - stock2-java-api + topologyKey: kubernetes.io/hostname containers: - name: stock2-java-api image: juyou.tencentcloudcr.com/juyoutech/stock2_java_api:main diff --git a/gp2505/api2-service.yaml b/gp2505/api2-service.yaml new file mode 100644 index 0000000..3761246 --- /dev/null +++ b/gp2505/api2-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: stock2-java-api2-service +spec: + ports: + - port: 80 + targetPort: 8080 + name: stock2-java-api2 + selector: + app: stock2-java-api2 \ No newline at end of file diff --git a/gp2505/api2.yaml b/gp2505/api2.yaml new file mode 100644 index 0000000..69e06cf --- /dev/null +++ b/gp2505/api2.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-java-api2 + labels: + app: stock2-java-api2 +spec: + replicas: 1 + selector: + matchLabels: + app: stock2-java-api2 + template: + metadata: + labels: + app: stock2-java-api2 + spec: + containers: + - name: stock2-java-api2 + image: juyou.tencentcloudcr.com/juyoutech/stock2_java_api:latest + imagePullPolicy: Always + env: + - name: MARKET_HOST + value: "http://stock2-java-market-service:31099" + - name: IS_SCHEDULED + value: "false" + - name: TZ + value: "Asia/Shanghai" + envFrom: + - configMapRef: + name: mysql-configmap + - configMapRef: + name: redis-configmap + - configMapRef: + name: storage-configmap + ports: + - containerPort: 8080 + imagePullSecrets: + - name: juyou-docker-tcr-secret \ No newline at end of file diff --git a/gp2505/download-api-deployment.yaml b/gp2505/download-api-deployment.yaml new file mode 100644 index 0000000..d907324 --- /dev/null +++ b/gp2505/download-api-deployment.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: download-api +spec: + replicas: 1 + selector: + matchLabels: + app: download-api + template: + metadata: + labels: + app: download-api + spec: + containers: + - name: download-api + image: juyou.tencentcloudcr.com/juyoutech/download_api:latest + imagePullPolicy: Always + envFrom: + - configMapRef: + name: mysql-configmap + - configMapRef: + name: storage-configmap + ports: + - containerPort: 3000 + imagePullSecrets: + - name: juyou-docker-tcr-secret \ No newline at end of file diff --git a/gp2505/download-api-service.yaml b/gp2505/download-api-service.yaml new file mode 100644 index 0000000..2b62b8e --- /dev/null +++ b/gp2505/download-api-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: download-api-service +spec: + ports: + - port: 80 + targetPort: 3000 + name: download-api + selector: + app: download-api \ No newline at end of file diff --git a/gp2505/download-deployment.yaml b/gp2505/download-deployment.yaml new file mode 100644 index 0000000..d125e94 --- /dev/null +++ b/gp2505/download-deployment.yaml @@ -0,0 +1,29 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: download-web-h5 +spec: + replicas: 1 + selector: + matchLabels: + app: download-web-h5 + template: + metadata: + labels: + app: download-web-h5 + spec: + containers: + - name: download-web-h5 + image: juyou.tencentcloudcr.com/juyoutech/download_web:latest + imagePullPolicy: Always + ports: + - containerPort: 80 + resources: + requests: + cpu: "0.125" + memory: "125Mi" + limits: + cpu: "0.25" + memory: "250Mi" + imagePullSecrets: + - name: juyou-docker-tcr-secret \ No newline at end of file diff --git a/gp2505/download-service.yaml b/gp2505/download-service.yaml new file mode 100644 index 0000000..bf8b1fd --- /dev/null +++ b/gp2505/download-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: download-web-h5-service +spec: + ports: + - port: 80 + targetPort: 80 + name: download-web-h5 + selector: + app: download-web-h5 \ No newline at end of file diff --git a/gp2505/env/mysql.env b/gp2505/env/mysql.env new file mode 100644 index 0000000..85aafe0 --- /dev/null +++ b/gp2505/env/mysql.env @@ -0,0 +1,6 @@ +MYSQL_HOST=lb-rn1fbq8c-agzvf2cjsbhykor5.clb.ap-guangzhou.tencentclb.com +MYSQL_PORT=52503 +MYSQL_USER=root +MYSQL_PASSWORD=RPTlH8ywgkQ21Zwtnk +MYSQL_DB=stock2-api +MARKET_MYSQL_DB=stock-market \ No newline at end of file diff --git a/gp2505/env/redis.env b/gp2505/env/redis.env new file mode 100644 index 0000000..876cffc --- /dev/null +++ b/gp2505/env/redis.env @@ -0,0 +1,3 @@ +REDIS_HOST=redis-service +REDIS_PORT=6379 +REDIS_PASSWORD=a5v8b86P4mVzFlUqJV \ No newline at end of file diff --git a/gp2505/env/storage.env b/gp2505/env/storage.env new file mode 100644 index 0000000..23ba7b4 --- /dev/null +++ b/gp2505/env/storage.env @@ -0,0 +1,6 @@ +CLOUD_ID=IKIDPhniOp11pOh6IFwQgiV5RatMo48yi8OR +CLOUD_KEY=tdAUZP2Scw52oOn360iEVZR9fy62mJfr +CLOUD_DOMAIN=cos.ap-guangzhou.myqcloud.com +CLOUD_APP_ID=1321231020 +CLOUD_BUCKET=g2505-1321231020 +CLOUD_REGION=ap-guangzhou \ No newline at end of file diff --git a/gp2505/ingress.yaml b/gp2505/ingress.yaml new file mode 100644 index 0000000..f548336 --- /dev/null +++ b/gp2505/ingress.yaml @@ -0,0 +1,154 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: gp-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/proxy-body-size: "10m" + nginx.ingress.kubernetes.io/use-forwarded-headers: "true" + nginx.ingress.kubernetes.io/auth-tls-secret: "gp2504/ca-secret" + nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" + nginx.ingress.kubernetes.io/auth-tls-verify-depth: "2" + nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream: "true" + nginx.ingress.kubernetes.io/ssl-redirect: "true" + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +# nginx.ingress.kubernetes.io/auth-type: "basic" +# nginx.ingress.kubernetes.io/auth-secret: "basic-auth" +# nginx.ingress.kubernetes.io/auth-realm: "Authentication Required" +spec: + tls: + - hosts: + - api-g2504.qq.com + - h5-g2504.qq.com + - down-g2504.qq.com + - admin-g2504.qq.com + - agent-g2504.qq.com + secretName: tls-secret + rules: + - host: api-g2504.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: stock2-java-api-service + port: + number: 80 + - path: /api/market + pathType: Prefix + backend: + service: + name: external-service + port: + number: 80 + - host: down-g2504.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: download-web-h5-service + port: + number: 80 + - path: /api + pathType: Prefix + backend: + service: + name: download-api-service + port: + number: 80 + - host: h5-g2504.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: stock2-web-h5-service + port: + number: 80 + - path: /api + pathType: Prefix + backend: + service: + name: stock2-java-api-service + port: + number: 80 + - path: /api/market + pathType: Prefix + backend: + service: + name: external-service + port: + number: 80 + - host: admin-g2504.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: stock2-web-admin-service + port: + number: 80 + - path: /admin + pathType: Prefix + backend: + service: + name: stock2-java-api2-service + port: + number: 80 + - path: /api + pathType: Prefix + backend: + service: + name: stock2-java-api2-service + port: + number: 80 + - path: /api/market + pathType: Prefix + backend: + service: + name: external-service + port: + number: 80 + - host: agent-g2504.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: stock2-web-agent-service + port: + number: 80 + - path: /api + pathType: Prefix + backend: + service: + name: stock2-java-api2-service + port: + number: 80 + - path: /admin + pathType: Prefix + backend: + service: + name: stock2-java-api2-service + port: + number: 80 + - path: /agent + pathType: Prefix + backend: + service: + name: stock2-java-api2-service + port: + number: 80 + - path: /api/market + pathType: Prefix + backend: + service: + name: external-service + port: + number: 80 \ No newline at end of file diff --git a/gp2505/kustomization.yaml b/gp2505/kustomization.yaml new file mode 100644 index 0000000..b8cb6c2 --- /dev/null +++ b/gp2505/kustomization.yaml @@ -0,0 +1,39 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: gp2504 + +resources: + - api2.yaml + - api2-service.yaml + - market-endpoints.yaml + - market-service.yaml + - download-deployment.yaml + - download-service.yaml + - download-api-deployment.yaml + - download-api-service.yaml + - ../base/projects/stock2 + - ../base/redis + - ../base/redis-nodeport + - ../base/tls + - ../base/basic-auth + - ingress.yaml + +configMapGenerator: + - name: mysql-configmap + envs: + - env/mysql.env + - name: redis-configmap + envs: + - env/redis.env + - name: storage-configmap + envs: + - env/storage.env + +patches: + - path: patch/api-deployment_patch.yaml + - path: patch/market-deployment_patch.yaml + - path: patch/task-deployment_patch.yaml + - path: patch/agent-deployment_patch.yaml + - path: patch/h5-deployment_patch.yaml + - path: patch/admin-deployment_patch.yaml + - path: patch/redis-service-nodeport_patch.yaml \ No newline at end of file diff --git a/gp2505/market-endpoints.yaml b/gp2505/market-endpoints.yaml new file mode 100644 index 0000000..6968c29 --- /dev/null +++ b/gp2505/market-endpoints.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Endpoints +metadata: + name: external-service +subsets: + - addresses: + - ip: 111.230.204.79 # 你的外部服务器 IP + ports: + - port: 8188 # 目标服务器端口 \ No newline at end of file diff --git a/gp2505/market-service.yaml b/gp2505/market-service.yaml new file mode 100644 index 0000000..347211e --- /dev/null +++ b/gp2505/market-service.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Service +metadata: + name: external-service +spec: + ports: + - protocol: TCP + port: 80 + targetPort: 8188 \ No newline at end of file diff --git a/gp2505/patch/admin-deployment_patch.yaml b/gp2505/patch/admin-deployment_patch.yaml new file mode 100644 index 0000000..4c9089e --- /dev/null +++ b/gp2505/patch/admin-deployment_patch.yaml @@ -0,0 +1,11 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-web-admin +spec: + template: + spec: + containers: + - name: stock2-web-admin + image: juyou.tencentcloudcr.com/juyoutech/stock2_web_admin:main + imagePullPolicy: Always \ No newline at end of file diff --git a/gp2505/patch/agent-deployment_patch.yaml b/gp2505/patch/agent-deployment_patch.yaml new file mode 100644 index 0000000..6b174f5 --- /dev/null +++ b/gp2505/patch/agent-deployment_patch.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-web-agent +spec: + template: + spec: + containers: + - name: stock2-web-agent + image: juyou.tencentcloudcr.com/juyoutech/stock2_web_agent:latest + imagePullPolicy: Always + ports: + - containerPort: 80 \ No newline at end of file diff --git a/gp2505/patch/api-deployment_patch.yaml b/gp2505/patch/api-deployment_patch.yaml new file mode 100644 index 0000000..e3e73d1 --- /dev/null +++ b/gp2505/patch/api-deployment_patch.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-java-api +spec: + replicas: 3 + template: + spec: + containers: + - name: stock2-java-api + image: juyou.tencentcloudcr.com/juyoutech/stock2_java_api:main + imagePullPolicy: Always + envFrom: + - configMapRef: + name: mysql-configmap + - configMapRef: + name: redis-configmap + - configMapRef: + name: storage-configmap + env: + - name: TZ + value: "Asia/Shanghai" + livenessProbe: + httpGet: + path: /api/service.do + port: 8080 + initialDelaySeconds: 60 + periodSeconds: 10 + timeoutSeconds: 3 + failureThreshold: 3 + # resources: + # requests: + # cpu: "0.5" + # memory: "4Gi" + # limits: + # cpu: "1" + # memory: "8Gi" \ No newline at end of file diff --git a/gp2505/patch/h5-deployment_patch.yaml b/gp2505/patch/h5-deployment_patch.yaml new file mode 100644 index 0000000..5b7769d --- /dev/null +++ b/gp2505/patch/h5-deployment_patch.yaml @@ -0,0 +1,18 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-web-h5 +spec: + replicas: 1 + selector: + matchLabels: + app: stock2-web-h5 + template: + metadata: + labels: + app: stock2-web-h5 + spec: + containers: + - name: stock2-web-h5 + image: juyou.tencentcloudcr.com/juyoutech/stock2_web_h5blue2805:latest + imagePullPolicy: Always \ No newline at end of file diff --git a/gp2505/patch/market-deployment_patch.yaml b/gp2505/patch/market-deployment_patch.yaml new file mode 100644 index 0000000..1db6cfa --- /dev/null +++ b/gp2505/patch/market-deployment_patch.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-java-market +spec: + template: + spec: + containers: + - name: stock2-java-market + image: juyou.tencentcloudcr.com/juyoutech/stock2_java_market:main + imagePullPolicy: Always + envFrom: + - configMapRef: + name: mysql-configmap + - configMapRef: + name: redis-configmap + - configMapRef: + name: storage-configmap + env: + - name: TZ + value: "Asia/Shanghai" \ No newline at end of file diff --git a/gp2505/patch/redis-service-nodeport_patch.yaml b/gp2505/patch/redis-service-nodeport_patch.yaml new file mode 100644 index 0000000..3065310 --- /dev/null +++ b/gp2505/patch/redis-service-nodeport_patch.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-service-nodeport +spec: + type: NodePort # 或者 NodePort + ports: + - port: 6379 + targetPort: 6379 + nodePort: 32504 # 可选,如果不指定,Kubernetes 会自动分配 + selector: + app: redis \ No newline at end of file diff --git a/gp2505/patch/task-deployment_patch.yaml b/gp2505/patch/task-deployment_patch.yaml new file mode 100644 index 0000000..4347b09 --- /dev/null +++ b/gp2505/patch/task-deployment_patch.yaml @@ -0,0 +1,26 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-java-task +spec: + template: + spec: + containers: + - name: stock2-java-task + image: juyou.tencentcloudcr.com/juyoutech/stock2_java_api:main + imagePullPolicy: Always + envFrom: + - configMapRef: + name: mysql-configmap + - configMapRef: + name: redis-configmap + env: + - name: TZ + value: "Asia/Shanghai" + resources: + requests: + cpu: "0.5" + memory: "4Gi" + limits: + cpu: "1" + memory: "8Gi" \ No newline at end of file