首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pod调度失败。openstack over kubernates安装

pod调度失败。openstack over kubernates安装
EN

Stack Overflow用户
提问于 2018-09-19 01:50:01
回答 1查看 155关注 0票数 1

我是kubernetes的新手,正在尝试在kubernetes集群上部署openstack,下面是我在尝试部署openstack时看到的错误。我正在按照openstack文档进行部署。

代码语言:javascript
复制
kube-system   ingress-error-pages-56b4446784-crl85      0/1       Pending   0          1d
kube-system   ingress-error-pages-56b4446784-m7jrw      0/1       Pending   0          5d

我有一个运行在debain9上的kubernetes集群,其中有一个主服务器和一个节点。在kubernetes上安装openstack时,我发现了这个错误。

Kubectl describe pod展示了事件,如下所示:

代码语言:javascript
复制
Events:
Type     Reason            Age                 From              Message
----     ------            ----                ----               -------
Warning  FailedScheduling  2m (x7684 over 1d)  default-scheduler  0/2 nodes are available: 1 PodToleratesNodeTaints, 2 MatchNodeSelector.

我看到的是调度失败,甚至kube调度程序的容器日志都显示它调度pod失败,但没有说明失败的原因?在过去几个小时尝试调试的过程中,我对这一步感到震惊……

PS:我正在运行debian9,kube版本: v1.9.2+coreos.0,Docker - 17.03.1-ce

感谢任何帮助..。

EN

回答 1

Stack Overflow用户

发布于 2018-09-19 02:31:07

看起来你在你的Pod上有一个容忍度,并且没有节点有这些容忍度的污点。将有助于发布您的入口及其相应的部署或DaemonSet的定义。

您通常会像这样污染您的节点:

代码语言:javascript
复制
kubectl taint nodes <your-node> key=value:IngressNode

然后在你的PodSpec上类似这样的东西:

代码语言:javascript
复制
tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "IngressNode"

也可能是因为节点上缺少Pod在nodeSelector字段中需要的标签:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    cpuType: haswell

然后,将标签添加到您的节点。

代码语言:javascript
复制
kubectl label nodes kubernetes-foo-node-1 cpuType=haswell

希望它能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52392109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档