简体   繁体   English

Fedora 21 Pod上的Kubernetes待定

[英]Kubernetes on Fedora 21 Pod Stays Pending

I've setup a kubernetes three node cluster using: Fedora 21 我已经使用以下程序设置了一个kubernetes三节点集群:Fedora 21

kubernetes-0.7.0-18.0.git52e165a.fc21.x86_64
docker-io-1.4.0-1.fc21.x86_64

I created the below pod: 我创建了以下吊舱:

http://dpaste.com/2VSF8XA http://dpaste.com/2VSF8XA

Running kubectl get minions shows: 运行kubectl get minions显示:

NAME                LABELS
10.0.0.10           <none>
10.0.0.9            <none>

I run kubectl create -f podfile.json 我运行kubectl create -f podfile.json

Running kubectl get pod nginxphp shows: 运行kubectl get pod nginxphp显示:

NAME                IMAGE(S)              HOST                LABELS              STATUS
nginxphp            million12/nginx-php   10.0.0.10/          name=nginxphp       Pending

Running kubectl get events shows: 运行kubectl get events显示:

NAME                KIND                STATUS              REASON              MESSAGE
nginxphp            Pod                 Pending             scheduled              Successfully assigned nginxphp to 10.0.0.10

The status never gets beyond "Pending" 状态永远不会超出“待定”

What are the next steps to resolve this? 解决此问题的下一步是什么?

Check the first entry here; 在此处检查第一个条目; I suspect your kubelet and apiserver disagree about what your kubelet is called. 我怀疑您的kubelet和apiserver对于您的kubelet叫什么不同。

https://github.com/GoogleCloudPlatform/kubernetes/wiki/Debugging-FAQ#by-symptom https://github.com/GoogleCloudPlatform/kubernetes/wiki/Debugging-FAQ#by-symptom

I stumbled upon the solution. 我偶然发现了解决方案。

    +-----------+--------+--------------------------------+
    | Name      | Status | Networks                       |
    +-----------+--------+--------------------------------+
    | kub001    | ACTIVE | private=10.0.0.18, 200.7.6.215 |
    | minion001 | ACTIVE | private=10.0.0.20, 200.7.6.217 |
    | minion002 | ACTIVE | private=10.0.0.19, 200.7.6.216 |
    +-----------+--------+--------------------------------+

On the master, in /etc/kubernetes/controller-manager , I have: 在主服务器上,在/etc/kubernetes/controller-manager ,我有:

KUBELET_ADDRESSES="--machines=10.0.0.20,10.0.0.19"

On minion002, in /etc/kubernetes/kubelet , I have: 在minion002上的/etc/kubernetes/kubelet ,我有:

KUBELET_HOSTNAME="--hostname_override=10.0.0.19"

As long as the above two match, everything is happy, well almost. 只要以上两个比赛,一切都会很开心,差不多。

The hostnames are bound to the floating external addresses, but cluster traffic is on the internal, private network and that is why hostname_override is needed. 主机名绑定到浮动的外部地址,但是群集流量在内部专用网络上,这就是为什么需要hostname_override的原因。

It runs, but it still shows as pending on the master when I do kubectl get events , I call that progress. 它可以运行,但是当我执行kubectl get events时,它仍显示为在主机上处于挂起状态,我称之为进度。

NAME                KIND                STATUS              REASON              
nginxphp            Pod                 Pending             scheduled 
nginxphp            Pod                 Pending             scheduled 

I don't know how to clear out the events from previous attempts, but its working... I think. 我不知道如何清除先前尝试中的事件,但是它的工作原理……我认为。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM