【feat】:k8s部署

pull/111/head
xueshuai 2024-04-15 11:39:07 +08:00
parent 7b554b7655
commit deb40e45e3
8 changed files with 663 additions and 0 deletions

39
script/k8s/readme.md Normal file
View File

@ -0,0 +1,39 @@
# 🚀k8s部署说明
# 1.前置条件
* [ ] docker环境。安装参考[Docker 部署 | yudao-cloud 开发指南 (iocoder.cn)](https://cloud.iocoder.cn/deployment-docker/#_1-%E5%AE%89%E8%A3%85-docker)
* [ ] k8s环境。安装参考[使用 kubeadm 引导集群 | Kubernetes](https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/)
* [ ] 通过dockerfile进行生成镜像 部署参考:[Docker 部署 | yudao-cloud 开发指南 (iocoder.cn)](https://cloud.iocoder.cn/deployment-docker/#_1-%E5%AE%89%E8%A3%85-docker)
* [ ] 推送镜像到镜像仓库
* [ ] 保证nacos、mysql、redis等其他组件正常运行能够正常连接
> 参考spring run on k8s [Spring on Kubernetes 研讨会 - HackMD --- Spring on Kubernetes Workshop - HackMD](https://hackmd.io/@ryanjbaxter/spring-on-k8s-workshop)
# 2.镜像地址说明
* 镜像仓库需自建,或推送至官方仓库
* yaml中`image` 为仓库下各子模块镜像地址,示例: `image: harbor.dcos.hangzhou.aliyun.local/yudao/yudao-infra:latest`
# 3.skywalking配置说明
* 默认yaml中不涉及skywalking
* 如需修改,确保在 `volumes` 中,`hostPath` 的路径 `/data/skywalking/skywalking-agent/skywalking-agent.jar` 应该是完全存在于主机上的路径。
* `SW_AGENT_COLLECTOR_BACKEND_SERVICES` 的值 `[YOUR_SKYWALKING_ADDR]` 是一个占位符,应该替换为实际的 SkyWalking 地址。
# 4.nacos配置说明
* `SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR`、`SPRING_CLOUD_NACOS_CONFIG_NAMESPACE`、`SPRING_CLOUD_NACOS_SERVER_ADDR`、`SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE` 的值也是占位符,应该替换为实际的 Nacos 配置中心和注册中心地址。
# 5.暴露gateway服务
- 将gateway服务类型(默认为ClusterIp)更改为 `LoadBalancer`,如果将 `type` 设置为 `"LoadBalancer"` 则平台会为 Service 提供对外负载均衡器。
- [`LoadBalancer`](https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/#loadbalancer) 使用云平台的负载均衡器向外部公开 Service。Kubernetes 不直接提供负载均衡组件; 你必须提供一个,或者将你的 Kubernetes 集群与某个云平台集成。
> 参考:[服务Service | Kubernetes](https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/#loadbalancer)
# 6.服务启动顺序
- (1)gateway (2)infra
- system、mp、pay、bpm、report服务基于infra进行
- 网关服务gateway、基础服务infra、系统服务system为必选微服务其他为非必须服务按需启动

89
script/k8s/yudao-bpm.yaml Normal file
View File

@ -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:
app: yudao-bpm #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---

View File

@ -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:
app: yudao-gateway #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---

View File

@ -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:
app: yudao-infra #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---

89
script/k8s/yudao-mp.yaml Normal file
View File

@ -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:
app: yudao-mp #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---

89
script/k8s/yudao-pay.yaml Normal file
View File

@ -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:
app: yudao-pay #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---

View File

@ -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:
app: yudao-report #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---

View File

@ -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:
app: yudao-system #[20] Service的标签选择器,将该Service绑定对应名称的Deployment,修改为微服务名称,与[1]相同
---