Descheduler

Scope: Cluster
Version: v1alpha1

Объект Descheduler — это описание одного экземпляра descheduler.

  • apiVersion
    строка
  • kind
    строка
  • metadata
    объект
    • metadata.name
      строка
  • spec
    объект

    Обязательный параметр

    Описывает поведение экземпляра descheduler.

    • spec.deploymentTemplate
      объект

      Описание шаблона Deployment’а descheduler.

      • spec.deploymentTemplate.nodeSelector
        объект
      • spec.deploymentTemplate.tolerations
        массив объектов
        • spec.deploymentTemplate.tolerations.effect
          строка
        • spec.deploymentTemplate.tolerations.key
          строка
        • spec.deploymentTemplate.tolerations.operator
          строка
        • spec.deploymentTemplate.tolerations.tolerationSeconds
          целочисленный
        • spec.deploymentTemplate.tolerations.value
          строка
    • spec.deschedulerPolicy
      объект

      globalParameters и strategies идентичны официальной документации.

      • spec.deschedulerPolicy.globalParameters
        объект

        Параметры, применяемые ко всем политикам.

        • spec.deschedulerPolicy.globalParameters.evictFailedBarePods
          булевый

          Разрешает эвиктить (evict) поды без ownerReferences или в состоянии Failed.

        • spec.deschedulerPolicy.globalParameters.evictLocalStoragePods
          булевый

          Разрешает эвиктить (evict) поды, использующие локальное хранилище (local storage).

        • spec.deschedulerPolicy.globalParameters.evictSystemCriticalPods
          булевый

          Разрешает эвиктить (evict) поды с любым priority (даже системные).

        • spec.deschedulerPolicy.globalParameters.ignorePvcPods
          булевый

          При включении запрещает эвиктить (evict) поды с PVC.

        • spec.deschedulerPolicy.globalParameters.maxNoOfPodsToEvictPerNamespace
          целочисленный

          Ограничивает максимальное количество подов для одновременного эвикта (evict), разделенное по пространствам имен (namespace).

        • spec.deschedulerPolicy.globalParameters.maxNoOfPodsToEvictPerNode
          целочисленный

          Ограничивает максимальное количество подов для одновременного эвикта (evict), разделенное по узлам.

        • spec.deschedulerPolicy.globalParameters.nodeSelector
          строка
      • spec.deschedulerPolicy.strategies
        объект

        Список стратегий с их параметрами.

        • spec.deschedulerPolicy.strategies.highNodeUtilization
          объект

          Эта стратегия находит недогруженные узлы и эвиктит (evict) с них поды в надежде что эти поды будут компактно распределены по меньшему количеству узлов.

          • spec.deschedulerPolicy.strategies.highNodeUtilization.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.highNodeUtilization.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.highNodeUtilization.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.highNodeUtilization.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.highNodeUtilization.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.lowNodeUtilization
          объект

          Эта стратегия находит перегруженные узлы и эвиктит (evict) с них поды в надежде что эти поды будут отправлены на менее загруженные узлы.

          • spec.deschedulerPolicy.strategies.lowNodeUtilization.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.lowNodeUtilization.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.lowNodeUtilization.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.lowNodeUtilization.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.lowNodeUtilization.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removeDuplicates
          объект

          Эта стратегия эвиктит (evict) поды, принадлежащие одному контроллеру (ReplicaSet (RS), ReplicationController (RC), StatefulSet), но находящиеся на одном узле.

          • spec.deschedulerPolicy.strategies.removeDuplicates.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removeDuplicates.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removeDuplicates.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removeDuplicates.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removeDuplicates.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removeFailedPods
          объект

          Эта стратегия эвиктит (evict) поды в состоянии Failed.

          • spec.deschedulerPolicy.strategies.removeFailedPods.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removeFailedPods.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removeFailedPods.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removeFailedPods.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removeFailedPods.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removePodsHavingTooManyRestarts
          объект

          Эта стратегия эвиктит (evict) поды, у которых слишком много рестартов.

          • spec.deschedulerPolicy.strategies.removePodsHavingTooManyRestarts.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removePodsHavingTooManyRestarts.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removePodsHavingTooManyRestarts.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removePodsHavingTooManyRestarts.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removePodsHavingTooManyRestarts.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removePodsViolatingInterPodAntiAffinity
          объект

          Эта стратегия эвиктит (evict) поды, нарушающие interpod anti-affinity.

          • spec.deschedulerPolicy.strategies.removePodsViolatingInterPodAntiAffinity.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removePodsViolatingInterPodAntiAffinity.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingInterPodAntiAffinity.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingInterPodAntiAffinity.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removePodsViolatingInterPodAntiAffinity.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removePodsViolatingNodeAffinity
          объект

          Эта стратегия эвиктит (evict) поды, нарушающие node affinity.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeAffinity.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeAffinity.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeAffinity.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeAffinity.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeAffinity.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removePodsViolatingNodeTaints
          объект

          Эта стратегия эвиктит (evict) поды, нарушающие NoSchedule taints.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeTaints.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeTaints.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeTaints.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeTaints.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removePodsViolatingNodeTaints.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.

        • spec.deschedulerPolicy.strategies.removePodsViolatingTopologySpreadConstraint
          объект

          Эта стратегия эвиктит (evict) поды, нарушающие topology spread constraints.

          • spec.deschedulerPolicy.strategies.removePodsViolatingTopologySpreadConstraint.enabled
            булевый

            Обязательный параметр

          • spec.deschedulerPolicy.strategies.removePodsViolatingTopologySpreadConstraint.namespaceFilter
            объект

            Ограничивает список пространств имен (namespace), к которым применяется данная стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingTopologySpreadConstraint.nodeFilter
            объект

            Фильтр, ограничивающий список узлов, к которым применится эта стратегия.

          • spec.deschedulerPolicy.strategies.removePodsViolatingTopologySpreadConstraint.nodeFit
            булевый

            Если включена, перед эвиктом (evict) пода descheduler будет проверять — «поместится» ли он на другой узел.

          • spec.deschedulerPolicy.strategies.removePodsViolatingTopologySpreadConstraint.priorityFilter
            объект

            Только поды с priority будут учитываться в этой стратегии.