我使用以下方法设置了kubernetes三节点集群: Fedora 21
kubernetes-0.7.0-18.0.git52e165a.fc21.x86_64
docker-io-1.4.0-1.fc21.x86_64
我创建了以下pod:
正在运行kubectl get minions
显示:
NAME LABELS
10.0.0.10 <none>
10.0.0.9 <none>
我运行kubectl create -f podfile.json
正在运行kubectl get pod nginxphp
显示:
NAME IMAGE(S) HOST LABELS STATUS
nginxphp million12/nginx-php 10.0.0.10/ name=nginxphp Pending
正在运行kubectl get events
显示:
NAME KIND STATUS REASON MESSAGE
nginxphp Pod Pending scheduled Successfully assigned nginxphp to 10.0.0.10
状态永远不会超越&#34;待定&#34;
解决此问题的后续步骤是什么?
答案 0 :(得分:1)
检查这里的第一个条目;我怀疑你的kubelet和apiserver不同意你的kubelet叫什么。
https://github.com/GoogleCloudPlatform/kubernetes/wiki/Debugging-FAQ#by-symptom
答案 1 :(得分:0)
我偶然发现了解决方案。
+-----------+--------+--------------------------------+
| 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 |
+-----------+--------+--------------------------------+
在主人的/etc/kubernetes/controller-manager
中,我有:
KUBELET_ADDRESSES="--machines=10.0.0.20,10.0.0.19"
在minion002上,在/etc/kubernetes/kubelet
中,我有:
KUBELET_HOSTNAME="--hostname_override=10.0.0.19"
只要以上两者匹配,一切都很开心,差不多。
主机名绑定到浮动外部地址,但群集流量位于内部专用网络上,这就是需要 hostname_override 的原因。
它会运行,但当我执行kubectl get events
时,它仍会显示为主机上的待处理状态,我称之为进展。
NAME KIND STATUS REASON
nginxphp Pod Pending scheduled
nginxphp Pod Pending scheduled
我不知道如何清除之前尝试的事件,但它的工作......我想。