副标题[/!--empirenews.page--]
说明
我们通过一个简单的示例来说明如何在Kubernets中部署一个应用,
- 一个Spring Boot项目提供数据库的增删改查操作
- 一个Mysql数据库持久化数据

通过Eclipse构建一个Spring Boot项目以下简称demo,其中连接mysql的property文件application-k8s.properties内容如下:
- spring.datasource.url=jdbc:mysql://${MYSQL_SERVICE_HOST:127.0.0.1}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_DATABASE:demo}
- spring.datasource.username=${MYSQL_ROOT_USER:root}
- spring.datasource.password=${MYSQL_ROOT_PASSWORD:123456}
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
-
- spring.jpa.database = MYSQL
- # Show or not log for each sql query
- spring.jpa.show-sql = true
- # Hibernate ddl auto (create, create-drop, update)
- spring.jpa.hibernate.ddl-auto = update
我们通过环境变量来指定数据库的连接参数,其中:
- MYSQL_SERVICE_HOST:mysql的hostname或者IP地址
- MYSQL_SERVICE_PORT:mysql的端口号
- MYSQL_DATABASE:连接mysql的数据库名
- MYSQL_ROOT_USER:mysql的root用户名
- MYSQL_ROOT_PASSWORD:mysql的root用户名密码
将demo打包成jar文件,并且用Dockerfile制作成Docker Image上传到私有Registry。
打包jar文件
- mvn package -Dmaven.test.skip=true
- INFO] Scanning for projects...
- [INFO]
- [INFO] --------------------------< com.example:demo >--------------------------
- [INFO] Building demo 0.0.1
- [INFO] --------------------------------[ jar ]---------------------------------
- [INFO]
- [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ demo ---
- [INFO] Using 'UTF-8' encoding to copy filtered resources.
- [INFO] Copying 4 resources
- [INFO] Copying 0 resource
- [INFO]
- [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ demo ---
- [INFO] Nothing to compile - all classes are up to date
- [INFO]
- [INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ demo ---
- [INFO] Not copying test resources
- [INFO]
- [INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ demo ---
- [INFO] Not compiling test sources
- [INFO]
- [INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ demo ---
- [INFO] Tests are skipped.
- [INFO]
- [INFO] --- maven-jar-plugin:3.1.1:jar (default-jar) @ demo ---
- [INFO] Building jar: /Users/xiaobaoqiang/workspace/demo/spring-boot/target/demo.jar
- [INFO]
- [INFO] --- spring-boot-maven-plugin:2.1.3.RELEASE:repackage (repackage) @ demo ---
- [INFO] Replacing main artifact with repackaged archive
- [INFO] ------------------------------------------------------------------------
- [INFO] BUILD SUCCESS
- [INFO] ------------------------------------------------------------------------
- [INFO] Total time: 1.731 s
- [INFO] Finished at: 2019-03-31T12:33:52+08:00
- [INFO] ------------------------------------------------------------------------
Dockerfile如下:
- # base image
- FROM daocloud.io/java:8
-
- # MAINTAINER
- MAINTAINER xiaobaoqiang@163.com
-
- # add demo.jar to docker tmp folder
- ADD ./demo.jar /tmp
-
- # run demo.jar package
- CMD ["java", "-jar", "/tmp/demo.jar"]
-
- EXPOSE 9999
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|