我使用以下方法设置了一个 kubernetes 三节点集群:费多拉 21
kubernetes-0.7.0-18.0.git52e165a.fc21.x86_64
docker-io-1.4.0-1.fc21.x86_64
我创建了以下 pod:
http://dpaste.com/2VSF8XA
跑步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
状态永远不会超过"待处理"
解决此问题的后续步骤是什么?
在此处检查第一个条目;我怀疑你的kubelet和apiserver不同意你的kubelet叫什么。
https://github.com/GoogleCloudPlatform/kubernetes/wiki/Debugging-FAQ#by-symptom
我偶然发现了解决方案。
+-----------+--------+--------------------------------+
| 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
我不知道如何清除以前尝试的事件,但它有效......我认为。