Class: Google::Cloud::Dataproc::V1::GkeNodePoolConfig

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/dataproc/v1/shared.rb

Overview

The configuration of a GKE node pool used by a Dataproc-on-GKE cluster.

Defined Under Namespace

Classes: GkeNodeConfig, GkeNodePoolAcceleratorConfig, GkeNodePoolAutoscalingConfig

Instance Attribute Summary collapse

Instance Attribute Details

#autoscaling::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodePoolAutoscalingConfig

Returns Optional. The autoscaler configuration for this node pool. The autoscaler is enabled only when a valid configuration is present.

Returns:



421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
# File 'proto_docs/google/cloud/dataproc/v1/shared.rb', line 421

class GkeNodePoolConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Parameters that describe cluster nodes.
  # @!attribute [rw] machine_type
  #   @return [::String]
  #     Optional. The name of a Compute Engine [machine
  #     type](https://cloud.google.com/compute/docs/machine-types).
  # @!attribute [rw] local_ssd_count
  #   @return [::Integer]
  #     Optional. The number of local SSD disks to attach to the node, which is
  #     limited by the maximum number of disks allowable per zone (see [Adding
  #     Local SSDs](https://cloud.google.com/compute/docs/disks/local-ssd)).
  # @!attribute [rw] preemptible
  #   @return [::Boolean]
  #     Optional. Whether the nodes are created as legacy [preemptible VM
  #     instances] (https://cloud.google.com/compute/docs/instances/preemptible).
  #     Also see
  #     {::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodeConfig#spot Spot}
  #     VMs, preemptible VM instances without a maximum lifetime. Legacy and Spot
  #     preemptible nodes cannot be used in a node pool with the `CONTROLLER`
  #     [role]
  #     (/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
  #     or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
  #     DEFAULT node pool will assume the CONTROLLER role).
  # @!attribute [rw] accelerators
  #   @return [::Array<::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodePoolAcceleratorConfig>]
  #     Optional. A list of [hardware
  #     accelerators](https://cloud.google.com/compute/docs/gpus) to attach to
  #     each node.
  # @!attribute [rw] min_cpu_platform
  #   @return [::String]
  #     Optional. [Minimum CPU
  #     platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
  #     to be used by this instance. The instance may be scheduled on the
  #     specified or a newer CPU platform. Specify the friendly names of CPU
  #     platforms, such as "Intel Haswell"` or Intel Sandy Bridge".
  # @!attribute [rw] boot_disk_kms_key
  #   @return [::String]
  #     Optional. The [Customer Managed Encryption Key (CMEK)]
  #     (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek)
  #     used to encrypt the boot disk attached to each node in the node pool.
  #     Specify the key using the following format:
  #     <code>projects/<var>KEY_PROJECT_ID</var>/locations/<var>LOCATION</var>/keyRings/<var>RING_NAME</var>/cryptoKeys/<var>KEY_NAME</var></code>.
  # @!attribute [rw] spot
  #   @return [::Boolean]
  #     Optional. Whether the nodes are created as [Spot VM instances]
  #     (https://cloud.google.com/compute/docs/instances/spot).
  #     Spot VMs are the latest update to legacy
  #     [preemptible
  #     VMs][google.cloud.dataproc.v1.GkeNodePoolConfig.GkeNodeConfig.preemptible].
  #     Spot VMs do not have a maximum lifetime. Legacy and Spot preemptible
  #     nodes cannot be used in a node pool with the `CONTROLLER`
  #     [role](/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
  #     or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
  #     DEFAULT node pool will assume the CONTROLLER role).
  class GkeNodeConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator request
  # for a node pool.
  # @!attribute [rw] accelerator_count
  #   @return [::Integer]
  #     The number of accelerator cards exposed to an instance.
  # @!attribute [rw] accelerator_type
  #   @return [::String]
  #     The accelerator type resource namename (see GPUs on Compute Engine).
  # @!attribute [rw] gpu_partition_size
  #   @return [::String]
  #     Size of partitions to create on the GPU. Valid values are described in
  #     the NVIDIA [mig user
  #     guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
  class GkeNodePoolAcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GkeNodePoolAutoscaling contains information the cluster autoscaler needs to
  # adjust the size of the node pool to the current cluster usage.
  # @!attribute [rw] min_node_count
  #   @return [::Integer]
  #     The minimum number of nodes in the node pool. Must be >= 0 and <=
  #     max_node_count.
  # @!attribute [rw] max_node_count
  #   @return [::Integer]
  #     The maximum number of nodes in the node pool. Must be >= min_node_count,
  #     and must be > 0.
  #     **Note:** Quota must be sufficient to scale up the cluster.
  class GkeNodePoolAutoscalingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#config::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodeConfig

