4.2.2.2. 使用 OpenShift 构建和源至镜像创建容器镜像


此流程演示了如何使用 OpenShift 构建源至镜像(S2I) 框架来创建新的容器镜像。

OpenShift 构建获取支持 S2I 的构建器镜像,以及用户提供的源代码和二进制文件,并使用它们来构建新的容器镜像。构建之后,容器镜像将存储在 OpenShift 的本地容器镜像存储库中,并可在部署中使用。

红帽生态系统目录 中提供了带有 S2I 支持的 Kafka Connect 构建器镜像,作为 registry.redhat.io/amq7/amq-streams-kafka-26-rhel7:1.6.7 镜像的一部分。此 S2I 镜像提取您的二进制文件(带有插件和连接器),并将它们存储在 /tmp/kafka-plugins/s2i 目录中。它从这个目录中创建一个新的 Kafka Connect 镜像,然后可与 Kafka Connect 部署一起使用。当使用增强的镜像启动时,Kafka Connect 会从 /tmp/kafka-plugins/s2i 目录中加载任何第三方插件。

步骤

  1. 在命令行中,使用 oc apply 命令创建和部署 Kafka Connect S2I 集群:

    oc apply -f examples/connect/kafka-connect-s2i.yaml
    Copy to Clipboard Toggle word wrap
  2. 使用 Kafka Connect 插件创建目录:

    $ tree ./my-plugins/
    ./my-plugins/
    ├── debezium-connector-mongodb
    │   ├── bson-3.4.2.jar
    │   ├── CHANGELOG.md
    │   ├── CONTRIBUTE.md
    │   ├── COPYRIGHT.txt
    │   ├── debezium-connector-mongodb-0.7.1.jar
    │   ├── debezium-core-0.7.1.jar
    │   ├── LICENSE.txt
    │   ├── mongodb-driver-3.4.2.jar
    │   ├── mongodb-driver-core-3.4.2.jar
    │   └── README.md
    ├── debezium-connector-mysql
    │   ├── CHANGELOG.md
    │   ├── CONTRIBUTE.md
    │   ├── COPYRIGHT.txt
    │   ├── debezium-connector-mysql-0.7.1.jar
    │   ├── debezium-core-0.7.1.jar
    │   ├── LICENSE.txt
    │   ├── mysql-binlog-connector-java-0.13.0.jar
    │   ├── mysql-connector-java-5.1.40.jar
    │   ├── README.md
    │   └── wkb-1.0.2.jar
    └── debezium-connector-postgres
        ├── CHANGELOG.md
        ├── CONTRIBUTE.md
        ├── COPYRIGHT.txt
        ├── debezium-connector-postgres-0.7.1.jar
        ├── debezium-core-0.7.1.jar
        ├── LICENSE.txt
        ├── postgresql-42.0.0.jar
        ├── protobuf-java-2.6.1.jar
        └── README.md
    Copy to Clipboard Toggle word wrap
  3. 使用 oc start-build 命令,使用准备的目录启动镜像的新构建:

    oc start-build my-connect-cluster-connect --from-dir ./my-plugins/
    Copy to Clipboard Toggle word wrap
    注意

    构建的名称与部署的 Kafka Connect 集群的名称相同。

  4. 构建完成后,Kafka Connect 部署会自动使用新镜像。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat