2

kops我已经使用以下命令在 AWS 上成功设置了一个 kubernetes 集群:

$ kops create cluster --name=<my_cluster_name> --state=s3://<my-state-bucket> --zones=eu-west-1a --node-count=2 --node-size=t2.micro --master-size=t2.small --dns-zone=<my-cluster-dns>

$ kops update cluster <my-cluster-name> --yes

访问仪表板时,系统会提示我输入令牌或

请选择您创建的 kubeconfig 文件来配置对集群的访问。

创建集群时,~/.kube/config已创建具有以下形式:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: 
    <some_key_or_token_here>
    server: https://api.<my_cluster_url>
  name: <my_cluster_name>
contexts:
- context:
    cluster: <my_cluster_name>
    user: <my_cluster_name>
  name: <my_cluster_name>
current-context: <my_cluster_name>
kind: Config
preferences: {}
users:
- name: <my_cluster_name>
  user:
    as-user-extra: {}
    client-certificate-data:
    <some_key_or_certificate>
    client-key-data:
    <some_key_or_certificate>
    password: <password>
    username: admin
- name:<my-cluster-url>-basic-auth
  user:
    as-user-extra: {}
    password: <password>
    username: admin

为什么将 kubernetes ui 指向上述文件时,我得到

身份验证失败。请再试一次。

4

2 回答 2

5

我尝试了同样的方法并遇到了同样的问题。事实证明,kops 创建了一个基于证书的身份验证。不能在 Web UI 界面上使用基于证书的身份验证。相反,我尝试使用基于令牌的身份验证。下一个问题,你在哪里找到令牌?

kubectl describe secret

这将向您显示集群的默认令牌。我认为这是非常糟糕的安全实践,但如果您使用 UI 来提高您的学习和理解能力,那么它将让您朝着正确的方向前进。

这个仪表板 wiki 页面是关于身份验证的。这就是我发现如何做到这一点的地方。

于 2018-04-26T11:14:02.687 回答
0

为了在仪表板--authentication-mode=basic标志中启用基本身份验证,必须提供。默认情况下,它设置为--authentication-mode=token

要获取令牌或了解有关访问控制的更多信息,请参阅此处

于 2017-12-21T13:27:43.467 回答