我使用Kafka与斯特里姆齐运算符。我不知道如何使用Kafka塞尔谁能给我建议,我应该在哪里学习它的实际实施。我刚刚创建了一个Kafka用户和Kafka,现在我完全不知道该怎么做。这是我的kafkauser yml代码:
apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaUser
metadata:
name: my-user
labels:
strimzi.io/cluster: my-cluster
spec:
authentication:
type: tls
authorization:
type: simple
acls:
# Example consumer Acls for topic my-topic using consumer group my-group
- resource:
type: topic
name: my-topic
patternType: literal
operation: Read
host: "*"
- resource:
type: topic
name: my-topic
patternType: literal
operation: Describe
host: "*"
- resource:
type: group
name: my-group
patternType: literal
operation: Read
host: "*"
# Example Producer Acls for topic my-topic
- resource:
type: topic
name: my-topic
patternType: literal
operation: Write
host: "*"
- resource:
type: topic
name: my-topic
patternType: literal
operation: Create
host: "*"
- resource:
type: topic
name: my-topic
patternType: literal
operation: Describe
host: "*"
这是我的Kafka通片yml文件代码:
apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaTopic
metadata:
name: my-topic
labels:
strimzi.io/cluster: my-cluster
spec:
partitions: 1
replicas: 1
config:
retention.ms: 7200000
segment.bytes: 1073741824
1条答案
按热度按时间ymzxtsji1#
如果启用
tls
用户身份验证我希望在你的Kafka
您还启用了身份验证的自定义资源。当KafkaUser
使用此身份验证类型创建时,将使用用户私钥和证书生成相应的密钥,以便与代理进行相互tls身份验证。您必须从密钥中提取密钥和证书,并在客户端应用程序中配置密钥库(这取决于您使用的语言)。如果是java,您可以直接从密钥中提取密钥库(使用相应的密码,格式为p12)。如果是java,您可以在kafka官方文档中查阅,以便在从机密中提取时设置密钥库和信任库:https://kafka.apache.org/documentation/#security_configclients启用相互tls身份验证意味着您还必须通过tls连接到代理(您在
Kafka
资源)所以您必须从集群ca secret中提取证书并将其导入信任库。客户机将能够连接到该点,进行身份验证,并应用您描述的acl。更多信息见官方文件:
关于用户身份验证https://strimzi.io/docs/operators/master/using.html#con-保护客户端身份验证str
关于在连接到集群的kubernetes上运行的客户机https://strimzi.io/docs/operators/master/using.html#configuring-信任群集ca str的内部客户端
关于在kubernetes外部运行并连接到集群的客户机https://strimzi.io/docs/operators/master/using.html#configuring-信任群集ca str的外部客户端