Class NodePool.UpgradeSettings

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.container.v1.NodePool.UpgradeSettings
All Implemented Interfaces:
NodePool.UpgradeSettingsOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
Enclosing class:
NodePool

public static final class NodePool.UpgradeSettings extends com.google.protobuf.GeneratedMessage implements NodePool.UpgradeSettingsOrBuilder
 These upgrade settings control the level of parallelism and the level of
 disruption caused by an upgrade.

 maxUnavailable controls the number of nodes that can be simultaneously
 unavailable.

 maxSurge controls the number of additional nodes that can be added to the
 node pool temporarily for the time of the upgrade to increase the number of
 available nodes.

 (maxUnavailable + maxSurge) determines the level of parallelism (how many
 nodes are being upgraded at the same time).

 Note: upgrades inevitably introduce some disruption since workloads need to
 be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
 this holds true. (Disruption stays within the limits of
 PodDisruptionBudget, if it is configured.)

 Consider a hypothetical node pool with 5 nodes having maxSurge=2,
 maxUnavailable=1. This means the upgrade process upgrades 3 nodes
 simultaneously. It creates 2 additional (upgraded) nodes, then it brings
 down 3 old (not yet upgraded) nodes at the same time. This ensures that
 there are always at least 4 nodes available.

 These upgrade settings configure the upgrade strategy for the node pool.
 Use strategy to switch between the strategies applied to the node pool.

 If the strategy is ROLLING, use max_surge and max_unavailable to control
 the level of parallelism and the level of disruption caused by upgrade.
 1. maxSurge controls the number of additional nodes that can be added to
 the node pool temporarily for the time of the upgrade to increase the
 number of available nodes.
 2. maxUnavailable controls the number of nodes that can be simultaneously
 unavailable.
 3. (maxUnavailable + maxSurge) determines the level of parallelism (how
 many nodes are being upgraded at the same time).

 If the strategy is BLUE_GREEN, use blue_green_settings to configure the
 blue-green upgrade related settings.
 1. standard_rollout_policy is the default policy. The policy is used to
 control the way blue pool gets drained. The draining is executed in the
 batch mode. The batch size could be specified as either percentage of the
 node pool size or the number of nodes. batch_soak_duration is the soak
 time after each batch gets drained.
 2. node_pool_soak_duration is the soak time after all blue nodes are
 drained. After this period, the blue pool nodes will be deleted.
 
Protobuf type google.container.v1.NodePool.UpgradeSettings
See Also:
  • Field Details

    • MAX_SURGE_FIELD_NUMBER

      public static final int MAX_SURGE_FIELD_NUMBER
      See Also:
    • MAX_UNAVAILABLE_FIELD_NUMBER

      public static final int MAX_UNAVAILABLE_FIELD_NUMBER
      See Also:
    • STRATEGY_FIELD_NUMBER

      public static final int STRATEGY_FIELD_NUMBER
      See Also:
    • BLUE_GREEN_SETTINGS_FIELD_NUMBER

      public static final int BLUE_GREEN_SETTINGS_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getMaxSurge

      public int getMaxSurge()
       The maximum number of nodes that can be created beyond the current size
       of the node pool during the upgrade process.
       
      int32 max_surge = 1;
      Specified by:
      getMaxSurge in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The maxSurge.
    • getMaxUnavailable

      public int getMaxUnavailable()
       The maximum number of nodes that can be simultaneously unavailable during
       the upgrade process. A node is considered available if its status is
       Ready.
       
      int32 max_unavailable = 2;
      Specified by:
      getMaxUnavailable in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The maxUnavailable.
    • hasStrategy

      public boolean hasStrategy()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Specified by:
      hasStrategy in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      Whether the strategy field is set.
    • getStrategyValue

      public int getStrategyValue()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Specified by:
      getStrategyValue in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The enum numeric value on the wire for strategy.
    • getStrategy

      public NodePoolUpdateStrategy getStrategy()
       Update strategy of the node pool.
       
      optional .google.container.v1.NodePoolUpdateStrategy strategy = 3;
      Specified by:
      getStrategy in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The strategy.
    • hasBlueGreenSettings

      public boolean hasBlueGreenSettings()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
      Specified by:
      hasBlueGreenSettings in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      Whether the blueGreenSettings field is set.
    • getBlueGreenSettings

      public BlueGreenSettings getBlueGreenSettings()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
      Specified by:
      getBlueGreenSettings in interface NodePool.UpgradeSettingsOrBuilder
      Returns:
      The blueGreenSettings.
    • getBlueGreenSettingsOrBuilder

      public BlueGreenSettingsOrBuilder getBlueGreenSettingsOrBuilder()
       Settings for blue-green upgrade strategy.
       
      optional .google.container.v1.BlueGreenSettings blue_green_settings = 4;
      Specified by:
      getBlueGreenSettingsOrBuilder in interface NodePool.UpgradeSettingsOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static NodePool.UpgradeSettings parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static NodePool.UpgradeSettings parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static NodePool.UpgradeSettings parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public NodePool.UpgradeSettings.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static NodePool.UpgradeSettings.Builder newBuilder()
    • newBuilder

      public static NodePool.UpgradeSettings.Builder newBuilder(NodePool.UpgradeSettings prototype)
    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected NodePool.UpgradeSettings.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static NodePool.UpgradeSettings getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<NodePool.UpgradeSettings> parser()
    • getParserForType

      public com.google.protobuf.Parser<NodePool.UpgradeSettings> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public NodePool.UpgradeSettings getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder