没有可用于服务\“ kubernetes-dashboard \”的端点

ale*_*xus 4 kubernetes kubectl

我正在尝试遵循GitHub-kubernetes / dashboard:Kubernetes集群的通用Web UI

部署/访问:

# export KUBECONFIG=/etc/kubernetes/admin.conf
# kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
secret/kubernetes-dashboard-certs created
serviceaccount/kubernetes-dashboard created
role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
deployment.apps/kubernetes-dashboard created
service/kubernetes-dashboard created
# kubectl proxy
Starting to serve on 127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)

卷曲:

# curl http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "no endpoints available for service \"kubernetes-dashboard\"",
  "reason": "ServiceUnavailable",
  "code": 503
}# 
Run Code Online (Sandbox Code Playgroud)

请指教。

每个@VKR

$ kubectl get pods --all-namespaces 
NAMESPACE     NAME                                              READY   STATUS              RESTARTS   AGE
kube-system   coredns-576cbf47c7-56vg7                          0/1     ContainerCreating   0          57m
kube-system   coredns-576cbf47c7-sn2fk                          0/1     ContainerCreating   0          57m
kube-system   etcd-wcmisdlin02.uftwf.local                      1/1     Running             0          56m
kube-system   kube-apiserver-wcmisdlin02.uftwf.local            1/1     Running             0          56m
kube-system   kube-controller-manager-wcmisdlin02.uftwf.local   1/1     Running             0          56m
kube-system   kube-proxy-2hhf7                                  1/1     Running             0          6m57s
kube-system   kube-proxy-lzfcx                                  1/1     Running             0          7m35s
kube-system   kube-proxy-rndhm                                  1/1     Running             0          57m
kube-system   kube-scheduler-wcmisdlin02.uftwf.local            1/1     Running             0          56m
kube-system   kubernetes-dashboard-77fd78f978-g2hts             0/1     Pending             0          2m38s
$ 
Run Code Online (Sandbox Code Playgroud)

logs

$ kubectl logs kubernetes-dashboard-77fd78f978-g2hts -n kube-system
$ 
Run Code Online (Sandbox Code Playgroud)

describe

$ kubectl describe pod kubernetes-dashboard-77fd78f978-g2hts -n kube-system
Name:               kubernetes-dashboard-77fd78f978-g2hts
Namespace:          kube-system
Priority:           0
PriorityClassName:  <none>
Node:               <none>
Labels:             k8s-app=kubernetes-dashboard
                    pod-template-hash=77fd78f978
Annotations:        <none>
Status:             Pending
IP:                 
Controlled By:      ReplicaSet/kubernetes-dashboard-77fd78f978
Containers:
  kubernetes-dashboard:
    Image:      k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
    Port:       8443/TCP
    Host Port:  0/TCP
    Args:
      --auto-generate-certificates
    Liveness:     http-get https://:8443/ delay=30s timeout=30s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /certs from kubernetes-dashboard-certs (rw)
      /tmp from tmp-volume (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kubernetes-dashboard-token-gp4l7 (ro)
Conditions:
  Type           Status
  PodScheduled   False 
Volumes:
  kubernetes-dashboard-certs:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kubernetes-dashboard-certs
    Optional:    false
  tmp-volume:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:  
  kubernetes-dashboard-token-gp4l7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kubernetes-dashboard-token-gp4l7
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node-role.kubernetes.io/master:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                      From               Message
  ----     ------            ----                     ----               -------
  Warning  FailedScheduling  4m39s (x21689 over 20h)  default-scheduler  0/3 nodes are available: 3 node(s) had taints that the pod didn't tolerate.
$ 
Run Code Online (Sandbox Code Playgroud)

小智 8

看来您是在尝试利用Kubernetes进行部署,kubeadm但是已经跳过了安装Pod Network Add-on(CNI)的步骤。注意警告:

必须在任何应用程序之前部署网络。另外,在安装网络之前,CoreDNS将不会启动。kubeadm仅支持基于容器网络接口(CNI)的网络(不支持kubenet)。

完成此操作后,CoreDNS Pod应该会正常运行。可以通过以下方式验证: kubectl -n kube-system -l=k8s-app=kube-dns get pods

然后,kubernetes-dashboard豆荚也应该健康。


mef*_*ngl 7

如果您正在使用helm

检查是否kubectl proxy正在运行

然后转到

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

上面链接中的两个提示:

  1. 使用helm安装时,命名空间将是/default(不是/kubernetes-dashboard
  2. 需要https在后面添加/https:kubernetes-dashboard:

更好的方法是

helm delete kubernetes-dashboard

kubectl create namespace kubernetes-dashboard

helm install -n kubernetes-dashboard kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard

然后转到

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

然后您可以轻松地按照create-sample-user获取令牌来登录

  • 我遇到的每个教程都缺少第二个“https”,例如 [k3s 中的这个](https://docs.k3s.io/installation/kube-dashboard)。谢谢! (2认同)

aym*_*afa 5

你可以参考https://github.com/kubernetes/dashboard#getting-started

另外,我在您的链接中看到“https”请尝试使用此链接 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/