前提: K8S集群已经搭建完成,可参考:
K8S集群搭建
部署步骤
1. 编写一个简单的SpringBoot项目,包含一个Controller接口用于测试
@RestControllerpublic class TestController { @GetMapping("/test") public String flowLimitTest() { return "testFlowLimit"; }}
2. 修改pom文件,添加build标签中的内容
添加maven打包的配置及docker打包的配置
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.boot.version}</version> <configuration> <!-- 指定该Main Class为全局的唯一入口 --> <mainClass>cn.spectrumrpc.sentinelgateway.MicroServiceMainApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.14</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <!--指定docker镜像的版本号--> <imageTags> <!--使用maven项目的版本号--> <imageTag>${project.version}</imageTag> </imageTags> <!-- Dockerfile文件存放的位置 --> <dockerDirectory>src/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins></build>
3. 编写Dockerfile
在src下创建docker文件夹,在docker文件夹下创建Dockerfile文件
FROM java:8ADD micro-service-1.0-SNAPSHOT.jar /app.jarEXPOSE 8401ENTRYPOINT ["java","-jar","/app.jar"]
4. 将项目源码上传到有Docker(且有maven)环境的机器上
切换至项目所在目录,执行如下命令
mvn package docker:build
执行结束之后,通过docker images 命令,查询是否有镜像
查询结果如下
ifan@ifan-PC:~$ docker images;REPOSITORY TAG IMAGE ID CREATED SIZEspectrumrpc/micro-service 1.0-SNAPSHOT 24bf256ba49d 28 minutes ago 684MBspectrumrpc/micro-service latest 24bf256ba49d 28 minutes ago 684MB
5. 将镜像上传至镜像仓库
docker tag 24bf256ba49d registry.cn-hangzhou.aliyuncs.com/spectrumrpc/spectrumrpc:1.0docker push registry.cn-hangzhou.aliyuncs.com/spectrumrpc/spectrumrpc:1.0
在阿里云的容器镜像服务控制台中,可以查看到对应的版本
6. 使用Kuboard管理控制台,运行微服务
6.1 创建Namespace
点击创建
输入对应的名称
6.2 点击进入NameSpace,选择Deployments
创建Deployment,填写基本信息

创建Docker仓库对应的用户名密码(输入对应的阿里云仓库地址及账户密码)
然后选择添加,选择刚刚创建的凭证,输入镜像地址
配置对应的服务端口及容器端口
6.3 最终,填写完毕之后,点击保存,点击Apply
6.4. 可以看到所分配的端口,以及节点的运行情况

7. 最后,访问对应的Node Port,查看服务是否可行
测试到有输出,即服务搭建成功,此微服务已经跑在了集群上面
