From 9722e78831779e0f87d682137879bd10d3b59a6a Mon Sep 17 00:00:00 2001 From: ajaxfan <909938737@qq.com> Date: Tue, 23 Mar 2021 17:40:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9k8s=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pro.yaml | 90 +++++++------ src/main/resources/application-pro.yml | 175 +++++++++++++++++++++++++ 2 files changed, 222 insertions(+), 43 deletions(-) create mode 100644 src/main/resources/application-pro.yml diff --git a/pro.yaml b/pro.yaml index c82c163..97cc123 100644 --- a/pro.yaml +++ b/pro.yaml @@ -5,6 +5,7 @@ metadata: namespace: default labels: app: biz-service-ebtp-project + spec: replicas: 3 strategy: @@ -19,62 +20,70 @@ spec: labels: app: biz-service-ebtp-project #[3] 模板名称,可填写微服务名称 annotations: - prometheus.io/port: '18012' # [4] prometheus自动发现pod的端口,也是该微服务server.port参数 - prometheus.io/jl-pod: 'true' #[5] 开启prometheus自动发现pod的功能,自动发现所带标签为test-pod的pod,yy-pod sd-pod ji-pod + prometheus.io/port: '18012' + prometheus.io/jl-pod: 'true' spec: volumes: - name: log persistentVolumeClaim: claimName: log-pvc readOnly: false + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - biz-service-ebtp-project + topologyKey: "kubernetes.io/hostname" containers: - name: biz-service-ebtp-project #[6] 必选,容器名称,可填写微服务名称 image: harbor.dcos.xixian.unicom.local/eshop/biz-service-ebtp-project:latest #[7] 镜像名称,请把biz-service-ebtp-project替换为服务名称 - args: ["java","-Djava.security.egd=file:/dev/./urandom","-javaagent:/pinpoint/tianyan-springboot-agent/pinpoint-bootstrap-1.8.0.jar","-Dpinpoint.agentId=$(MY_POD_IP)","-Dpinpoint.applicationName=$(APP_NAME)","-Dpinpoint.licence=$(AGENT_LICENCE_DEV)","-jar","/app.jar"] + args: ["java","-Djava.security.egd=file:/dev/./urandom", "-javaagent:/pinpoint/tianyan-springboot-agent/pinpoint-bootstrap-1.8.0.jar", "-Dpinpoint.agentId=$(MY_POD_IP)", "-Dpinpoint.applicationName=$(APP_NAME)", "-Dpinpoint.licence=$(AGENT_LICENCE_DEV)", "-Dspring.profiles.active=pro", "-jar", "/app.jar"] volumeMounts: - name: log mountPath: /log ports: - containerPort: 18012 #[8] 容器需要监听的端口号,与配置文件中的server.port参数相同,与参数[4]相同 - livenessProbe: # 存活检测,不通过则重启容器 - failureThreshold: 3 #探测失败3次重启容器 - httpGet: - port: 18012 #[9] 与参数[4]相同 + livenessProbe: + failureThreshold: 3 + httpGet: + port: 18012 #[11] pod存活检测端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 path: /actuator/prometheus scheme: HTTP - initialDelaySeconds: 300 #启动容器后,初始化延迟的时间,也就是告诉监测从多久之后开始运行,单位是秒。默认为0秒。最小值为0。 - periodSeconds: 60 #执行探测的频率(以秒为单位)。默认为10秒。最小值为1。 - successThreshold: 1 #连续失败的最小成功次数,失败后将被视为成功。默认值为1。对于活动和启动探针,必须为1。最小值为1。 - timeoutSeconds: 2 #探测超时的秒数。默认为1秒。最小值为1。 - # readinessProbe: # 就绪检测,不通过则不加入svc - # failureThreshold: 1 - # httpGet: - # path: /get - # port: 18012 - # scheme: HTTP - # periodSeconds: 5 #执行探测的频率(以秒为单位)。默认为10秒。最小值为1 - # successThreshold: 1 #连续失败的最小成功次数,失败后将被视为成功。默认值为1。对于活动和启动探针,必须为1。最小值为1。 - # timeoutSeconds: 2 #探测超时的秒数。默认为1秒。最小值为1。 - resources: - requests: - cpu: 500m - memory: 1Gi - limits: + initialDelaySeconds: 300 + periodSeconds: 60 + successThreshold: 1 + timeoutSeconds: 2 + readinessProbe: + failureThreshold: 1 + httpGet: + port: 18012 #[12] pod就绪检测端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + path: /actuator/prometheus + scheme: HTTP + periodSeconds: 5 + successThreshold: 2 + timeoutSeconds: 2 + resources: + requests: cpu: 1000m memory: 2Gi - env: # 此处添加环境变量 - - name: APP_NAME #[10] 微服务名称 - value: biz-service-ebtp-project - - name: AGENT_LICENCE_DEV #天眼pinpoint生产环境licence,请勿修改 + limits: + cpu: 3000m + memory: 6Gi + env: + - name: APP_NAME + value: biz-ebtp-project + - name: AGENT_LICENCE value: 527BFA7B28577578 - - name: MY_POD_IP #自动获取pod ip作为agent id,请勿修改 + - name: APOLLO_CONFIGSERVICE + value: http://apollo-configservice:8080 + - name: MY_POD_IP valueFrom: fieldRef: fieldPath: status.podIP - - name: APOLLO_CONFIGSERVICE #获取apollo配置的地址,请勿修改 - value: http://10.238.25.112:6001 - - --- kind: Service apiVersion: v1 @@ -82,20 +91,15 @@ metadata: name: biz-service-ebtp-project-svc # [11] service的名字,格式为“服务名-svc” namespace: default labels: - app: biz-service-ebtp-project-svc # [12] service的标签,可与参数[11]相同 + service: biz-service-ebtp-project-svc # [12] service的标签,可与参数[11]相同 annotations: - lb.cke.tg.unicom/target-vports: 18012-18012 #[13] 内部端口-外部端口映射 内部端口为server.port,即与参数[4]相同 prometheus.io/port: '18012' #[13] prometheus自动发现service的端口,也是该微服务所使用的端口,与参数[4]相同 - prometheus.io/test-svc: 'true' #[14] 开启prometheus自动发现service的功能,自动发现所带标签为test-svc的service + prometheus.io/jl-svc: 'true' + spec: ports: - port: 18012 #[15] 与参数4相同 targetPort: 18012 #[16] 与参数4相同 selector: app: biz-service-ebtp-project #[17] 该service对应Deployment的名字,与参数[1]相同 -status: - loadBalancer: {} ---- - - - +--- \ No newline at end of file diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml new file mode 100644 index 0000000..6e0659c --- /dev/null +++ b/src/main/resources/application-pro.yml @@ -0,0 +1,175 @@ +server: + port: 18012 + servlet: + context-path: / + +seata: + service: + vgroup-mapping: + biz-service-ebtp-project-service-group: seata-server-jl + registry: + type: eureka + eureka: + serviceUrl: http://eureka-1-svc:8080/eureka,http://eureka-2-svc:8080/eureka,http://eureka-3-svc:8080/eureka + +# 对应 apollo 配置中心的应用名 +app: + id: biz-service-ebtp-project + +# Apollo 配置信息 +apollo: + meta: http://10.238.25.112:6001/ + bootstrap: + namespace: application + enabled: true + eagerLoad: + enabled: true + +spring: + aop: + auto: true #开启spring的aop配置 + proxy-target-class: true + + application: + name: biz-service-ebtp-project + + shardingsphere: + datasource: + names: ds0 + ds0: + type: com.alibaba.druid.pool.DruidDataSource + driver-class-name: com.mysql.cj.jdbc.Driver + username: profilb + password: ProdMall3_0118profilb + jdbc-url: jdbc:mysql://10.168.9.36:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + url: jdbc:mysql://10.168.9.36:3306/ebtp_mall_project?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + filters: stat,wall,log4j + maxActive: 20 + initialSize: 1 + maxWait: 60000 + minIdle: 1 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: select 'x' + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxOpenPreparedStatements: 20 + connection-properties: druid.stat.merggSql=ture;druid.stat.slowSqlMillis=5000 + props: + sql: + show: true + + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: false + + # 天宫Kafka增加了安全认证,需要配置安全属性 + kafka: + bootstrap-servers: 10.172.48.110:32050,10.172.48.109:32050,10.172.48.111:32050 + template: + default-topic: jl_eshop + + # 生产者配置参数 + producer: + client-id: core-service-ebtp-crypt + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka" password="Unicom#135"; + + # 消费者配置参数 + consumer: + group-id: core-service-ebtp-crypt-consumer + auto-offset-reset: latest + properties: + security.protocol: SASL_PLAINTEXT + sasl.mechanism: SCRAM-SHA-256 + sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="eshop-kafka" password="Unicom#135"; + + # 生产区 redis 配置 + redis: + sentinel: + master: eshop-redis + nodes: 10.172.48.83:32521,10.172.48.100:32521,10.172.48.94:32561 + password: Unicom#135 + +# 天宫Eureka配置 +eureka: + client: + service-url: + defaultZone: http://eureka-1-svc:8080/eureka,http://eureka-2-svc:8080/eureka,http://eureka-3-svc:8080/eureka + instance: + prefer-ip-address: true + instance-ip: ${spring.cloud.client.ip-address}:${server.port} + +mybatis-plus: + configuration: + # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 + map-underscore-to-camel-case: true + auto-mapping-behavior: full + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml + global-config: + # 逻辑删除配置 + db-config: + logic-not-delete-value: normal # 逻辑删除标记:正常数据 + logic-delete-value: deleted # 逻辑删除标记:已删除的数据 + type-aliases-package: com.chinaunicom.mall.ebtp.project + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 200000 #熔断超时时间 + circuitBreaker: + sleepWindowInMilliseconds: 20000 + forceClosed: true + +ribbon: + ReadTimeout: 20000 #请求处理的超时时间 + ConnectTimeout: 20000 #请求连接超时时间 + MaxAutoRetries: 0 #对当前实例的重试次数 + MaxAutoRetriesNextServer: 1 #切换实例的重试次数 1 + +mconfig: + swagger-ui-open: true + exception-handle-enabled: true + seata-open-enabled: false + work-id: 1 #终端ID + datacenter-id: 1 #数据中心ID + host-name: http://10.238.25.112/ + service-name-purp: mall-purp #采购系统委托项目微服务 + service-name-wfap: mall-wfap #重新评审 流程微服务 + service-name-resu: mall-resu #重新评审 项目中心查询服务 + service-price-query: biz-service-price-query #商城询价服务 + service-price-usercenter: core-service-usercenter-public #用户中心服务 + #内部服务 + service-name-auction: biz-service-ebtp-auction #竞拍服务API + service-name-calibration: biz-service-ebtp-calibration #标段定标接口 + service-name-bid: biz-service-ebtp-bid #标段出始化流程 + service-name-process: biz-service-ebtp-process #标段出始化流程 + service-name-resps: biz-service-ebtp-resps #标段应答文件 + service-name-rsms: biz-service-ebtp-rsms #评审微服务 + service-name-tender: biz-service-ebtp-tender #标段投标微服务 + wfSectionNo: '080' + wfSectionName: 标段重新评审审批单 + +# 用户暴露给 prometheus 的健康数据 +management: + endpoints: + web: + exposure: + include: "*" + cors: + allowed-origins: "*" + allowed-methods: "*" \ No newline at end of file