【问题标题】:kubernetes: Error deploying dashboard (ui)kubernetes:部署仪表板(ui)时出错
【发布时间】:2017-12-20 20:02:41
【问题描述】:

我已经使用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

集群有1个master和2个slave。

我正在尝试按照these guidelines 使用以下命令部署仪表板:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

1

我收到以下错误:

secret "kubernetes-dashboard-certs" created
serviceaccount "kubernetes-dashboard" created
error: error validating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": error validating data: unknown object type schema.GroupVersionKind{Group:"rbac.authorization.k8s.io", Version:"v1", Kind:"Role"}; if you choose to ignore these errors, turn validation off with --validate=false

2

无法通过https://&lt;my_master_node_public_ip&gt;/ui访问我的仪表板

相反,我得到以下信息:

kind    "Status"
apiVersion  "v1"
metadata    {}
status  "Failure"
message "endpoints \"kubernetes-dashboard\" not found"
reason  "NotFound"
details 
name    "kubernetes-dashboard"
kind    "endpoints"
code    404

3

运行后

kubectl proxy

并尝试通过以下方式访问仪表板:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

按照相关指南的指示,我遇到了完全相同的问题。

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.1", GitCommit:"f38e43b221d08850172a9a4ea785a86a3ffa3b3a", GitTreeState:"clean", BuildDate:"2017-10-11T23:27:35Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.11", GitCommit:"b13f2fd682d56eab7a6a2b5a1cab1a3d2c8bdd55", GitTreeState:"clean", BuildDate:"2017-11-25T17:51:39Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

编辑:这是关闭验证错误时的结果:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml --validate=false
secret "kubernetes-dashboard-certs" configured
serviceaccount "kubernetes-dashboard" configured
service "kubernetes-dashboard" created
Error from server (BadRequest): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": Role in version "v1" cannot be handled as a Role: no kind "Role" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": RoleBinding in version "v1" cannot be handled as a RoleBinding: no kind "RoleBinding" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": Deployment in version "v1beta2" cannot be handled as a Deployment: no kind "Deployment" is registered for version "apps/v1beta2"

【问题讨论】:

  • 对于希望帮助您包含您正在处理的 Kubernetes 版本的其他人总是有用的,也就是说,在您的问题中包含 kubectl version 的输出。也就是说,我的预感是它与 RBAC 相关,所以我建议尝试docs.heptio.com/content/tutorials/rbac.html 中的一种方法,以赋予kube-system:default 服务帐户必要的权限。
  • 更新为k8s 版本
  • 感谢您添加版本。现在,我错过了最初的错误,那么kubectl get po -n kube-system | grep kubernetes-dashboard 给了你什么?
  • 没什么...空结果!
  • 问题也更新了用于设置集群的kops 命令序列

标签: kubernetes kops


【解决方案1】:

问题是您正在使用 kops 配置 Kubernetes 1.7 集群并为 Kubernetes 1.8 使用 dashboard manifest 文件,因此请尝试以下操作(首先对当前部署进行核对),然后:

$ kops create cluster --kubernetes-version="1.8.1" --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>

正如pkaramol 指出的那样,您也可以将 kops 升级到 1.8,它也应该可以工作。

请注意,在任何情况下,为了访问仪表板,请执行以下操作:

$ kubectl proxy

...然后仪表板应该可以通过http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 访问

【讨论】:

  • 我接受了你的回答谢谢。但是我通过升级到 kops 到 1.8 解决了这个问题。它可以通过localhost url 访问,但是https://&lt;public_ip_of_master&gt;/ui 仍然不起作用,给Error: 'malformed HTTP response "\x15\x03\x01\x00\x02\x02"' Trying to reach: 'http://100.96.2.4:8443/'
  • 谢谢!嗯,好的,是的,升级 kops 也是可以的,只要你创建一个 1.8 的集群。 IIRC https://&lt;public_ip_of_master&gt;/ui URL 已弃用,因此需要使用 kubectl proxy 然后通过 localhost:8001/api/v1/namespaces/kube-system/services/… 访问……你能确认它有效吗?
  • 好的,我也会添加...
猜你喜欢
  • 2019-09-07
  • 2017-11-04
  • 2019-07-08
  • 2021-06-20
  • 2018-09-11
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 2018-11-19
相关资源
最近更新 更多