首页 » 网站建设 » phpgetimagebinary技巧_KubeSphere 21 新功能解读BinarytoImage

phpgetimagebinary技巧_KubeSphere 21 新功能解读BinarytoImage

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

下图简述了 B2I 的业务实现流程,B2I 已将以下多个步骤工具化和流程化,因此只须要在一个表单中完成。

① 在 KubeSphere 创建 B2I 类型的做事,上传制品或二进制包② B2I 将在后台创建 K8s Job、Deployment 和 Service③ 将制品自动打包成 Docker 镜像④ 推送镜像至 DockerHub 或 harbor⑤ B2I Job 将在第二步创建的 Deloyment 中利用仓库中的镜像⑥ 自动发布至 Kubernetes

解释:在上述流程中,B2I Job 还会在后台实行状态上报的功能

phpgetimagebinary技巧_KubeSphere 21 新功能解读BinarytoImage

接下来用两个示例先容 B2I 的两种利用办法,本文供应了示例制品 WAR、JAR、Binary 方便实操。

phpgetimagebinary技巧_KubeSphere 21 新功能解读BinarytoImage
(图片来自网络侵删)

以下供应 5 个供测试利用的制品包,您也可以提交个人打包的测试项目到 KubeSphere 社区。

示例包示例项目(代码仓库)b2i-war-java8.warSpring-MVC-Showcaseb2i-war-java11.warSpringMVC5b2i-binaryDevOps-go-sampleb2i-jar-java11.jarjava-maven-exampleb2i-jar-java8.jardevops-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。
镜像名称为 <DOCKERHUB_USERNAME>/<IMAGE NAME>,tag 默认 latest,目标镜像仓库选择已创建的 dockerhub-secret。

下一步容器设置,镜像名称和端口名称可自定义,容器端口 与 做事端口 填写 tomcat 默认的 8080。
由于是无状态做事,因此跳过挂载存储。
在高等设置中勾选外网访问,并设置为 NodePort,点击 创建。

验证状态

B2I 创建完成后,在 构建镜像 下查看 B2I 的构建状态,包括实行记录(动态日志)、资源状态、镜像制品、环境变量和 Events。

查看构建镜像

查看做事

查看支配状态

查看任务实行状态

若您习气利用 kubectl 命令行,也可以通过 工具箱 → Web Kubectl 通过 kubectl get all -n PRJECT_NAME 来查看 b2i 详细创建了哪些资源。

web kubectl 查看资源

访问做事

从做事的列表中,可以看到 NodePort 是 30571,因此在浏览器通过 <$IP>:<$NodePort>/spring-mvc-showcase/ 访问 Spring-MVC-Showcase 做事(默认的访问路径 <$IP>:<$NodePort> 是 tomcat 做事)。

查看镜像推送

登录 DockerHub 账号,查看 B2I 自动推送的 Docker 镜像。

构建镜像利用 B2I

第一个示例因此创建做事的办法完成了 B2I,终极将 Spring-MVC-Showcase 的 WAR 包打包成镜像后支配到了 Kubernetes。
而以 构建镜像 的办法利用 B2I 更像一个基于制品自动天生镜像的 快速工具,终极不会自动发布至 Kubernetes。

以下将利用一个基于 Go 措辞 的 示例项目 打包的 Binary 制品 - b2i-binary(点击下载) ,演示 B2I 的第二种利用办法 - 构建镜像利用 B2I。

上传制品包

1、在 构建镜像 下点击 创建构建镜像,然后选择 binary。

2、下一步,将下载的 b2i-binary 上传至 KubeSphere,镜像名称可自定义 <DOCKERHUB_USERNAME>/<IMAGE NAME>,目标镜像仓库选择已创建的 dockerhub-secret,点击 创建。

验证 B2I 状态

查看任务

验证镜像推送

登录 DockerHub 账号,查看 B2I 自动推送的 Docker 镜像。

总结

您可以根据需求利用上述两种不同的办法来完成 B2I 的自动镜像构建。
一样平常来说,像 Java 措辞的项目,可以通过 mvn package 命令打成 JAR/WAR 包,而像 C、C++ 和 Go 这类不须要运行时的措辞,可以利用其措辞自身的 build 命令打包成 binary 格式的制品,终极就可以通过 KubeSphere B2I 来快速将制品打包成 Docker 镜像,并发布到镜像仓库和 Kubernetes 中。
而像 Python、Nodejs 和 PHP 这类脚本式措辞的项目,可以通过 KubeSphere Source-to-Image(S2I) 完成类似 B2I 的自动构建与发布。

关于 KubeSphere

KubeSphere (kubesphere.io) 是在 Kubernetes 之上构建的以运用为中央的容器平台,支持支配和运行在任何根本举动步伐之上,供应大略易用的操作界面以及引导式操作办法,在降落用户利用容器调度平台学习本钱的同时,极大减轻开拓、测试、运维的日常事情的繁芜度,旨在办理 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。
帮助企业轻松应对敏捷开拓、自动化运维、运用快速交付、微做事管理、多租户管理、监控日志告警、做事与网络管理业务场景。

标签:

相关文章

五笔输入法的魅力与适用方法讨论

随着计算机技术的普及,五笔输入法作为一种高效、实用的汉字输入工具,受到了广大用户的喜爱。它不仅提高了我们的打字速度,还让我们的汉字...

网站建设 2025-01-02 阅读0 评论0

五笔输入法的魅力与挑战_以韡五笔为例

随着科技的不断发展,计算机已经成为人们日常生活和工作中不可或缺的工具。在众多计算机应用中,五笔输入法因其高效、准确的特点,深受广大...

网站建设 2025-01-02 阅读0 评论0

五笔输入法的魅力,主五笔的传承与创新

随着信息技术的飞速发展,计算机已经成为我们生活中不可或缺的一部分。而在计算机操作中,输入法的选择至关重要。五笔输入法作为我国独有的...

网站建设 2025-01-02 阅读0 评论0