【feat】:k8s部署

pull/111/head
xueshuai 2024-04-18 17:07:09 +08:00
parent ebcc631075
commit a8f72ffe01
1 changed files with 16 additions and 14 deletions

View File

@ -2,44 +2,46 @@
# 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等其他组件正常运行,能够正常连接
* [ ] 创建yudao命名空间 `kubectl cerate namespace yudao`
* [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.镜像地址说明
# 2.yaml说明
## 2.1 镜像地址说明
* 镜像仓库需自建,或推送至官方仓库
* yaml中`image` 为仓库下各子模块镜像地址,示例: `image: harbor.dcos.hangzhou.aliyun.local/yudao/yudao-infra:latest`
# 3.skywalking配置说明
## 2.2 skywalking配置说明
* 默认yaml中不涉及skywalking
* 如需修改,确保在 `volumes` 中,`hostPath` 的路径 `/data/skywalking/skywalking-agent/skywalking-agent.jar` 应该是完全存在于主机上的路径。
* `SW_AGENT_COLLECTOR_BACKEND_SERVICES` 的值 `[YOUR_SKYWALKING_ADDR]` 是一个占位符,应该替换为实际的 SkyWalking 地址。
# 4.nacos配置说明
## 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 配置中心和注册中心地址
* `SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR`、`SPRING_CLOUD_NACOS_CONFIG_NAMESPACE`、`SPRING_CLOUD_NACOS_SERVER_ADDR`、`SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE` 的值也是占位符,应该替换为实际的 Nacos 配置中心、注册中心地址、命名空间
# 5.暴露gateway服务
## 2.4 暴露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.服务启动顺序
# 3.服务启动
- 执行:`kubectl apply -f xxx.yaml`
- (1)gateway (2)infra
- system、mp、pay、bpm、report服务基于infra进行
- 网关服务gateway、基础服务infra、系统服务system为必选微服务其他为非必须服务按需启动
# 7. 使用K8s还是Nacos根据自身需求进行
# 4.用了K8s还需要部署Nacos吗
为什么没有使用原生K8s的ingress、configMap,参考如下