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

Istio认证异常:部署Kubeflow后无法访问,JWT验证报错

问题描述
  • 在自有服务器上操作,遵循DeployKF本地快速启动指南完成部署后,无法访问Kubeflow
  • 已添加JWT用户,但多数请求返回401状态码,报错Jwt issuer is not configured
  • 空请求头会提示Jwt is missing
  • 尝试寻找禁用JWT校验的方法未果,添加JWT后仍无法完成认证

相关截图:
JWT用户配置
JWT用户配置详情
401报错信息
请求处理情况

解决步骤

1. 对齐JWT Issuer配置

DeployKF的认证组件要求JWT的iss字段与系统配置的发行者完全匹配,包括路径末尾的/这类细节:

  • 用jwt decode <你的Token>命令解析Token,查看iss字段值
  • 检查DeployKF的认证配置:
    • 查看Istio的RequestAuthentication资源:
      kubectl get requestauthentication -n kubeflow
      kubectl describe requestauthentication <资源名称> -n kubeflow
      
    • 查看DeployKF的OIDC配置:
      kubectl get configmap deploykf-common -n deploykf -o yaml
      

确保Token的iss值与配置中的发行者地址完全一致。

2. 验证JWT签名有效性

确认生成JWT所用的密钥与DeployKF配置的密钥匹配:

  • 若用对称密钥,检查系统配置的jwt_key和生成Token时的密钥是否一致
  • 若用非对称密钥,确保DeployKF已正确配置对应公钥

3. 检查Istio授权策略

Istio的AuthPolicy可能限制了访问权限,先查看当前策略:

kubectl get authpolicy -n kubeflow
kubectl describe authpolicy <资源名称> -n kubeflow

测试环境可临时设置允许所有请求:

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: allow-all
  namespace: kubeflow
spec:
  action: ALLOW
  rules:
  - {}

4. 重启认证相关组件

修改配置后,重启对应Pod让配置生效:

kubectl rollout restart deployment -n kubeflow
kubectl rollout restart deployment -n deploykf

5. 临时禁用JWT校验(仅测试环境)

如果只是测试需要跳过认证,可删除Istio的RequestAuthentication资源:

kubectl delete requestauthentication <资源名称> -n kubeflow

同时配合步骤3的允许所有请求策略,即可跳过JWT校验访问Kubeflow。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:32:42