kubernetes:部署仪表板(ui)时出错

标签 kubernetes kops

我已经使用 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://<my_master_node_public_ip>/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"

最佳答案

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

$ 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/ 访问

关于kubernetes:部署仪表板(ui)时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904001/

相关文章:

dns - 微服务的kubernetes dns查找

kubernetes - 如何停止副本集终止请求的Pod数量

kubernetes - GKE : Kubernetes Master/kubectl unresponsive during node scale

AWS 上 kops 的 Kubernetes 仪表板仅显示 json

kubernetes - 无法使用Kops命令创建集群

amazon-web-services - 问题:使用Kops在AWS上创建kubernetes集群

amazon-web-services - 更改Kops部署样式

azure - Kubernetes网络: my frontend cannot reach backend

nginx - 入口未绑定(bind)到负载均衡器

amazon-web-services - 如何在Kops中处理多个AWS账户?