pod无法安排。 kubernates安装openstack

问题描述 投票:1回答:1

我是kubernetes的新手并尝试在kubernetes集群上部署openstack,下面是我在尝试部署openstack时看到的错误。我正在关注要部署的openstack文档。

kube-system   ingress-error-pages-56b4446784-crl85      0/1       Pending   0          1d
kube-system   ingress-error-pages-56b4446784-m7jrw      0/1       Pending   0          5d

我有kubernetes集群,其中一个主节点和一个节点在debain9上运行。我在kubernetes上的openstack安装期间输入了这个错误。

Kubectl描述pod显示如下事件:

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

任何帮助赞赏....

kubernetes openstack kubernetes-helm
1个回答
1
投票

看起来你对你的Pod有一个宽容,并且没有那些容忍这些容忍的节点。将有助于发布您的Ingress及其相应的部署或DaemonSet的定义。

您通常会污染您的节点,如下所示:

kubectl taint nodes <your-node> key=value:IngressNode

然后在你的PodSpec上这样:

tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "IngressNode"

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

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    cpuType: haswell

然后在你的节点上添加一个标签。

kubectl label nodes kubernetes-foo-node-1 cpuType=haswell

希望能帮助到你!

© www.soinside.com 2019 - 2024. All rights reserved.