- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
KubeSphere2.1新功能解读-Binary-to-Image
?
?
什么是Binary-to-image
Binary-to-image(B2I)是2.1.0版本新增的功能,旨在帮助开发者和运维在项目打包成WAR、JAR、Binary这一类的制品后,快速将制品或二进制的Package打包成Docker镜像,并发布到DockerHub或Harbor等镜像仓库中。并且支持以创建服务的形式,一键将制品生成镜像推送到仓库,并创建其部署(Deployment)和服务(Service)最终自动发布到Kubernetes中。
Binary-to-image特性
Binary-to-image(B2I)能够在实际的项目快速部署上线、微服务改造的过程中,极大地赋能开发者和运维用户。B2I无需编写一行Dockerfile,降低学习成本的同时提升发布效率,使用户能够更好地专注在业务本身。
下图简述了B2I的业务实现流程,B2I已将以下多个步骤工具化和流程化,因此只需要在一个表单中完成。
①在KubeSphere创建B2I类型的服务,上传制品或二进制包
②B2I将在后台创建K8sJob、Deployment和Service
③将制品自动打包成Docker镜像
④推送镜像至DockerHub或harbor
⑤B2IJob将在第二步创建的Deloyment中使用仓库中的镜像
⑥自动发布至Kubernetes
说明:在上述流程中,B2IJob还会在后台执行状态上报的功能
接下来用两个示例介绍B2I的两种使用方式,本文提供了示例制品WAR、JAR、Binary方便实操。
以下提供5个供测试使用的制品包,您也可以提交个人打包的测试项目到KubeSphere社区。
示例包
示例项目(代码仓库)
b2i-war-java8.war
Spring-MVC-Showcase
b2i-war-java11.war
SpringMVC5
b2i-binary
DevOps-go-sample
b2i-jar-java11.jar
java-maven-example
b2i-jar-java8.jar
devops-java-sample
创建服务使用B2I
第一个示例将使用创建服务的方式实现B2I,实现上图的6个步骤。在2.1.0版本中,创建服务的方式和用户体验相较于2.0.x版本变得更加方便和高效。
前提条件
B2I属于DevOps功能组件,因此使用前需开启安装DevOps组件。
创建密钥
由于B2I的自动构建流程中需要将打包的Docker镜像推送到镜像仓库,因此需要先创建一个镜像仓库的密钥(Secret),以下创建一个DockerHub的密钥,可参考创建常用的几类密钥。
创建服务
在应用负载→服务下点击创建服务。
下拉至通过制品构建新的服务,选择WAR,此处仅以一个Spring-MVC-Showcase的项目仓库作为示例,将它的WAR包(b2i-war-java8)b2i-war-java8.war上传到KubeSphere。
自定义名称,如b2i-war-java8,下一步构建设置中,默认无状态服务,点击将本地的制品b2i-war-java8.war上传,构建环境选择tomcat85-java8-centos7:latest。
镜像名称为/,tag默认latest,目标镜像仓库选择已创建的dockerhub-secret。
下一步容器设置,镜像名称和端口名称可自定义,容器端口与服务端口填写tomcat默认的8080。
由于是无状态服务,因此跳过挂载存储。
在高级设置中勾选外网访问,并设置为NodePort,点击创建。
验证状态
B2I创建完成后,在构建镜像下查看B2I的构建状态,包括执行记录(动态日志)、资源状态、镜像制品、环境变量和Events。
查看构建镜像
查看服务
查看部署状态
查看任务执行状态
若您是kubectl命令行的重度爱好者,也可以通过工具箱→WebKubectl通过kubectlgetall-nPROJECT_NAME来查看B2I具体创建了哪些资源。
webkubectl查看资源
访问服务
从服务的列表中,可以看到NodePort是30571,因此在浏览器通过$IP:$NodePort/spring-mvc-showcase/访问Spring-MVC-Showcase服务(默认的访问路径$IP:$NodePort是tomcat服务)。
您可能关注的文档
- 供电企业反窃查违管理探索.docx
- 上海浦江万达广场装配整体式框架结构设计探讨.docx
- 海南省临高县2023-2024学年八年级上学期期末检测语文试题(含答案).pdf
- 苏教版精选小学五年级数学(下册)应用题大全附答案解析.pdf
- 浙江省镇海中学2024年高考适应性月考卷(二)英语试题含解析.pdf
- 浅谈战后日本经济崛起的原因(供参考).pdf
- 职业技能大赛中式面点师高级工(三级)理论知识复习试题(2).pdf
- 考点07 开花和结果(考点详解+专项练习)-备战2022年中考生物考点微专题.pdf
- 牛津译林版中考英语易错题考前必刷练习卷2(含答案).pdf
- 江苏省淮安、南通部分学校2023-2024学年高三上期中联考语文试题及答案解析.pdf
文档评论(0)