设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 站长学院 > MySql教程 > 正文

一个简单的Kubernetes应用部署示例

发布时间:2019-11-08 01:11 所属栏目:115 来源:云计算AND容器技术
导读:说明 我们通过一个简单的示例来说明如何在Kubernets中部署一个应用, 一个Spring Boot项目提供数据库的增删改查操作 一个Mysql数据库持久化数据 通过Eclipse构建一个Spring Boot项目以下简称demo,其中连接mysql的property文件application-k8s.properties

说明

我们通过一个简单的示例来说明如何在Kubernets中部署一个应用,

  1. 一个Spring Boot项目提供数据库的增删改查操作
  2. 一个Mysql数据库持久化数据

一个简单的Kubernetes应用部署示例

通过Eclipse构建一个Spring Boot项目以下简称demo,其中连接mysql的property文件application-k8s.properties内容如下:

  1. spring.datasource.url=jdbc:mysql://${MYSQL_SERVICE_HOST:127.0.0.1}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_DATABASE:demo} 
  2. spring.datasource.username=${MYSQL_ROOT_USER:root} 
  3. spring.datasource.password=${MYSQL_ROOT_PASSWORD:123456} 
  4. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 
  5. spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect 
  6. ​ 
  7. spring.jpa.database = MYSQL  
  8. # Show or not log for each sql query  
  9. spring.jpa.show-sql = true  
  10. # Hibernate ddl auto (create, create-drop, update)  
  11. spring.jpa.hibernate.ddl-auto = update 

我们通过环境变量来指定数据库的连接参数,其中:

  1. MYSQL_SERVICE_HOST:mysql的hostname或者IP地址
  2. MYSQL_SERVICE_PORT:mysql的端口号
  3. MYSQL_DATABASE:连接mysql的数据库名
  4. MYSQL_ROOT_USER:mysql的root用户名
  5. MYSQL_ROOT_PASSWORD:mysql的root用户名密码

将demo打包成jar文件,并且用Dockerfile制作成Docker Image上传到私有Registry。

打包jar文件

  1. mvn package -Dmaven.test.skip=true 
  2. INFO] Scanning for projects... 
  3. [INFO]  
  4. [INFO] --------------------------< com.example:demo >-------------------------- 
  5. [INFO] Building demo 0.0.1 
  6. [INFO] --------------------------------[ jar ]--------------------------------- 
  7. [INFO]  
  8. [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ demo --- 
  9. [INFO] Using 'UTF-8' encoding to copy filtered resources. 
  10. [INFO] Copying 4 resources 
  11. [INFO] Copying 0 resource 
  12. [INFO]  
  13. [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ demo --- 
  14. [INFO] Nothing to compile - all classes are up to date 
  15. [INFO]  
  16. [INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ demo --- 
  17. [INFO] Not copying test resources 
  18. [INFO]  
  19. [INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ demo --- 
  20. [INFO] Not compiling test sources 
  21. [INFO]  
  22. [INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ demo --- 
  23. [INFO] Tests are skipped. 
  24. [INFO]  
  25. [INFO] --- maven-jar-plugin:3.1.1:jar (default-jar) @ demo --- 
  26. [INFO] Building jar: /Users/xiaobaoqiang/workspace/demo/spring-boot/target/demo.jar 
  27. [INFO]  
  28. [INFO] --- spring-boot-maven-plugin:2.1.3.RELEASE:repackage (repackage) @ demo --- 
  29. [INFO] Replacing main artifact with repackaged archive 
  30. [INFO] ------------------------------------------------------------------------ 
  31. [INFO] BUILD SUCCESS 
  32. [INFO] ------------------------------------------------------------------------ 
  33. [INFO] Total time: 1.731 s 
  34. [INFO] Finished at: 2019-03-31T12:33:52+08:00 
  35. [INFO] ------------------------------------------------------------------------ 

Dockerfile如下:

  1. # base image 
  2. FROM daocloud.io/java:8 
  3. ​ 
  4. # MAINTAINER 
  5. MAINTAINER xiaobaoqiang@163.com 
  6. ​ 
  7. # add demo.jar to docker tmp folder 
  8. ADD ./demo.jar /tmp 
  9. ​ 
  10. # run demo.jar package 
  11. CMD ["java", "-jar", "/tmp/demo.jar"] 
  12. ​ 
  13. EXPOSE 9999 

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读