You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s挂载Secret卷部署Kafka Connect遇TopicAuthorizationException求助

Kafka Connect Worker通过Secret挂载JKS文件无法访问偏移存储主题的解决方案求助

在Kubernetes环境中使用Helm部署confluentinc/cp-kafka-connect-base:7.2.2镜像的Kafka Connect Worker,Kafka集群采用SSL加密,依赖JKS格式的keystore和truststore。当前服务抛出TopicAuthorizationException,无法访问偏移存储主题。

将JKS文件直接打包进镜像时服务可正常运行,但通过Secret卷挂载的方式部署就会出现权限异常,急需解决该挂载方式下的问题。

相关配置文件

Secrets.yaml

apiVersion: v1
kind: Secret
metadata:
  name: {{ .Values.appName }}-jks-files
  namespace: {{ .Values.namespace }}
  labels:
    app: {{ .Values.appName }}-jks-files
data:
  keystore.jks: {{ .Files.Get KeyStoreLoc | b64enc }}
  truststore.jks: {{ .Files.Get TruststoreLoc | b64enc }}

Deployment.yaml(仅模板部分)

JKS密码通过ConfigMap注入(配置未展示)

template:
    metadata:
      labels:
        app: {{ .Values.appName }}
    spec:
      volumes:
        - name: ssl-keystore
          secret:
            secretName: {{ .Values.appName }}-jks-files

      containers:
        - image: {{ .Values.imageName }}
          imagePullPolicy: Always
          name: {{ .Values.appName }}

          volumeMounts:
            - mountPath: "/etc/connect-ssl"
              name: ssl-keystore
              readOnly: true

          ports:
            - containerPort: 8080
              name: http
              protocol: TCP

          envFrom:
            - configMapRef:
                name: {{ .Values.appName }}-config-map

已尝试的排查操作

  • 手动对JKS文件做Base64编码后存入Secret,替代Helm的.Files.Get方式,问题依旧;
  • 修改JKS文件名(带/不带.jks后缀),无效;
  • 进入Pod验证JKS文件确实存在于挂载路径/etc/connect-ssl下;
  • 在容器内使用keytool命令可正常解密JKS文件,验证文件完整性;
  • 修改环境变量CONNECT_SSL_KEYSTORE_LOCATION指向不存在的路径,服务会正常提示文件不存在,说明路径配置生效。

恳请提供可行的解决方案!

内容的提问来源于stack exchange,提问作者devvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 10:54:56