$ oc create secret -n <namespace> generic <kafka_auth_secret> \
--from-file=ca.crt=caroot.pem \
--from-file=user.crt=certificate.pem \
--from-file=user.key=key.pem
Apache Kafka 客户端和服务器使用传输层安全 (TLS) 来加密 Knative 和 Kafka 之间的流量,以及用于身份验证。对于 Apache Kafka 的 Knative 代理实现,TLS 是唯一支持的流量加密方法。
您在 OpenShift Container Platform 上拥有集群或专用管理员权限。
OpenShift Serverless Operator、Knative Eventing 和KnativeKafka
CR 已安装在您的 OpenShift Container Platform 集群上。
您已创建一个项目,或有权访问具有创建 OpenShift Container Platform 中的应用程序和其他工作负载的适当角色和权限的项目。
您有一个存储为.pem
文件的 Kafka 集群 CA 证书。
您有一个存储为.pem
文件的 Kafka 集群客户端证书和密钥。
安装 OpenShift CLI (oc
)。
在您选择的命名空间中将证书文件创建为密钥。
$ oc create secret -n <namespace> generic <kafka_auth_secret> \
--from-file=ca.crt=caroot.pem \
--from-file=user.crt=certificate.pem \
--from-file=user.key=key.pem
使用密钥名称 |
开始编辑KnativeKafka
自定义资源
$ oc edit knativekafka
引用您的密钥和密钥的命名空间
apiVersion: operator.serverless.openshift.io/v1alpha1
kind: KnativeKafka
metadata:
namespace: knative-eventing
name: knative-kafka
spec:
channel:
authSecretName: <kafka_auth_secret>
authSecretNamespace: <kafka_auth_secret_namespace>
bootstrapServers: <bootstrap_servers>
enabled: true
source:
enabled: true
确保指定引导服务器中的匹配端口。 |
例如
apiVersion: operator.serverless.openshift.io/v1alpha1
kind: KnativeKafka
metadata:
namespace: knative-eventing
name: knative-kafka
spec:
channel:
authSecretName: tls-user
authSecretNamespace: kafka
bootstrapServers: eventing-kafka-bootstrap.kafka.svc:9094
enabled: true
source:
enabled: true
Apache Kafka 使用简单身份验证和安全层 (SASL) 进行身份验证。如果您在集群上使用 SASL 身份验证,则用户必须向 Knative 提供凭据才能与 Kafka 集群通信;否则,无法生成或使用事件。
您在 OpenShift Container Platform 上拥有集群或专用管理员权限。
OpenShift Serverless Operator、Knative Eventing 和KnativeKafka
CR 已安装在您的 OpenShift Container Platform 集群上。
您已创建一个项目,或有权访问具有创建 OpenShift Container Platform 中的应用程序和其他工作负载的适当角色和权限的项目。
您拥有 Kafka 集群的用户名和密码。
您已选择要使用的 SASL 机制,例如PLAIN
、SCRAM-SHA-256
或SCRAM-SHA-512
。
如果启用了 TLS,您还需要 Kafka 集群的ca.crt
证书文件。
安装 OpenShift CLI (oc
)。
在您选择的命名空间中将证书文件创建为密钥。
$ oc create secret -n <namespace> generic <kafka_auth_secret> \
--from-file=ca.crt=caroot.pem \
--from-literal=password="SecretPassword" \
--from-literal=saslType="SCRAM-SHA-512" \
--from-literal=user="my-sasl-user"
使用密钥名称ca.crt
、password
和sasl.mechanism
。不要更改它们。
如果您想将 SASL 与公共 CA 证书一起使用,则在创建密钥时必须使用tls.enabled=true
标志,而不是ca.crt
参数。例如
$ oc create secret -n <namespace> generic <kafka_auth_secret> \
--from-literal=tls.enabled=true \
--from-literal=password="SecretPassword" \
--from-literal=saslType="SCRAM-SHA-512" \
--from-literal=user="my-sasl-user"
开始编辑KnativeKafka
自定义资源
$ oc edit knativekafka
引用您的密钥和密钥的命名空间
apiVersion: operator.serverless.openshift.io/v1alpha1
kind: KnativeKafka
metadata:
namespace: knative-eventing
name: knative-kafka
spec:
channel:
authSecretName: <kafka_auth_secret>
authSecretNamespace: <kafka_auth_secret_namespace>
bootstrapServers: <bootstrap_servers>
enabled: true
source:
enabled: true
确保指定引导服务器中的匹配端口。 |
例如
apiVersion: operator.serverless.openshift.io/v1alpha1
kind: KnativeKafka
metadata:
namespace: knative-eventing
name: knative-kafka
spec:
channel:
authSecretName: scram-user
authSecretNamespace: kafka
bootstrapServers: eventing-kafka-bootstrap.kafka.svc:9093
enabled: true
source:
enabled: true