Returns Optional. The node pool configuration.

Returns:



421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
# File 'proto_docs/google/cloud/dataproc/v1/shared.rb', line 421

class GkeNodePoolConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Parameters that describe cluster nodes.
  # @!attribute [rw] machine_type
  #   @return [::String]
  #     Optional. The name of a Compute Engine [machine
  #     type](https://cloud.google.com/compute/docs/machine-types).
  # @!attribute [rw] local_ssd_count
  #   @return [::Integer]
  #     Optional. The number of local SSD disks to attach to the node, which is
  #     limited by the maximum number of disks allowable per zone (see [Adding
  #     Local SSDs](https://cloud.google.com/compute/docs/disks/local-ssd)).
  # @!attribute [rw] preemptible
  #   @return [::Boolean]
  #     Optional. Whether the nodes are created as legacy [preemptible VM
  #     instances] (https://cloud.google.com/compute/docs/instances/preemptible).
  #     Also see
  #     {::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodeConfig#spot Spot}
  #     VMs, preemptible VM instances without a maximum lifetime. Legacy and Spot
  #     preemptible nodes cannot be used in a node pool with the `CONTROLLER`
  #     [role]
  #     (/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
  #     or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
  #     DEFAULT node pool will assume the CONTROLLER role).
  # @!attribute [rw] accelerators
  #   @return [::Array<::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodePoolAcceleratorConfig>]
  #     Optional. A list of [hardware
  #     accelerators](https://cloud.google.com/compute/docs/gpus) to attach to
  #     each node.
  # @!attribute [rw] min_cpu_platform
  #   @return [::String]
  #     Optional. [Minimum CPU
  #     platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
  #     to be used by this instance. The instance may be scheduled on the
  #     specified or a newer CPU platform. Specify the friendly names of CPU
  #     platforms, such as "Intel Haswell"` or Intel Sandy Bridge".
  # @!attribute [rw] boot_disk_kms_key
  #   @return [::String]
  #     Optional. The [Customer Managed Encryption Key (CMEK)]
  #     (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek)
  #     used to encrypt the boot disk attached to each node in the node pool.
  #     Specify the key using the following format:
  #     <code>projects/<var>KEY_PROJECT_ID</var>/locations/<var>LOCATION</var>/keyRings/<var>RING_NAME</var>/cryptoKeys/<var>KEY_NAME</var></code>.
  # @!attribute [rw] spot
  #   @return [::Boolean]
  #     Optional. Whether the nodes are created as [Spot VM instances]
  #     (https://cloud.google.com/compute/docs/instances/spot).
  #     Spot VMs are the latest update to legacy
  #     [preemptible
  #     VMs][google.cloud.dataproc.v1.GkeNodePoolConfig.GkeNodeConfig.preemptible].
  #     Spot VMs do not have a maximum lifetime. Legacy and Spot preemptible
  #     nodes cannot be used in a node pool with the `CONTROLLER`
  #     [role](/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
  #     or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
  #     DEFAULT node pool will assume the CONTROLLER role).
  class GkeNodeConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator request
  # for a node pool.
  # @!attribute [rw] accelerator_count
  #   @return [::Integer]
  #     The number of accelerator cards exposed to an instance.
  # @!attribute [rw] accelerator_type
  #   @return [::String]
  #     The accelerator type resource namename (see GPUs on Compute Engine).
  # @!attribute [rw] gpu_partition_size
  #   @return [::String]
  #     Size of partitions to create on the GPU. Valid values are described in
  #     the NVIDIA [mig user
  #     guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
  class GkeNodePoolAcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GkeNodePoolAutoscaling contains information the cluster autoscaler needs to
  # adjust the size of the node pool to the current cluster usage.
  # @!attribute [rw] min_node_count
  #   @return [::Integer]
  #     The minimum number of nodes in the node pool. Must be >= 0 and <=
  #     max_node_count.
  # @!attribute [rw] max_node_count
  #   @return [::Integer]
  #     The maximum number of nodes in the node pool. Must be >= min_node_count,
  #     and must be > 0.
  #     **Note:** Quota must be sufficient to scale up the cluster.
  class GkeNodePoolAutoscalingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#locations::Array<::String>

Returns Optional. The list of Compute Engine zones where node pool nodes associated with a Dataproc on GKE virtual cluster will be located.

Note: All node pools associated with a virtual cluster must be located in the same region as the virtual cluster, and they must be located in the same zone within that region.

If a location is not specified during node pool creation, Dataproc on GKE will choose the zone.

