【问题标题】:User "system:anonymous" cannot get path "/"用户“system:anonymous”无法获取路径“/”
【发布时间】:2017-12-19 01:33:19
【问题描述】:

我只是在此链接https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#multi-platform 的基础上设置了一个 kubenetes 集群 我用 kubectl get 节点检查,然后主节点准备就绪,但是当我访问链接时 https://k8s-master-ip:6443/ 它显示错误:用户“系统:匿名”无法获取路径“/”。 我缺少什么技巧?

【问题讨论】:

  • 您希望在该 URL 中看到什么?
  • 我认为这个 url 是 kubenetes 仪表板。实际上,我正在 Jenkins 中配置 kubenetes 插件,但在测试连接步骤中失败了。请看我的照片imgur.com/a/cMNLo
  • 这不是您通常访问仪表板的方式。运行kubectl proxy,然后转到localhost:8001/ui。确保首先使用 kubectl create -f https://git.io/kube-dashboard 安装它
  • @TienDungTran 在此期间您是否设法通过 Jenkins 中的 Kubernetes 进行身份验证?

标签: kubernetes kubectl kubeadm


【解决方案1】:

最新的 kubernetes 部署工具在集群上启用了 RBAC。当 Jenkins 访问 https://192.168.70.94:6443/api/v1/... 时,它被降级为包罗万象的用户 system:anonymous。该用户几乎没有 kube-apiserver 的权限。

最重要的是,Jenkins 需要使用 kube-apiserver 进行身份验证 - 使用不记名令牌或由 k8s 集群的 CA 密钥签名的客户端证书。

方法 1. 如果 Jenkins 托管在 k8s 集群中,这是首选:

  1. 在 k8s 中为插件创建一个 ServiceAccount
  2. 创建绑定到 ServiceAccount 的 RBAC 配置文件(即 Role/RoleBinding 或 ClusterRole/ClusterRoleBinding)
  3. 配置插件以在访问 URL https://192.168.70.94:6443/api/v1/... 时使用 ServiceAccount 的令牌

方法2.如果Jenkins托管在k8s集群外,上述步骤仍然可以使用。替代方法是:

  1. 创建一个绑定到 k8s 集群 CA 的客户端证书。您必须找到 CA 密钥的保存位置并使用它来生成客户端证书。
  2. 创建与客户端证书绑定的 RBAC 配置文件(即 Role/RoleBinding 或 ClusterRole/ClusterRoleBinding)
  3. 配置插件以在访问 URL https://192.168.70.94:6443/api/v1/... 时使用客户端证书

这两种方法都适用于任何情况。我相信方法 1 对您来说会更简单,因为您不必乱用 CA 密钥。

【讨论】:

    【解决方案2】:

    希望你看到这样的东西:

    {
      "kind": "Status",
      "apiVersion": "v1",
      "metadata": {
        
      },
      "status": "Failure",
      "message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
      "reason": "Forbidden",
      "details": {
        
      },
      "code": 403
    }
    

    这很好,因为不是每个人都应该能够访问集群,如果你想看到服务运行"kubectl proxy",这应该能够从外部访问服务。

    C:\dev1> kubectl proxy
    Starting to serve on 127.0.0.1:8001
    

    当您点击127.0.0.1:8001 时,您应该会看到服务列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-17
      • 2019-08-12
      相关资源
      最近更新 更多