好久没写文章了,本文继续上一篇,利用k8s来实现服务的注册与发现,甚至负载均衡,简称LB,完美无坑版!
环境:
ubuntu16.04
docker18.04
k8s1.13.x +
maven3.5.3
java1.8 +
springboot 2.1.1
spring-cloud-kubernetes:1.0.1.RELEASE
Relax
1. 前提
Ubuntu下安装docker18.04 or 其它较高版本,k8s1.13.x及以上,jvm环境等。
2. 创建项目
我们都知道,涉及到微服务,那必体现六个字,"高内聚,低耦合",所以针对不同业务或应用场景,服务模块化很重要,这个不再赘述了。咱们先来创建服务提供方,同样,利用eclipse或IDEA创建一个项目,此处略了。
创建好项目之后,首先引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
其他数据库,中间件等,可根据项目自行添加。
同样,我们需要配置初始化bean,这就涉及到配置文件bootstrap.yaml:
# we enable some of the management endpoints to make it possible to restart the application
management:
endpoint:
restart:
enabled: true