Returns:

  • (::Array<::String>)

    Optional. The list of Compute Engine zones where node pool nodes associated with a Dataproc on GKE virtual cluster will be located.

    Note: All node pools associated with a virtual cluster must be located in the same region as the virtual cluster, and they must be located in the same zone within that region.

    If a location is not specified during node pool creation, Dataproc on GKE will choose the zone.



421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
# File 'proto_docs/google/cloud/dataproc/v1/shared.rb', line 421

class GkeNodePoolConfig
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Parameters that describe cluster nodes.
  # @!attribute [rw] machine_type
  #   @return [::String]
  #     Optional. The name of a Compute Engine [machine
  #     type](https://cloud.google.com/compute/docs/machine-types).
  # @!attribute [rw] local_ssd_count
  #   @return [::Integer]
  #     Optional. The number of local SSD disks to attach to the node, which is
  #     limited by the maximum number of disks allowable per zone (see [Adding
  #     Local SSDs](https://cloud.google.com/compute/docs/disks/local-ssd)).
  # @!attribute [rw] preemptible
  #   @return [::Boolean]
  #     Optional. Whether the nodes are created as legacy [preemptible VM
  #     instances] (https://cloud.google.com/compute/docs/instances/preemptible).
  #     Also see
  #     {::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodeConfig#spot Spot}
  #     VMs, preemptible VM instances without a maximum lifetime. Legacy and Spot
  #     preemptible nodes cannot be used in a node pool with the `CONTROLLER`
  #     [role]
  #     (/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
  #     or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
  #     DEFAULT node pool will assume the CONTROLLER role).
  # @!attribute [rw] accelerators
  #   @return [::Array<::Google::Cloud::Dataproc::V1::GkeNodePoolConfig::GkeNodePoolAcceleratorConfig>]
  #     Optional. A list of [hardware
  #     accelerators](https://cloud.google.com/compute/docs/gpus) to attach to
  #     each node.
  # @!attribute [rw] min_cpu_platform
  #   @return [::String]
  #     Optional. [Minimum CPU
  #     platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
  #     to be used by this instance. The instance may be scheduled on the
  #     specified or a newer CPU platform. Specify the friendly names of CPU
  #     platforms, such as "Intel Haswell"` or Intel Sandy Bridge".
  # @!attribute [rw] boot_disk_kms_key
  #   @return [::String]
  #     Optional. The [Customer Managed Encryption Key (CMEK)]
  #     (https://cloud.google.com/kubernetes-engine/docs/how-to/using-cmek)
  #     used to encrypt the boot disk attached to each node in the node pool.
  #     Specify the key using the following format:
  #     <code>projects/<var>KEY_PROJECT_ID</var>/locations/<var>LOCATION</var>/keyRings/<var>RING_NAME</var>/cryptoKeys/<var>KEY_NAME</var></code>.
  # @!attribute [rw] spot
  #   @return [::Boolean]
  #     Optional. Whether the nodes are created as [Spot VM instances]
  #     (https://cloud.google.com/compute/docs/instances/spot).
  #     Spot VMs are the latest update to legacy
  #     [preemptible
  #     VMs][google.cloud.dataproc.v1.GkeNodePoolConfig.GkeNodeConfig.preemptible].
  #     Spot VMs do not have a maximum lifetime. Legacy and Spot preemptible
  #     nodes cannot be used in a node pool with the `CONTROLLER`
  #     [role](/dataproc/docs/reference/rest/v1/projects.regions.clusters#role)
  #     or in the DEFAULT node pool if the CONTROLLER role is not assigned (the
  #     DEFAULT node pool will assume the CONTROLLER role).
  class GkeNodeConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GkeNodeConfigAcceleratorConfig represents a Hardware Accelerator request
  # for a node pool.
  # @!attribute [rw] accelerator_count
  #   @return [::Integer]
  #     The number of accelerator cards exposed to an instance.
  # @!attribute [rw] accelerator_type
  #   @return [::String]
  #     The accelerator type resource namename (see GPUs on Compute Engine).
  # @!attribute [rw] gpu_partition_size
  #   @return [::String]
  #     Size of partitions to create on the GPU. Valid values are described in
  #     the NVIDIA [mig user
  #     guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
  class GkeNodePoolAcceleratorConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GkeNodePoolAutoscaling contains information the cluster autoscaler needs to
  # adjust the size of the node pool to the current cluster usage.
  # @!attribute [rw] min_node_count
  #   @return [::Integer]
  #     The minimum number of nodes in the node pool. Must be >= 0 and <=
  #     max_node_count.
  # @!attribute [rw] max_node_count
  #   @return [::Integer]
  #     The maximum number of nodes in the node pool. Must be >= min_node_count,
  #     and must be > 0.
  #     **Note:** Quota must be sufficient to scale up the cluster.
  class GkeNodePoolAutoscalingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end