diff --git a/aicss_k8s/k8s/k8s/deployment.yaml b/aicss_k8s/k8s/k8s/deployment.yaml new file mode 100644 index 0000000..ea97c3c --- /dev/null +++ b/aicss_k8s/k8s/k8s/deployment.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: aicss-s + namespace: xpink + labels: + app: aicss-s +spec: + replicas: 1 + selector: + matchLabels: + app: aicss-s + template: + metadata: + labels: + app: aicss-s + spec: + containers: + - name: aicss-s + image: 322814420330.dkr.ecr.ap-southeast-1.amazonaws.com/xpink/aicss_service:test + imagePullPolicy: Always + lifecycle: + preStop: + exec: + command: + - /bin/sh + - -c + - sleep 15 + resources: + limits: + cpu: 1000m + memory: 512Mi + requests: + cpu: 10m + memory: 10Mi + env: + - name: IS_TEST + value: "true" + imagePullSecrets: + - name: coding diff --git a/aicss_k8s/k8s/k8s/ingress.yaml b/aicss_k8s/k8s/k8s/ingress.yaml new file mode 100644 index 0000000..e143299 --- /dev/null +++ b/aicss_k8s/k8s/k8s/ingress.yaml @@ -0,0 +1,42 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: 2048-ingress + namespace: xpink + annotations: + #alb.ingress.kubernetes.io/subnets: vpc-0b996d24feae0e2d5 + alb.ingress.kubernetes.io/scheme: internet-facing +spec: + ingressClassName: alb + rules: + - host: bressx-test.la + http: + paths: + - path: /api + pathType: ImplementationSpecific + backend: + service: + name: hertz-s + port: + number: 8889 + - path: /admin + pathType: ImplementationSpecific + backend: + service: + name: hertz-s + port: + number: 8887 + - path: /callback + pathType: ImplementationSpecific + backend: + service: + name: hertz-s + port: + number: 8888 + - path: /ws + pathType: ImplementationSpecific + backend: + service: + name: hertz-s + port: + number: 8891 diff --git a/aicss_k8s/k8s/k8s/svc.yaml b/aicss_k8s/k8s/k8s/svc.yaml new file mode 100644 index 0000000..55f816f --- /dev/null +++ b/aicss_k8s/k8s/k8s/svc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: aicss-svc + namespace: xpink # 如果不是 default,请改成你的 namespace +spec: + type: ClusterIP + selector: + app: aicss-s + ports: + - name: http + port: 80 # 对外提供的端口 + targetPort: 8081 # 容器内部监听的端口 + protocol: TCP diff --git a/aicss_k8s/test/deployment.yaml b/aicss_k8s/test/deployment.yaml index e80710c..d1fadd3 100644 --- a/aicss_k8s/test/deployment.yaml +++ b/aicss_k8s/test/deployment.yaml @@ -37,6 +37,6 @@ spec: - name: IS_TEST value: "true" - name: AICSS_ENV - value: "dev" + value: "test" imagePullSecrets: - name: coding diff --git a/common/common.go b/common/common.go index d3b2363..914ed66 100644 --- a/common/common.go +++ b/common/common.go @@ -19,6 +19,7 @@ var ( const ( ENV_DEV = "dev" + ENV_TEST = "test" ENV_PROD = "prod" ) @@ -28,7 +29,7 @@ var ( func getConfigPath() string { switch environment { - case ENV_DEV, ENV_PROD: + case ENV_DEV, ENV_TEST, ENV_PROD: return path.Join(Dir, fmt.Sprintf("config_%s.yaml", environment)) default: return path.Join(Dir, "config.yaml") diff --git a/docker_build_test.sh b/docker_build_test.sh new file mode 100644 index 0000000..30cf5a1 --- /dev/null +++ b/docker_build_test.sh @@ -0,0 +1,21 @@ +#!/bin/bash +RUN_NAME=aicss_service +DOCKER_TAG=test +set -e + +go mod tidy + +# 优化编译标志 +BUILD_FLAGS=( + "-trimpath" # 移除文件系统路径,减少二进制大小 + "-ldflags=-s -w" # 移除符号表和调试信息,减少内存使用 +) + +# 使用优化的编译标志 +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build "${BUILD_FLAGS[@]}" -o output/bin/${RUN_NAME} gofly.go + +echo 'build go success' + +docker build -t 322814420330.dkr.ecr.ap-southeast-1.amazonaws.com/xpink/${RUN_NAME}:${DOCKER_TAG} -f Dockerfile . + +docker push 322814420330.dkr.ecr.ap-southeast-1.amazonaws.com/xpink/${RUN_NAME}:${DOCKER_TAG} diff --git a/output/bin/aicss_service b/output/bin/aicss_service index b586f60..226f17e 100755 Binary files a/output/bin/aicss_service and b/output/bin/aicss_service differ