KubeSphere新功能解读-Binary-to-Image完整版.docx

KubeSphere新功能解读-Binary-to-Image完整版.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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服务)。

您可能关注的文档

文档评论(0)

186****9898 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档