AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[scheduling](server)

Martin Hope
deHaar
Asked: 2021-11-13 07:17:35 +0800 CST

Kubernetes 集群上没有可访问或可调度的 Pod

  • 0

我在 IBM 云中有 2 个 Kubernetes 集群,一个有 2 个节点,另一个有 4 个。

一个有 4 个节点的节点工作正常,但在另一个节点上,由于金钱原因,我不得不暂时移除工作节点(不应该在空闲时支付)。

当我重新激活这两个节点时,一切似乎都正常启动,只要我不尝试与 Pod 交互,它表面上看起来仍然很好,没有关于不可用或严重健康状态的消息。好的,我删除了两个Namespace卡在Terminating状态中的过时的 s,但我可以通过重新启动集群节点来解决该问题(不再确切知道它是哪一个)。

当一切正常时,我尝试访问 kubernetes 仪表板(之前所做的一切都是在 IBM 管理级别或命令行中完成的),但令人惊讶的是,我发现它无法访问,浏览器中的错误页面显示:

503服务不可用

该页面底部有一条小的 JSON 消息,内容是:

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": { },
  "status": "Failure",
  "message": "error trying to reach service: read tcp 172.18.190.60:39946-\u003e172.19.151.38:8090: read: connection reset by peer",
  "reason": "ServiceUnavailable",
  "code": 503
}

我发送了一个kubectl logs kubernetes-dashboard-54674bdd65-nf6w7 --namespace=kube-system显示Pod为正在运行的位置,但结果不是要查看的日志,而是这条消息:

Error from server: Get "https://10.215.17.75:10250/containerLogs/kube-system/kubernetes-dashboard-54674bdd65-nf6w7/kubernetes-dashboard":
read tcp 172.18.135.195:56882->172.19.151.38:8090:
read: connection reset by peer

然后我发现我既无法获取该集群中运行的任何 Pod日志,也无法部署任何需要调度的新自定义 kubernetes 对象(我实际上可以应用Services 或s ,ConfigMap但没有Pod,或类似的) .ReplicaSetDeployment

我已经尝试过

  • 重新加载工作池中的工作节点
  • 重启workerpool中的worker节点
  • 重新启动 kubernetes-dashboardDeployment

不幸的是,上述操作都没有改变Pods.

还有另一件事可能是相关的(虽然我不太确定它是否真的是):

在另一个运行良好的集群中,有三个 calicoPod正在运行,并且所有三个都启动,而在有问题的集群中,三个 calicoPod中只有两个启动并运行,第三个保持Pending状态并且 akubectl describe pod calico-blablabla-blabla揭示了原因,Event

Warning  FailedScheduling  13s   default-scheduler
0/2 nodes are available: 2 node(s) didn't have free ports for the requested pod ports.

有没有人知道该集群中发生了什么并可以指出可能的解决方案?我真的不想删除集群并生成一个新集群。

编辑

结果kubectl describe pod kubernetes-dashboard-54674bdd65-4m2ch --namespace=kube-system:

Name:                 kubernetes-dashboard-54674bdd65-4m2ch
Namespace:            kube-system
Priority:             2000000000
Priority Class Name:  system-cluster-critical
Node:                 10.215.17.82/10.215.17.82
Start Time:           Mon, 15 Nov 2021 09:01:30 +0100
Labels:               k8s-app=kubernetes-dashboard
                      pod-template-hash=54674bdd65
Annotations:          cni.projectcalico.org/containerID: ca52cefaae58d8e5ce6d54883cb6a6135318c8db53d231dc645a5cf2e67d821e
                      cni.projectcalico.org/podIP: 172.30.184.2/32
                      cni.projectcalico.org/podIPs: 172.30.184.2/32
                      container.seccomp.security.alpha.kubernetes.io/kubernetes-dashboard: runtime/default
                      kubectl.kubernetes.io/restartedAt: 2021-11-10T15:47:14+01:00
                      kubernetes.io/psp: ibm-privileged-psp
Status:               Running
IP:                   172.30.184.2
IPs:
  IP:           172.30.184.2
