当前位置: 首页 > 知识库问答 >
问题:

kubernetes在coreos中没有可用于调度吊舱的节点

皇甫高阳
2023-03-14

我创建了一个kubernetes集群进行测试。但不能创建RC。我得到错误原因:'failed scheduling'没有节点可用于调度pods:

I1112 04:24:34.626614       6 factory.go:214] About to try and schedule pod my-nginx-63t4p
I1112 04:24:34.626635       6 scheduler.go:127] Failed to schedule: &{{ } {my-nginx-63t4p my-nginx- default /api/v1/namespaces/default/pods/my-nginx-63t4p c4198c29-88ef-11e5-af0e-002590fdff2c 1054 0 2015-11-12 03:45:07 +0000 UTC <nil> map[app:nginx] map[kubernetes.io/created-by:{"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicationController","namespace":"default","name":"my-nginx","uid":"c414bbd3-88ef-11e5-8682-002590fdf940","apiVersion":"v1","resourceVersion":"1050"}}]} {[{default-token-879cw {<nil> <nil> <nil> <nil> <nil> 0xc20834c030 <nil> <nil> <nil> <nil> <nil>}}] [{nginx nginx [] []  [{ 0 80 TCP }] [] {map[] map[]} [{default-token-879cw true /var/run/secrets/kubernetes.io/serviceaccount}] <nil> <nil> <nil> /dev/termination-log IfNotPresent <nil>}] Always 0xc20834c028 <nil> ClusterFirst map[] default  false []} {Pending []     <nil> []}}
I1112 04:24:34.626720       6 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"my-nginx-63t4p", UID:"c4198c29-88ef-11e5-af0e-002590fdff2c", APIVersion:"v1", ResourceVersion:"1054", FieldPath:""}): reason: 'failedScheduling' no nodes available to schedule pods
core@core-1-86 ~ $ kubectl get po -o wide
NAME             READY     STATUS    RESTARTS   AGE       NODE
my-nginx-3w98h   0/1       Pending   0          56m
my-nginx-4fau8   0/1       Pending   0          56m
my-nginx-9zc4f   0/1       Pending   0          56m
my-nginx-fzz5i   0/1       Pending   0          56m
my-nginx-hqqpt   0/1       Pending   0          56m
my-nginx-pm2bo   0/1       Pending   0          56m
my-nginx-rf3tk   0/1       Pending   0          56m
my-nginx-v1dj3   0/1       Pending   0          56m
my-nginx-viiop   0/1       Pending   0          56m
my-nginx-yy23r   0/1       Pending   0          56m
core@core-1-85 ~ $ cat wk/rc-nginx.yaml
apiVersion: v1
kind: ReplicationController
metadata:
  name: my-nginx
spec:
  replicas: 10
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
      - containerPort: 80
core@core-1-85 ~ $ kubectl get node
NAME         LABELS                              STATUS    AGE
10.12.1.90   kubernetes.io/hostname=10.12.1.90   Ready     37m
10.12.1.92   kubernetes.io/hostname=10.12.1.92   Ready     37m
10.12.1.93   kubernetes.io/hostname=10.12.1.93   Ready     37m
10.12.1.94   kubernetes.io/hostname=10.12.1.94   Ready     38m
10.12.1.95   kubernetes.io/hostname=10.12.1.95   Ready     38m
10.12.1.96   kubernetes.io/hostname=10.12.1.96   Ready     38m
10.12.1.97   kubernetes.io/hostname=10.12.1.97   Ready     38m
10.12.1.98   kubernetes.io/hostname=10.12.1.98   Ready     41m
core-1-89    kubernetes.io/hostname=core-1-89    Ready     22m

共有1个答案

通迪
2023-03-14

我找到了解决方案,原因是kube-apiserver、kube-controller-manager和kube-scheduler的版本与kubelet不匹配。

详细信息:https://github.com/kubernetes/kubernetes/issues/17154

 类似资料:
  • 我已经设置了普罗米修斯,通过跟踪普罗米修斯留档来监控库本内斯的指标。 普罗米修斯现在有很多有用的指标。 但是,我看不到任何引用我的pod或节点状态的指标。 理想情况下-我希望能够绘制pod状态(运行,挂起,CrashLoopBackoff,错误)和节点(NodeNow,就绪)。 这个度量单位在哪里?如果没有,我可以添加到某个地方吗?怎么做?

  • 如何强制调度器以循环方式在节点上运行pod,以便如果任何节点宕机,那么至少有一个节点将NGINX pod处于运行模式。 这到底有没有可能?如果可能,我们如何实现这一场景?

  • 我有一个后端nodeJS应用程序运行在kubernetes集群。现在我想运行两个cron作业计划每个月。cron作业在一个JS文件中。如何使用库伯内特斯创建一个作业,在每个月运行该服务的pod中运行这些JS文件? 此链接提供了对其工作原理的基本理解,但我对如何为特定服务和特定Pod运行它有点困惑 https://kubernetes.io/docs/concepts/workloads/contr

  • 我已经在节点(node1)上的pod(pod1)上部署了一个Spring Boot应用程序。我还在不同节点(node2)上的另一个pod(pod2)上部署了JMeter。我试图从POD2执行自动负载测试。为了执行负载测试,我要求为每个测试用例重新启动pod1。如何从POD2重新启动pod1?

  • 我对Kubernetes是新来的。 我发现了2个pod优先级选项-优先级类别和服务质量。它们之间有什么不同? (https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/https://kubernetes.io/docs/tasks/configure-pod-container/quality-servi

  • 我的要求是在自定义指标上扩展POD,如队列中的挂起消息,PODS必须增加以处理作业。在kubernetes,Scale up在普罗米修斯适配器和普罗米修斯操作员中工作得很好。 我在pods中有长时间运行的进程,但HPA检查自定义度量并试图缩小规模,因为这个进程杀死了操作的中间并丢失了消息。我如何控制HPA只杀死没有进程运行的自由豆荚。 序列查询:‘{namespace=“default”,serv