【问题标题】:Kubernetes dashboard not workingKubernetes 仪表板不工作
【发布时间】:2017-10-26 10:46:20
【问题描述】:

我尝试实现 kubernetes 仪表板,但它始终处于 CrashLoopBackoff 状态,无论我部署多少次它都具有相同的信念

host-xxx:~ # kubectl get pods --all-namespaces                                                                                                                                                                                          
NAMESPACE     NAME                                    READY     STATUS             RESTARTS   AGE
default       locust-master-pr59t                     1/1       Running            0          2d
default       my-nginx-2565190728-8z0eh               1/1       Running            0          2d
default       my-nginx-2565190728-if4my               1/1       Running            0          2d
kube-system   kubernetes-dashboard-1975554030-80rxv   0/1       CrashLoopBackOff   249        21h

我有来自“kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard-head.yaml”的 yaml 文件

host-xxx:~ # kubectl describe pod --namespace=kube-system kubernetes-dashboard-1975554030-80rxv
Name:           kubernetes-dashboard-1975554030-80rxv
Namespace:      kube-system
Node:           host-44-11-1-25/44.11.1.25
Start Time:     Wed, 21 Dec 2016 14:49:48 +0000
Labels:         app=kubernetes-dashboard
                pod-template-hash=1975554030
Status:         Running
IP:             172.20.140.2
Controllers:    ReplicaSet/kubernetes-dashboard-1975554030
Containers:
  kubernetes-dashboard:
    Container ID:               docker://708aac5cebdff057b69cec94e582cb45f7dba424c336fb320dd0d5e3243fc323
    Image:                      gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.0
    Image ID:                   docker://sha256:e5133bac8024ac6c916f16df8790259b5504a800766bee87dcf90ec7d634a418
    Port:                       9090/TCP
    State:                      Waiting
      Reason:                   CrashLoopBackOff
    Last State:                 Terminated
      Reason:                   Error
      Exit Code:                1
      Started:                  Thu, 22 Dec 2016 11:32:12 +0000
      Finished:                 Thu, 22 Dec 2016 11:32:13 +0000
    Ready:                      False
    Restart Count:              244
    Liveness:                   http-get http://:9090/ delay=30s timeout=30s period=10s #success=1 #failure=3
    Environment Variables:      <none>
Conditions:
  Type          Status
  Initialized   True 
  Ready         False 
  PodScheduled  True 
No volumes.
QoS Tier:       BestEffort
Events:
  FirstSeen     LastSeen        Count   From                            SubobjectPath                           Type            Reason                  Message
  ---------     --------        -----   ----                            -------------                           --------        ------                  -------
  20h           3m              245     {kubelet host-44-11-1-25}       spec.containers{kubernetes-dashboard}   Normal          Pulling                 pulling image "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.0"
  20h           3m              246     {kubelet host-44-11-1-25}                                               Warning         MissingClusterDNS       kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
  20h           3m              245     {kubelet host-44-11-1-25}       spec.containers{kubernetes-dashboard}   Normal          Pulled                  Successfully pulled image "gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.0"
  20h           3m              236     {kubelet host-44-11-1-25}       spec.containers{kubernetes-dashboard}   Normal          Created                 (events with common reason combined)
  20h           3m              236     {kubelet host-44-11-1-25}       spec.containers{kubernetes-dashboard}   Normal          Started                 (events with common reason combined)
  20h           3s              5940    {kubelet host-44-11-1-25}       spec.containers{kubernetes-dashboard}   Warning         BackOff                 Back-off restarting failed docker container
  20h           3s              5906    {kubelet host-44-11-1-25}                                               Warning         FailedSync              Error syncing pod, skipping: failed to "StartContainer" for "kubernetes-dashboard" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=kubernetes-dashboard pod=kubernetes-dashboard-1975554030-80rxv_kube-system(b893d9c4-c78c-11e6-bd87-fa163e39bb70)"

我不确定为什么会出现此错误消息,在 minion 上看起来图像已被拉取,我可以使用 docker 拉取它..

你们有这方面的理论吗?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    镜像拉取成功,容器在POD中启动失败,在这个阶段你可以检查一下验证容器日志的问题:

    kubectl logs --namespace=kube-system kubernetes-dashboard-1975554030-80rxv

    kubelet 发出警告:

    kubelet 没有配置 ClusterDNS IP,无法使用“ClusterFirst”策略创建 Pod。回退到 DNSDefault 策略。

    也许问题与 DNS 有关,我有一个自定义安装,其中仪表板容器仅在 DNS 处于活动状态时启动,验证日志以了解它失败的原因。

    【讨论】:

      【解决方案2】:

      就像早期的答案所说,

      您可以使用命令kubectl logs --namespace=kube-system kubernetes-dashboard-1975554030-80rxv 来检查发生的错误详情。

      对于错误kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.

      也许你还没有启用kubedns组件,这可能会导致这个问题。

      如果您仍在使用 https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard-head.yaml 创建您的 kubernetes 仪表板,您可以运行命令 kubectl edit pod kubernetes-dashboard-1975554030-80rxv -n kube-system 手动将 DNS 策略更改为默认值。密钥应该是 spec.template.spec.dnsPolicyDefault 然后重新创建这个 Pod 看看它是否可以工作。

      更多详情请见http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html

      顺便说一句,您也可以使用官方仪表板创建https://github.com/kubernetes/dashboard#getting-started

      【讨论】:

        猜你喜欢
        • 2017-06-04
        • 2018-11-19
        • 1970-01-01
        • 2023-03-12
        • 2017-01-12
        • 2020-01-14
        • 2019-05-09
        • 1970-01-01
        • 2016-10-07
        相关资源
        最近更新 更多