广告连播未能安排。通过kubernates安装openstack

时间:2018-09-18 17:50:01

标签: kubernetes openstack kubernetes-helm

我是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描述播客显示的事件如下:

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

我看到的只是调度失败,甚至kube Scheduler的容器日志也显示它无法调度pod,但是没有说为什么失败?在过去的几个小时中,我对尝试调试感到震惊。

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

任何帮助表示赞赏....

1 个答案:

答案 0 :(得分:1)

看起来您的Pod容忍度很高,而这些容忍度没有节点。将有助于为您的Ingress及其相应的Deployment或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

希望有帮助!