Controlled By:  ReplicaSet/kubernetes-dashboard-54674bdd65
Containers:
  kubernetes-dashboard:
    Container ID:  containerd://bac57850055cd6bb944c4d893a5d315c659fd7d4935fe49083d9ef8ae03e5c31
    Image:         registry.eu-de.bluemix.net/armada-master/kubernetesui-dashboard:v2.3.1
    Image ID:      registry.eu-de.bluemix.net/armada-master/kubernetesui-dashboard@sha256:f14f581d36b83fc9c1cfa3b0609e7788017ecada1f3106fab1c9db35295fe523
    Port:          8443/TCP
    Host Port:     0/TCP
    Args:
      --auto-generate-certificates
      --namespace=kube-system
    State:          Running
      Started:      Mon, 15 Nov 2021 09:01:37 +0100
    Ready:          True
    Restart Count:  0
    Requests:
      cpu:        50m
      memory:     100Mi
    Liveness:     http-get https://:8443/ delay=30s timeout=30s period=10s #success=1 #failure=3
    Readiness:    http-get https://:8443/ delay=10s timeout=30s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /certs from kubernetes-dashboard-certs (rw)
      /tmp from tmp-volume (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-sc9kw (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  kubernetes-dashboard-certs:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kubernetes-dashboard-certs
    Optional:    false
  tmp-volume:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     
    SizeLimit:  <unset>
  kube-api-access-sc9kw:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node-role.kubernetes.io/master:NoSchedule
                             node.kubernetes.io/not-ready:NoExecute op=Exists for 600s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 600s
Events:                      <none>
port port-forwarding scheduling cluster kubernetes
  • 1 个回答
  • 129 Views
Martin Hope
Bots Fab
Asked: 2021-02-26 16:11:42 +0800 CST

Kubernetes 可以移动开始有干扰工作负载的 Pod 吗?

  • 0

假设我有两个 pod:一个用于提供网页服务,另一个用于执行一致性计算,例如一个 pod 上的 Flask 服务器和另一个 pod 上的 Spark Executor。

突然,一个新功能为 Flask 服务器上的特定路由创建了大量流量。通常 Executor 是数字和一致的,Flask 服务器是稀疏的并且内存/IO 绑定,但这会导致工作负载非常相似,并在该节点上停止 CPU。

Kubernetes 的调度程序能否识别这一点并重新调度 pod?

scheduling interference kubernetes
  • 1 个回答
  • 46 Views
Martin Hope
lonix
Asked: 2020-04-01 03:00:57 +0800 CST

防止多个cron作业同时运行[重复]

  • 1
这个问题在这里已经有了答案:
防止重复的 cron 作业运行 11 个答案
2年前关闭。

我的服务器在午夜运行许多 cron 作业。每个作业都会创建一个备份,通过创建一个 tarball 并使用xz.

由于xz是 CPU 和内存猪,我为每个作业添加了随机延迟,因此它们“不应该”相互破坏。但是有时确实会发生这种情况,并且会给服务器带来沉重的负担。

假设:

  • 根据我的流量,午夜是进行备份的最佳时间 - 但仍然有流量(这就是我想避免过度负载的原因)
  • 每个面向公众的应用程序都与它自己的备份作业相关联,并且它们是解耦的(它们彼此不知道) - 所以我不能将备份 cron 作业合并到一个作业中,因为我需要那种粒度
  • 我不能硬编码每个人的开始时间,因为这会增加维护 - 将应用程序添加到服务器(通过 ansible),我只需部署它并将备份 cron 作业(计划在午夜)放入/etc/cron.d/,然后随机工作开始前的延迟通常就足够了
  • 我稍微限制了作业tar ... | pv --rate-limit ... | xz ...- 但是虽然这减少了每个作业的负载,但它也减慢了每个作业的速度,因此增加了多个作业同时运行的可能性(当它们加在一起时可能会占用 100% 的 CPU)

一个可能的解决方案是为每个作业创建一个临时文件,表明它正忙,然后将其删除。问题是如果一个作业检测到这个文件,它会做什么?睡觉?多长时间?我可以使用 让它随机休眠一段时间at,但是如果我的备份脚本出现问题,我可能会有大量的作业相互竞争。另一个维护难题。

那么,通常如何解决这个问题呢?基本上,这是一种安排相关 cron 作业的简单方法,不会让它们相互干扰,也不需要微调开始时间。

linux cron scheduling
  • 3 个回答
  • 2732 Views
Martin Hope
wmassingham
Asked: 2016-06-07 07:27:39 +0800 CST

在 Office 365 中安排电子邮件转发

  • 0

是否可以在 Office 365 中安排电子邮件转发开始/停止?我看到了一种在 Office 365 和 Exchange 端启用/禁用的方法,但无法安排它。Exchange 邮件流规则没有日期/时间标准。

我可以编写一个 PowerShell 脚本来转发电子邮件以作为计划任务运行,但这需要单独的凭据来连接,我不能/不会将其存储在磁盘上。

exchange scheduling mail-forwarding microsoft-office-365
  • 3 个回答
  • 9910 Views
Martin Hope
tejus
Asked: 2016-05-28 01:58:20 +0800 CST

如何防止使用特定的 CPU 内核?

  • 0

是否可以防止 CPU 内核被 Linux 中的操作系统使用?maxcpus=<n>引导参数可防止在操作系统中看到指定数量的内核。我希望所有内核都是可见的,但操作系统只使用一些内核来调度进程。

编辑:这是确保关键进程可以安排在一个核心上并且保持不是绝对重要但高度 CPU 密集型进程可以相互竞争其他核心所必需的。这是在 CentOS 6 上。

central-processing-unit scheduling
  • 3 个回答
  • 1394 Views
Martin Hope
wurlog
Asked: 2010-03-27 04:10:00 +0800 CST

如果服务(已发布的地图)已启动,如何检查 arcgisserver?

  • 1

我有一个来自 Esri 的 ArcGIS Server 正在运行,如果某些已发布的服务(地图)正在运行,我需要每小时检查一次。WMS 和 WFS。

scheduling arcgis-server
  • 1 个回答
  • 267 Views
Martin Hope
ToreTrygg
Asked: 2010-01-12 06:58:57 +0800 CST

硬件状态更新

  • 0

我正在运行 vcentre 4.0.0 并且“硬件状态”页面显示了有关我的主机的良好信息,但它似乎不会自动更新。如果我点击更新链接,它会这样做,但有没有办法安排每天更新一次?

monitoring vmware-vcenter scheduling
  • 1 个回答
  • 120 Views
Martin Hope
Oren Hizkiya
Asked: 2009-07-15 07:08:53 +0800 CST

如果同一个任务已经在运行,如何防止计划任务运行?

  • 12

我编写了一个 php 脚本来检查文件夹中是否有任何新文件,如果存在任何新文件,请将它们上传到服务器。这些文件可能非常大。我想经常运行这个脚本 - 比如说每 5 分钟 - 作为计划任务,以便文件尽快移动到服务器。但是,一旦脚本已经尝试上传文件,我不希望它再次运行,因为我担心第二个实例会覆盖已经上传到服务器的文件。

除非脚本已经在运行,否则如何将脚本作为计划任务运行?

windows scripting scheduled-task windows-xp scheduling
  • 4 个回答
  • 40333 Views
Martin Hope
Psycho Bob
Asked: 2009-07-09 12:20:22 +0800 CST

防止在 Outlook 中重复预约

  • 4

在我们的组织中,我们使用一系列共享的 Outlook 日历来安排我们的会议室。所有域用户都设置为这些日历的作者。我们现在遇到了一个问题,最终用户要么不检查/关心房间是否已经在他们想要使用的时间段内分配给房间的约会。所以我的问题是:有什么方法可以防止用户在其中一个日历上安排约会或会议时已经有一个预先存在的日历?

我们已经尝试进入选项 -> 资源计划并选中“自动拒绝冲突的会议请求”,但这并没有解决问题。

outlook scheduling
  • 3 个回答
  • 15700 Views
Martin Hope
Andrew Williams
Asked: 2009-06-13 02:40:22 +0800 CST

Linux 上的批处理

  • 3

在业务中的另一个流程完成后,我们目前正在为一些繁重的工作 (ETL) 设置服务器,目前我们正在通过预定的 cron 作业或远程执行(通过 ssh)启动作业。本周早些时候,我们遇到了一个问题,即系统上并行运行的作业过多,这导致所有作业在争夺 CPU 时间时速度缓慢。

我一直在寻找一个批处理调度器,一个我们可以将作业插入运行队列的系统,系统会一个一个地处理它们。任何人都可以建议一个程序/系统来做到这一点吗?由于该项目的鞋带性质,低成本/ FOSS 将受到赞赏。

linux scheduling batch batch-processing
  • 10 个回答
  • 6172 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve