diff --git a/script/k8s/readme.md b/script/k8s/readme.md new file mode 100644 index 000000000..22767b115 --- /dev/null +++ b/script/k8s/readme.md @@ -0,0 +1,48 @@ +# 🚀️k8s部署说明 + +# 1.前置条件 + +* [X] docker环境。安装参考:[Docker 部署 | yudao-cloud 开发指南 (iocoder.cn)](https://cloud.iocoder.cn/deployment-docker/#_1-%E5%AE%89%E8%A3%85-docker) +* [X] k8s环境。安装参考:[使用 kubeadm 引导集群 | Kubernetes](https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/) +* [X] 通过dockerfile进行生成镜像 部署参考:[Docker 部署 | yudao-cloud 开发指南 (iocoder.cn)](https://cloud.iocoder.cn/deployment-docker/#_1-%E5%AE%89%E8%A3%85-docker) +* [X] 推送镜像到镜像仓库 +* [X] 保证nacos、mysql、redis等其他所需组件正常运行,能够正常连接 +* [X] 创建yudao命名空间 `kubectl cerate namespace yudao` + +> 参考:spring run on k8s [Spring on Kubernetes 研讨会 - HackMD --- Spring on Kubernetes Workshop - HackMD](https://hackmd.io/@ryanjbaxter/spring-on-k8s-workshop) + +# 2.yaml说明 + +## 2.1 镜像地址说明 + +* 镜像仓库需自建,或推送至官方仓库 +* yaml中`image` 为仓库下各子模块镜像地址,示例: `image: harbor.dcos.hangzhou.aliyun.local/yudao/yudao-infra:latest` + +## 2.2 skywalking配置说明 + +* 默认yaml中不涉及skywalking +* 如需修改,确保在 `volumes` 中,`hostPath` 的路径 `/data/skywalking/skywalking-agent/skywalking-agent.jar` 应该是完全存在于主机上的路径。 +* `SW_AGENT_COLLECTOR_BACKEND_SERVICES` 的值 `[YOUR_SKYWALKING_ADDR]` 是一个占位符,应该替换为实际的 SkyWalking 地址。 + +## 2.3 nacos配置说明 + +* `SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR`、`SPRING_CLOUD_NACOS_CONFIG_NAMESPACE`、`SPRING_CLOUD_NACOS_SERVER_ADDR`、`SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE` 的值也是占位符,应该替换为实际的 Nacos 配置中心、注册中心地址、命名空间。 + +## 2.4 暴露gateway服务 + +- 将gateway服务类型(默认为ClusterIp)更改为 `LoadBalancer`,如果将 `type` 设置为 `"LoadBalancer"`, 则平台会为 Service 提供对外负载均衡器。 + +> 参考:[服务(Service) | Kubernetes](https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/#loadbalancer) + +# 3.服务启动 + +- 执行:`kubectl apply -f xxx.yaml` +- (1)gateway (2)infra +- system、mp、pay、bpm、report服务基于infra进行 +- 网关服务gateway、基础服务infra、系统服务system为必选微服务,其他为非必须服务,按需启动 + +# 4.用了K8s还需要部署Nacos吗? + +为什么没有使用原生K8s的ingress、configMap,参考如下 + +> 【【IT老齐311】有了K8S还需要部署网关、配置中心组件吗?】 https://www.bilibili.com/video/BV1es4y1n7HS/?share_source=copy_web&vd_source=72aa4f31238972662733e2bba889a0c9 diff --git a/script/k8s/yudao-bpm.yaml b/script/k8s/yudao-bpm.yaml new file mode 100644 index 000000000..6d6669c7b --- /dev/null +++ b/script/k8s/yudao-bpm.yaml @@ -0,0 +1,89 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-bpm #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-bpm +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-bpm #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-bpm #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-bpm/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-bpm #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-bpm:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48083 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-bpm +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-bpm-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-bpm-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + ports: + - port: 48083 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48083 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-bpm #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +--- diff --git a/script/k8s/yudao-gateway.yaml b/script/k8s/yudao-gateway.yaml new file mode 100644 index 000000000..8205b899b --- /dev/null +++ b/script/k8s/yudao-gateway.yaml @@ -0,0 +1,90 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-gateway #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-gateway +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-gateway #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-gateway #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-gateway/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-gateway #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-gateway:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48080 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-gateway +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-gateway-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-gateway-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + type: LoadBalancer + ports: + - port: 48080 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48080 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-gateway #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +--- diff --git a/script/k8s/yudao-infra.yaml b/script/k8s/yudao-infra.yaml new file mode 100644 index 000000000..2155a1104 --- /dev/null +++ b/script/k8s/yudao-infra.yaml @@ -0,0 +1,89 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-infra #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-infra +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-infra #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-infra #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-infra/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-infra #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-infra:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48082 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-infra +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-infra-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-infra-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + ports: + - port: 48082 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48082 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-infra #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +--- diff --git a/script/k8s/yudao-mp.yaml b/script/k8s/yudao-mp.yaml new file mode 100644 index 000000000..27477cfcf --- /dev/null +++ b/script/k8s/yudao-mp.yaml @@ -0,0 +1,89 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-mp #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-mp +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-mp #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-mp #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-mp/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-mp #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-mp:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48086 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-mp +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-mp-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-mp-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + ports: + - port: 48086 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48086 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-mp #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +--- diff --git a/script/k8s/yudao-pay.yaml b/script/k8s/yudao-pay.yaml new file mode 100644 index 000000000..f362fb729 --- /dev/null +++ b/script/k8s/yudao-pay.yaml @@ -0,0 +1,89 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-pay #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-pay +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-pay #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-pay #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-pay/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-pay #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-pay:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48085 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-pay +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-pay-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-pay-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + ports: + - port: 48085 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48085 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-pay #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +--- diff --git a/script/k8s/yudao-report.yaml b/script/k8s/yudao-report.yaml new file mode 100644 index 000000000..9c7d5f1a5 --- /dev/null +++ b/script/k8s/yudao-report.yaml @@ -0,0 +1,89 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-report #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-report +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-report #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-report #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-report/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-report #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-report:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48084 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-report +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-report-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-report-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + ports: + - port: 48084 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48084 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-report #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +--- diff --git a/script/k8s/yudao-system.yaml b/script/k8s/yudao-system.yaml new file mode 100644 index 000000000..932b48148 --- /dev/null +++ b/script/k8s/yudao-system.yaml @@ -0,0 +1,89 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: yudao-system #[1] Deployment名称,修改为微服务名称 + namespace: yudao #命名空间 + labels: + k8s-app: yudao-system +spec: + replicas: 1 #[2] pod数量 + strategy: + rollingUpdate: #[3]滚动跟新策略 每次最多更新1个pod 每次更新时最多删除1个pod,可根据自身情况进行调整 + maxSurge: 1 + maxUnavailable: 1 + selector: + matchLabels: + k8s-app: yudao-system #[4] Deployment标签选择器匹配时标签名称,修改为微服务名称,与[1]相同 + template: + metadata: + labels: + k8s-app: yudao-system #[5] 模板标签名称,修改为微服务名称,与[1]相同 + spec: + volumes: + - name: log + hostPath: + path: /data/yudao-system/logs #[6] 挂载的主机文件路径,需自定义 +# - name: skywalking +# hostPath: +# path: /data/skywalking/skywalking-agent #[6] 挂载的主机文件路径,需自定义 + containers: + - name: yudao-system #[8] 容器名称,修改为微服务名称,与[1]相同 + image: "ip: port/namespace/image-name:tag" +# image: harbor.dcos.guangzhou.aliyun.local/yudao/yudao-system:latest #[9] 镜像名称 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 48081 + volumeMounts: + - name: log + mountPath: /logs #[11] pod日志存放路径,挂载到主机 +# - name: skywalking +# mountPath: /data/skywalking/skywalking-agent #[11] skywalking路径,挂载到主机 + resources: #[12] pod资源限制 + requests: + cpu: 500m # 500m 就是500豪核心,即0.5个逻辑CPU. + memory: 512Mi + limits: + cpu: 1000m + memory: 1Gi + env: #[13]pod 环境变量 + - name: APP_NAME + value: yudao_gateway + - name: JAVA_TOOL_OPTIONS + value: "-XX:+UnlockExperimentalVMOptions + -XX:+UseContainerSupport + -XX:+UseCGroupMemoryLimitForHeap + -XX:InitialRAMPercentage=40.0 + -XX:MinRAMPercentage=20.0 + -XX:MaxRAMPercentage=90.0" +# -javaagent:/data/skywalking/skywalking-agent/skywalking-agent.jar" +# - name: SW_AGENT_NAME +# value: yudao-system +# - name: SW_AGENT_TRACE_IGNORE_PATH +# value: Redisson/PING,/actuator/**,/admin/** +# - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES +# value: [YOUR_SKYWALKING_ADDR] # 请替换 your.skywalking.addr 为你的 skywalking 地址 + - name: SPRING_PROFILES_ACTIVE + value: dev # 指定程序运行环境 + - name: SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos配置中心地址 + - name: SPRING_CLOUD_NACOS_CONFIG_NAMESPACE + value: [YOUR_NAMESPACE] # nacos命名空间 + - name: SPRING_CLOUD_NACOS_SERVER_ADDR + value: [YOUR_NACOS_ADDR] # nacos注册中心地址 + - name: SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE + value: [ YOUR_NAMESPACE ] # nacos命名空间 +--- +kind: Service +apiVersion: v1 +metadata: + name: yudao-system-svc #[14] service的名称,修改为“微服务名称-svc” + namespace: yudao + labels: + service: yudao-system-svc #[15] service的标签,修改为“微服务名称-svc”,与参数[14]相同 +spec: + ports: + - port: 48081 #[18] 集群内部服务访问的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + targetPort: 48081 #[19] 容器与集群建立映射的端口,修改为该微服务配置文件中server.port的端口号,与参数[5]相同 + selector: + k8s-app: yudao-system #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同 +---