spring cloud 部署到kubernetes 入门例子
这是一个spring cloud 和k8s 结合的小例子,将spring cloud 微服务能力 和k8s的动态扩缩容完美结合,因为k8s 本身管理service的能力,所以再维护一个eureka 显得多余,所以本例子中将eureka 去除, 由k8s 管理微服务的注册发现.本文将spring cloud 部署到k8s 并跑通测试成功, 如果有意见或问题可以加我的qq群: 375595237一起讨
这是一个spring cloud 和k8s 结合的小例子,将spring cloud 微服务能力 和k8s的动态扩缩容完美结合,因为k8s 本身管理service的能力,所以再维护一个eureka 显得多余,所以本例子中将eureka 去除, 由k8s 管理微服务的注册发现.
本文将spring cloud 部署到k8s 并跑通测试成功, 如果有意见或问题可以加我的qq群: 375595237一起讨论 .
准备
本机 windows idea
服务器 linux centos (我用的虚拟机,需要至少5个G 内存)
minikueb
spring cloud (Finchley )
安装minikube
比较简单,可以看下网上例子,后面我也可以专门写一篇
代码
已经放到git bub
https://github.com/mefly521/sc-no-eureka-to-k8s.git
主要3个模块
因为k8s 已经提供了服务注册发现功能,我们不需要再使用eureka了
端口 | |
---|---|
service-zuul 网关 | 8761 |
service-feign 消费 | 8765 |
service-hi 生产 | 8762 |
因为不使用了eureka ,所以需要修改一下feign的调用部分
如下,要修改url 里的域名,写为k8s 中创建的service 名字
feign :
@FeignClient(value = "service-hi",url = "http://[这里要写为k8s svc的名称]:[k8s svc集群暴露的端口]",fallback = SchedualServiceHiHystric.class)
public interface SchedualServiceHi {
@RequestMapping(value = "/hi",method = RequestMethod.GET)
String sayHiFromClientOne(@RequestParam(value = "name") String name);
}
zuul 的配置文件 需要修改:
zuul:
routes:
api-a:
path: /api-hi/**
url: http://[这里要写为k8s svc hi的名称]:[k8s svc hi 集群暴露的端口]
api-b:
path: /api-feign/**
url: http://[这里要写为k8s svc feign的名称]:[k8s svc feign 集群暴露的端口]
部署到 k8s 上的快速方式
这里用到一个mvn 插件, fabric8-maven-plugin 他能直接将本地工程, 上传到k8s生成镜像并启动成一个k8s 的service,真的是非常方便
插件配置如下
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>fabric8-maven-plugin</artifactId>
<version>4.0.0</version>
<executions>
<execution>
<goals>
<goal>resource</goal>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--配置远程docker守护进程url-->
<dockerHost>http://200.200.3.150:2375</dockerHost>
<enricher>
<config>
<!-- k8s service 配置 将service开放类型改成NodePort -->
<fmp-service>
<type>NodePort</type>
</fmp-service>
</config>
</enricher>
</configuration>
</plugin>
如果deploy 没有问题的话,就可以在k8s 中看到了,非常方便
单独访问service hi 没有问题
访问service feign 并调用service hi 也没有问题
网关也可以路由到 hi
路由到feign
扩缩容,只需要修改service.yml 非常方便
更多推荐
所有评论(0)