说明
本操作主要针对使用k8s部署logstash,连接阿里云官方kafka时,需要配置kakfa证书。而该证书需要挂载到logstash的pod指定路径中才能生效。下面,主要说明证书具体挂载操作步骤。logstash为使用helm的部署方式。
详细操作
准备
下载阿里云官方提供的kafka的jks证书:
新建kafka-client-jaas.conf:
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
#kafka用户名和密码
username="XXX"
password="XXX";
};
下面是重点,如何生成k8s 的Secret文件。
因为单纯的configMap方式的挂载是无效的,会导致证书文件内容变化,无法实现认证功能。所以需要k8s提供的专门的生成机制,完成挂载文件的创建。
生成 Secret 配置文件:
#1、将kafka.client.truststore.jks文件生成k8s的secret配置文件
kubectl create secret generic kafka-client-truststore --from-file=kafka.client.truststore.jks
#2、将kafka-client-jaas.conf文件生成k8s的configMap文件
kubectl create configmap kafka-jaas-config --from-file=kafka-client-jaas.conf
#3、查看secret和configmap的yaml内容:
kubectl get secret kafka-client-trusts