之前学习了spring cloud结合docker ,docker compose来部署项目,但使用docker compose也有很大的局限性:对分布式的支持很有限,需结合swarm等联合使用,所以后边转而学习Kubenates.
关于Kubenates是什么,如何如何强大,这里就啰嗦了,现在分享一下使用K8s部署spring boot程序的一个示例。
1. spring boot项目配置文件主要配置及说明:
1.1 application.yml文件:
项目中用到了mysql以及redis,mysql 和redis 也是使用k8s,由于k8s中的服务会自动根据服务名称生成一些个环境变量,所以这里的MYSQL-SERVICE_SERVICE_HOST,MYSQL-SERVICE_SERVICE_PORT分别对应mysql服务的clusterIp和端口。
1.2 Dockerfile文件:
1.3 项目中使用的maven的docker插件,如图:
1.4 如果项目没什么问题,通过命令打成jar包:
mvn clean pac