diff --git a/gp2527/api2-service.yaml b/gp2527/api2-service.yaml new file mode 100644 index 0000000..3761246 --- /dev/null +++ b/gp2527/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/gp2527/api2.yaml b/gp2527/api2.yaml new file mode 100644 index 0000000..69e06cf --- /dev/null +++ b/gp2527/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/gp2527/down-service.yaml b/gp2527/down-service.yaml new file mode 100644 index 0000000..af9d477 --- /dev/null +++ b/gp2527/down-service.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: download-cos-proxy-service +spec: + ports: + - port: 80 + targetPort: 80 + name: download-cos-proxy + selector: + app: download-cos-proxy \ No newline at end of file diff --git a/gp2527/down.yaml b/gp2527/down.yaml new file mode 100644 index 0000000..6e711e9 --- /dev/null +++ b/gp2527/down.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: download-cos-proxy +spec: + replicas: 1 + selector: + matchLabels: + app: download-cos-proxy + template: + metadata: + labels: + app: download-cos-proxy + spec: + containers: + - name: download-cos-proxy + image: juyou.tencentcloudcr.com/juyoutech/stock2_cos_download_proxy:latest + imagePullPolicy: Always + ports: + - containerPort: 80 + envFrom: + - configMapRef: + name: storage-configmap + 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/gp2527/env/mysql.env b/gp2527/env/mysql.env new file mode 100644 index 0000000..7dbe92a --- /dev/null +++ b/gp2527/env/mysql.env @@ -0,0 +1,6 @@ +MYSQL_HOST=139.9.44.53 +MYSQL_PORT=3306 +MYSQL_USER=root +MYSQL_PASSWORD=bg2JbBzfdmHQl1Tks1 +MYSQL_DB=stock2-api +MARKET_MYSQL_DB=stock-market \ No newline at end of file diff --git a/gp2527/env/redis.env b/gp2527/env/redis.env new file mode 100644 index 0000000..876cffc --- /dev/null +++ b/gp2527/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/gp2527/env/storage.env b/gp2527/env/storage.env new file mode 100644 index 0000000..25af02d --- /dev/null +++ b/gp2527/env/storage.env @@ -0,0 +1,6 @@ +CLOUD_ID=IKIDyzsXzXyEINFwQhml7TfiZGsJat32oNkB +CLOUD_KEY=MVTGrFMMAmpfHgrqeGhvviHftvpX1Kiy +CLOUD_DOMAIN=cos.ap-guangzhou.myqcloud.com +CLOUD_APP_ID=1389479125 +CLOUD_BUCKET=g2527-1389479125 +CLOUD_REGION=ap-guangzhou \ No newline at end of file diff --git a/gp2527/ingress-admin.yaml b/gp2527/ingress-admin.yaml new file mode 100644 index 0000000..c24d029 --- /dev/null +++ b/gp2527/ingress-admin.yaml @@ -0,0 +1,130 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: admin-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: "gp2527/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: + - haproxy-g2527.qq.com + - admin-g2527.qq.com + - h5-g2527.qq.com + - agent-g2527.qq.com + secretName: tls-secret + rules: + - host: admin-g2527.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: haproxy-service + port: + number: 8188 + - host: agent-g2527.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: haproxy-service + port: + number: 8188 + + - host: h5-g2527.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: haproxy-service + port: + number: 8188 + - host: haproxy-g2527.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: haproxy-service + port: + number: 8280 \ No newline at end of file diff --git a/gp2527/ingress.yaml b/gp2527/ingress.yaml new file mode 100644 index 0000000..0b52437 --- /dev/null +++ b/gp2527/ingress.yaml @@ -0,0 +1,51 @@ +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: "gp2527/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-g2527.qq.com + - down-g2527.qq.com + secretName: tls-secret + rules: + - host: api-g2527.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: haproxy-service + port: + number: 8188 + - host: down-g2527.qq.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: download-cos-proxy-service + port: + number: 80 \ No newline at end of file diff --git a/gp2527/kustomization.yaml b/gp2527/kustomization.yaml new file mode 100644 index 0000000..e04e190 --- /dev/null +++ b/gp2527/kustomization.yaml @@ -0,0 +1,37 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: gp2527 + +resources: + - api2.yaml + - api2-service.yaml + - down.yaml + - down-service.yaml + - market-endpoints.yaml + - market-service.yaml + - ../base/projects/stock2 + - ../base/redis + - ../base/tls + - ../base/basic-auth + - ../base/haproxy + - ingress.yaml + - ingress-admin.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 \ No newline at end of file diff --git a/gp2527/market-endpoints.yaml b/gp2527/market-endpoints.yaml new file mode 100644 index 0000000..6968c29 --- /dev/null +++ b/gp2527/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/gp2527/market-service.yaml b/gp2527/market-service.yaml new file mode 100644 index 0000000..347211e --- /dev/null +++ b/gp2527/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/gp2527/patch/admin-deployment_patch.yaml b/gp2527/patch/admin-deployment_patch.yaml new file mode 100644 index 0000000..4c9089e --- /dev/null +++ b/gp2527/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/gp2527/patch/agent-deployment_patch.yaml b/gp2527/patch/agent-deployment_patch.yaml new file mode 100644 index 0000000..6b174f5 --- /dev/null +++ b/gp2527/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/gp2527/patch/api-deployment_patch.yaml b/gp2527/patch/api-deployment_patch.yaml new file mode 100644 index 0000000..db423f2 --- /dev/null +++ b/gp2527/patch/api-deployment_patch.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: stock2-java-api +spec: + replicas: 2 + template: + spec: + containers: + - name: stock2-java-api + image: juyou.tencentcloudcr.com/juyoutech/stock2_java_api:latest + 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/gp2527/patch/app-resign-deployment_patch.yaml b/gp2527/patch/app-resign-deployment_patch.yaml new file mode 100644 index 0000000..1a2a224 --- /dev/null +++ b/gp2527/patch/app-resign-deployment_patch.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app-resign-api +spec: + replicas: 1 + template: + spec: + containers: + - name: app-resign-api + image: juyou.tencentcloudcr.com/juyoutech/app-resign:latest + 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/gp2527/patch/h5-deployment_patch.yaml b/gp2527/patch/h5-deployment_patch.yaml new file mode 100644 index 0000000..60c7a03 --- /dev/null +++ b/gp2527/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_h5bluea025:latest + imagePullPolicy: Always \ No newline at end of file diff --git a/gp2527/patch/market-deployment_patch.yaml b/gp2527/patch/market-deployment_patch.yaml new file mode 100644 index 0000000..1db6cfa --- /dev/null +++ b/gp2527/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/gp2527/patch/task-deployment_patch.yaml b/gp2527/patch/task-deployment_patch.yaml new file mode 100644 index 0000000..4347b09 --- /dev/null +++ b/gp2527/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