Enum Expander

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Expander>

    public enum Expander
    extends java.lang.Enum<Expander>
    If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      Leastwaste
      Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up.
      Mostpods
      Selects the node group that would be able to schedule the most pods when scaling up.
      Priority
      Selects the node group that has the highest priority assigned by the user.
      Random
      Used when you don't have a particular need for the node groups to scale differently.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getValue()  
      java.lang.String toString()  
      static Expander valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Expander[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • Leastwaste

        public static final Expander Leastwaste
        Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources.
      • Mostpods

        public static final Expander Mostpods
        Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
      • Priority

        public static final Expander Priority
        Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md).
      • Random

        public static final Expander Random
        Used when you don't have a particular need for the node groups to scale differently.
    • Method Detail

      • values

        public static Expander[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Expander c : Expander.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Expander valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getValue

        public java.lang.String getValue()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Enum<Expander>