第 4 章 为 Apache Kafka 代理配置流
通过为 Apache Kafka Proxy 资源配置流来微调部署,以根据您的特定要求包含额外功能。
4.1. Apache Kafka Proxy 配置示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Apache Kafka Proxy 配置的流在 ConfigMap 资源中定义。使用 ConfigMap 资源的 data 属性来配置以下内容:
- 代表 Kafka 集群的虚拟集群
- Kafka 集群中代理通信的网络地址
- 过滤器为 Kafka 部署引入了额外的功能
在本例中,显示了 Record Encryption 过滤器的配置。
Apache Kafka Proxy 配置示例
apiVersion: v1
kind: ConfigMap
metadata:
name: proxy-config
data:
config.yaml: |
adminHttp:
endpoints:
prometheus: {}
virtualClusters:
my-cluster-proxy:
targetCluster:
bootstrap_servers: my-cluster-kafka-bootstrap.kafka.svc.cluster.local:9093
tls:
trust:
storeFile: /opt/proxy/trust/ca.p12
storePassword:
passwordFile: /opt/proxy/trust/ca.password
clusterNetworkAddressConfigProvider:
type: SniRoutingClusterNetworkAddressConfigProvider
Config:
bootstrapAddress: mycluster-proxy.kafka:9092
brokerAddressPattern: broker$(nodeId).mycluster-proxy.kafka
logNetwork: false
logFrames: false
tls:
key:
storeFile: /opt/proxy/server/key-material/keystore.p12
storePassword:
passwordFile: /opt/proxy/server/keystore-password/storePassword
filters:
- type: EnvelopeEncryption
config:
kms: VaultKmsService
kmsConfig:
vaultTransitEngineUrl: https://vault.vault.svc.cluster.local:8200/v1/transit
vaultToken:
passwordFile: /opt/proxy/server/token.txt
tls:
key:
storeFile: /opt/cert/server.p12
storePassword:
passwordFile: /opt/cert/store.password
keyPassword:
passwordFile: /opt/cert/key.password
storeType: PKCS12
selector: TemplateKekSelector
selectorConfig:
template: "${topicName}"
- 1
- 为代理启用指标。
- 2
- 虚拟集群配置。
- 3
- 虚拟机的名称。
- 4
- 要代理的目标物理 Kafka 集群的 bootstrap 地址。
- 5
- 用于连接到目标集群的 TLS 配置。
- 6
- 用于控制如何将虚拟集群的集群网络地址配置供应商提供给网络。
- 7
- 默认禁用日志记录。通过将日志记录属性设置为
true来启用与网络活动相关的日志记录(logNetwork)和消息(logFrames)。 - 8
- 用于保护与客户端的连接的 TLS 加密。
- 9
- 过滤配置。
- 10
- 过滤器类型,这是本例中的 Record Encryption 过滤器。
- 11
- 特定于过滤器类型的配置。
- 12
- Record Encryption 过滤器需要连接到 Vault。如果需要,您还可以使用 Vault 指定 TLS 身份验证的凭证,其键名称存储在其中。