IBM Cloud Docs
为何 Kubernetes 仪表板因内存不足错误而终止?

为何 Kubernetes 仪表板因内存不足错误而终止?

在大型集群中列出 pod 时,仪表板界面执行情况不佳,并在 OOMKilled 错误中终止。

Last State:     Terminated
  Reason:       OOMKilled
  Exit Code:    137

集群的 Kubernetes 仪表板需要大量内存。

您可以通过将 Kubernetes 仪表板的 resource auto-refresh 时间间隔更改为 60 来解决此问题。

从 Kubernetes 仪表板更改资源自动刷新时间间隔

  1. 在导航窗格中选择 设置
  2. Resource auto-refresh 时间间隔设置为 60
  3. Save

从命令行更改资源自动刷新时间间隔

登录到您的帐户。 如果适用,请将相应的资源组设定为目标。 设置集群的上下文。

  1. 编辑 Kubernetes 仪表板 ConfigMap。

    kubectl -n kube-system edit configmap kubernetes-dashboard-settings
    
  2. data._global 字段中,将 resourceAutoRefreshTimeInterval 设置为 60。 示例 ConfigMap,其中 resourceAutoRefreshTimeInterval 设置为 60

    apiVersion: v1
    data:
    _global: '{"clusterName":"mycluster","itemsPerPage":10,"logsAutoRefreshTimeInterval":5,"resourceAutoRefreshTimeInterval":60}'
    kind: ConfigMap
    metadata:
    creationTimestamp: "2021-06-08T04:23:35Z"
    labels:
        addonmanager.kubernetes.io/mode: EnsureExists
        k8s-app: kubernetes-dashboard
    name: kubernetes-dashboard-settings
    namespace: kube-system
    resourceVersion: "1253"
    uid: c1d39cdb-329e-4cf4-b714-954178984a53
    
  3. 退出编辑器。

  4. 查找 kubenertes-dashboard pod 的 pod 名称。

    kubectl -n kube-system get pods | grep kubernetes-dashboard
    
    kubernetes-dashboard-549b67cb67-24pft                 1/1     Running   0          40d
    
  5. 通过删除 kubernetes-dashboard pod 来重新启动仪表板。

    kubectl -n kube-system delete pod kubernetes-dashboard-xxx