用于管理 Web Sphere Liberty Docker 容器的新功能

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

特别感谢本文的共同作者 Chris Vignola。

2015 年 9 月的 Liberty Beta 包括 Liberty Docker 容器的管理功能预览。 Liberty Docker 容器是通过 Docker 映像打包和部署的 Liberty Server。此测试版的新功能是对这些容器进行集体管理。这是 Liberty 拥抱 Docker 的延续,从 在 Docker Hub 上发布 Liberty Docker 镜像 开始。

此测试版中 Liberty Docker 容器的管理功能包括:集体注册、管理中心可视化和操作以及第 1 阶段自动缩放。集体注册简单来说就是使用 collective join 命令将一个Liberty Docker容器添加到一个集体中进行管理。一旦成为集体的成员,Liberty Docker 容器就会在管理中心可见。状态、启动和停止操作可用。最后,您可以使用 Liberty 的缩放控制器功能将图像配置为可缩放。 “第一阶段”只是意味着测试版自动缩放功能仅限于常规 Liberty 服务器享有的完整自动缩放功能的一个子集。

下图描述了构建、发布和部署 Liberty Docker 映像到集合体以及创建容器的工作流

  1. 首先使用您最喜欢的开发人员工具在 Liberty 服务器上创建您的应用程序。将您的应用程序及其依赖项打包并发布为 Docker 映像。详细说明位于 Beta 知识中心 ,包括示例 Dockerfile。
  2. 将您的 Docker 映像拉到 Docker 主机(即运行 Docker 引擎的系统)并创建一个 Liberty 容器。
  3. 将 Liberty 容器加入到集体中,砰!您可以通过 Liberty 管理中心查看和控制您的 Liberty 容器。从容器中加入和移除 Liberty 服务器所需的脚本是: joinMember 脚本:

 memberHost="$(hostname -i)"
/opt/ibm/wlp/bin/collective join defaultServer --host=$controllerHost --port=$controllerPort --user=$controllerUser --password=$controllerPassword --hostName=$memberHost --createConfigFile --keystorePassword=$memberKeystorePassword --containerName=$containerName --containerHost=$containerHost --autoAcceptCertificates

mkdir /opt/ibm/wlp/usr/servers/defaultServer/configDropins mkdir /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides mv /opt/ibm/wlp/usr/servers/defaultServer/c*.xml /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides

rm /opt/ibm/docker/env.properties echo containerName=$containerName > /opt/ibm/docker/env.properties

删除成员脚本:


 memberHost="$(hostname -i)"
/opt/ibm/wlp/bin/collective join defaultServer --host=$controllerHost --port=$controllerPort --user=$controllerUser --password=$controllerPassword --hostName=$memberHost --createConfigFile --keystorePassword=$memberKeystorePassword --containerName=$containerName --containerHost=$containerHost --autoAcceptCertificates

mkdir /opt/ibm/wlp/usr/servers/defaultServer/configDropins mkdir /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides mv /opt/ibm/wlp/usr/servers/defaultServer/c*.xml /opt/ibm/wlp/usr/servers/defaultServer/configDropins/overrides

rm /opt/ibm/docker/env.properties echo containerName=$containerName > /opt/ibm/docker/env.properties

  1. 或者,您可以配置 Liberty 自动缩放以扩展您的 Liberty Docker 映像。在此测试版中,只有缩放策略最小和最大设置控制给定图像的容器数量。您在第 3 步中使用的 join remove 脚本必须放在 Docker 映像中的 /opt/ibm/docker 中,并命名为 joinMember removeMember Beta 知识中心 包含容器内 Liberty 服务器的示例 server.xml

您可以在以下视频中看到所有这一切:

您可能想知道这种支持在普遍可用后会是什么样子。虽然我们不能做出任何承诺,但明显的改进将包括远程部署、第 2 阶段自动缩放(即基于指标,如 CPU)、健康管理和分析集成。

因此,如果您对管理 Liberty Docker 容器感兴趣,请继续关注并关注接下来的内容!


相关文章