使用helm的Kubernetes kerberos和kafka秘密设置
我有一个消费卡夫卡的需求,卡夫卡有SASA_明文协议。 我的应用程序是springboot应用程序,我正在尝试使用helm图表在kubernetes中部署它 我已将密钥选项卡添加为kubernetes secret,并使用以下代码作为文件装载:使用helm的Kubernetes kerberos和kafka秘密设置,kubernetes,kerberos,kubernetes-helm,spring-kafka,Kubernetes,Kerberos,Kubernetes Helm,Spring Kafka,我有一个消费卡夫卡的需求,卡夫卡有SASA_明文协议。 我的应用程序是springboot应用程序,我正在尝试使用helm图表在kubernetes中部署它 我已将密钥选项卡添加为kubernetes secret,并使用以下代码作为文件装载: apiVersion: v1 kind: Pod metadata: name: service-name spec: volumes: - name: Kafka-secret secret: secretName : ka
apiVersion: v1
kind: Pod
metadata:
name: service-name
spec:
volumes:
- name: Kafka-secret
secret:
secretName : kafka-keytab
emptyDir: {}
containers:
- name: redis
image: redis
volumeMounts:
- name: Kafka-secret
mountPath: “/etc/security”
我在application.yaml的spring.jaas.config中的键选项卡上指定安装位置
sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required \
useKeyTab=true \
storeKey=true \
keyTab="/etc/security/keytabs/kafka-keytab“ (This is a mounted path on kubernetes and kafka-vol is key name) \
principal="kafka-client-1@EXAMPLE.COM";
我有kerberos设置。目前,我正在Dockerfile中使用以下命令添加krb5.cong
FROM java-jdk:11
ADD service-name.tar /
ADD krb5.conf /etc/krb5.conf
ENTRYPOINT java -Djava.security.krb5.conf=/etc/krb5.conf -jar /<jar-path>
如果需要任何信息,请告诉我。非常感谢有关此问题的任何提示或帮助。当您使用
mountPath:“/etc/security”
您的机密将覆盖此目录的内容,这是预期行为吗?为了澄清,创建的秘密是一个转换成base64的密钥表文件,对吗?如果您登录到容器,您可以正确地看到该文件?它作为Kubernetes secret被注入,我可以看到它作为卷装载在该位置。是的,它是base64。对我来说,有趣的例外是“org.ietf.jgss.GSSException:提供的名称无效(机制级别:krbeexception:找不到默认域)”。您的krb5.conf文件似乎有问题。当您使用mountPath:“/etc/security”
时,您的机密将覆盖此目录的内容,这是预期行为吗?为了澄清,创建的秘密是一个转换成base64的密钥表文件,对吗?如果您登录到容器,您可以正确地看到该文件?它作为Kubernetes secret被注入,我可以看到它作为卷装载在该位置。是的,它是base64。对我来说,有趣的例外是“org.ietf.jgss.GSSException:提供的名称无效(机制级别:krbeexception:找不到默认域)”。您的krb5.conf文件似乎有问题。