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:



362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
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
# File 'proto_docs/google/cloud/dataproc/v1/shared.rb', line 362

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:



362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
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
# File 'proto_docs/google/cloud/dataproc/v1/shared.rb', line 362

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.



362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
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
# File 'proto_docs/google/cloud/dataproc/v1/shared.rb', line 362

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