第 92 章 Build 架构参考
used in: KafkaConnectSpec
为 Kafka Connect 部署配置额外的连接器。
92.1. 配置容器注册表
要使用其他连接器插件构建新容器镜像,Apache Kafka 的 Streams 需要可推送镜像的容器 registry,并从中拉取。Apache Kafka 的流不会运行自己的容器 registry,因此必须提供 registry。Apache Kafka 的流支持私有容器 registry 以及 Quay 或 Docker Hub 等公共 registry。容器 registry 在 KafkaConnect
自定义资源的 .spec.build.output
部分中配置。需要 的输出
配置支持两种类型: docker
和 imagestream
。
使用 Docker registry
要使用 Docker registry,您必须将 type
指定为 docker
,image
字段为新容器镜像的完整名称。全名必须包含:
- registry 的地址
- 端口号(如果侦听非标准端口)
- 新容器镜像的标签
有效容器镜像名称示例:
-
docker.io/my-org/my-image/my-tag
-
quay.io/my-org/my-image/my-tag
-
image-registry.image-registry.svc:5000/myproject/kafka-connect-build:latest
每个 Kafka Connect 部署都必须使用单独的镜像,这可能意味着最基本的级别的不同标签。
如果 registry 需要身份验证,请使用 pushSecret
使用 registry 凭证设置 Secret 名称。对于 Secret,请使用 kubernetes.io/dockerconfigjson
类型和一个 .dockerconfigjson
文件来包含 Docker 凭证。有关从私有 registry 中拉取镜像的更多信息,请参阅 基于现有 Docker 凭证创建 Secret。
output
配置示例
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect metadata: name: my-connect-cluster spec: #... build: output: type: docker image: my-registry.io/my-org/my-connect-cluster:latest pushSecret: my-registry-credentials #...
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect-cluster
spec:
#...
build:
output:
type: docker
image: my-registry.io/my-org/my-connect-cluster:latest
pushSecret: my-registry-credentials
#...
Using OpenShift ImageStream
您可以使用 OpenShift ImageStream 存储新的容器镜像,而不是 Docker。在部署 Kafka 连接前,必须手动创建 ImageStream。要使用 ImageStream,将 type
设置为 imagestream
,并使用 image
属性指定 ImageStream 的名称和使用的标签。例如,my-connect-image-stream:latest
。
output
配置示例
apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnect metadata: name: my-connect-cluster spec: #... build: output: type: imagestream image: my-connect-build:latest #...
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
name: my-connect-cluster
spec:
#...
build:
output:
type: imagestream
image: my-connect-build:latest
#...