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

NNI结合K8s使用FrameworkController报BarrierUnknownFailed错误如何解决

错误根因

该报错的核心原因是Kubernetes集群default命名空间下的默认服务账号system:serviceaccount:default:default,没有frameworkcontroller自定义资源frameworks的GET访问权限,导致init容器frameworkbarrier拉取资源失败,Pod卡在初始化阶段。


解决步骤

  1. 创建framework资源访问权限角色
    新建配置文件fc-role.yaml,内容如下:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: frameworkcontroller-access
rules:
- apiGroups: ["frameworkcontroller.microsoft.com"]
  resources: ["frameworks"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

执行命令创建角色:
kubectl apply -f fc-role.yaml

  1. 绑定角色到目标服务账号
    新建绑定配置文件fc-rolebinding.yaml,内容如下:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: fc-default-sa-binding
subjects:
- kind: ServiceAccount
  name: default
  namespace: default # 如果你将NNI实验部署在其他命名空间,此处替换为对应命名空间
roleRef:
  kind: ClusterRole
  name: frameworkcontroller-access
  apiGroup: rbac.authorization.k8s.io

执行命令创建绑定:
kubectl apply -f fc-rolebinding.yaml

  1. 验证权限配置生效
    执行以下命令,返回yes则说明权限配置正确:
    kubectl auth can-i get frameworks.frameworkcontroller.microsoft.com --as=system:serviceaccount:default:default -n default

  2. 清理之前卡住的异常实验,重新执行nnictl create --config frameworkConfig.yaml启动实验即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:18:02