Class: Google::Apis::ContainerV1beta1::NodeConfig
- Inherits:
-
Object
- Object
- Google::Apis::ContainerV1beta1::NodeConfig
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb
Overview
Parameters that describe the nodes in a cluster.
Instance Attribute Summary collapse
-
#accelerators ⇒ Array<Google::Apis::ContainerV1beta1::AcceleratorConfig>
A list of hardware accelerators to be attached to each node.
-
#boot_disk_kms_key ⇒ String
The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
-
#disk_size_gb ⇒ Fixnum
Size of the disk attached to each node, specified in GB.
-
#disk_type ⇒ String
Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd- balanced') If unspecified, the default disk type is 'pd-standard' Corresponds to the JSON property
diskType. -
#ephemeral_storage_config ⇒ Google::Apis::ContainerV1beta1::EphemeralStorageConfig
EphemeralStorageConfig contains configuration for the ephemeral storage filesystem.
-
#image_type ⇒ String
The image type to use for this node.
-
#kubelet_config ⇒ Google::Apis::ContainerV1beta1::NodeKubeletConfig
Node kubelet configs.
-
#labels ⇒ Hash<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node.
-
#linux_node_config ⇒ Google::Apis::ContainerV1beta1::LinuxNodeConfig
Parameters that can be configured on Linux nodes.
-
#local_ssd_count ⇒ Fixnum
The number of local SSD disks to be attached to the node.
-
#machine_type ⇒ String
The name of a Google Compute Engine machine type.
-
#metadata ⇒ Hash<String,String>
The metadata key/value pairs assigned to instances in the cluster.
-
#min_cpu_platform ⇒ String
Minimum CPU platform to be used by this instance.
-
#node_group ⇒ String
Setting this field will assign instances of this pool to run on the specified node group.
-
#oauth_scopes ⇒ Array<String>
The set of Google API scopes to be made available on all of the node VMs under the "default" service account.
-
#preemptible ⇒ Boolean
(also: #preemptible?)
Whether the nodes are created as preemptible VM instances.
-
#reservation_affinity ⇒ Google::Apis::ContainerV1beta1::ReservationAffinity
ReservationAffinity is the configuration of desired reservation which instances could take capacity from.
-
#sandbox_config ⇒ Google::Apis::ContainerV1beta1::SandboxConfig
SandboxConfig contains configurations of the sandbox to use for the node.
-
#service_account ⇒ String
The Google Cloud Platform Service Account to be used by the node VMs.
-
#shielded_instance_config ⇒ Google::Apis::ContainerV1beta1::ShieldedInstanceConfig
A set of Shielded Instance options.
-
#tags ⇒ Array<String>
The list of instance tags applied to all nodes.
-
#taints ⇒ Array<Google::Apis::ContainerV1beta1::NodeTaint>
List of kubernetes taints to be applied to each node.
-
#workload_metadata_config ⇒ Google::Apis::ContainerV1beta1::WorkloadMetadataConfig
WorkloadMetadataConfig defines the metadata configuration to expose to workloads on the node pool.
Instance Method Summary collapse
-
#initialize(**args) ⇒ NodeConfig
constructor
A new instance of NodeConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ NodeConfig
Returns a new instance of NodeConfig.
2983 2984 2985 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2983 def initialize(**args) update!(**args) end |
Instance Attribute Details
#accelerators ⇒ Array<Google::Apis::ContainerV1beta1::AcceleratorConfig>
A list of hardware accelerators to be attached to each node. See https://cloud.
google.com/compute/docs/gpus for more information about support for GPUs.
Corresponds to the JSON property accelerators
2810 2811 2812 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2810 def accelerators @accelerators end |
#boot_disk_kms_key ⇒ String
The Customer Managed Encryption Key used to encrypt the boot disk attached to
each node in the node pool. This should be of the form projects/[
KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]
. For more information about protecting resources with Cloud KMS Keys please
see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
Corresponds to the JSON property bootDiskKmsKey
2819 2820 2821 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2819 def boot_disk_kms_key @boot_disk_kms_key end |
#disk_size_gb ⇒ Fixnum
Size of the disk attached to each node, specified in GB. The smallest allowed
disk size is 10GB. If unspecified, the default disk size is 100GB.
Corresponds to the JSON property diskSizeGb
2825 2826 2827 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2825 def disk_size_gb @disk_size_gb end |
#disk_type ⇒ String
Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or 'pd-
balanced') If unspecified, the default disk type is 'pd-standard'
Corresponds to the JSON property diskType
2831 2832 2833 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2831 def disk_type @disk_type end |
#ephemeral_storage_config ⇒ Google::Apis::ContainerV1beta1::EphemeralStorageConfig
EphemeralStorageConfig contains configuration for the ephemeral storage
filesystem.
Corresponds to the JSON property ephemeralStorageConfig
2837 2838 2839 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2837 def ephemeral_storage_config @ephemeral_storage_config end |
#image_type ⇒ String
The image type to use for this node. Note that for a given image type, the
latest version of it will be used.
Corresponds to the JSON property imageType
2843 2844 2845 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2843 def image_type @image_type end |
#kubelet_config ⇒ Google::Apis::ContainerV1beta1::NodeKubeletConfig
Node kubelet configs.
Corresponds to the JSON property kubeletConfig
2848 2849 2850 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2848 def kubelet_config @kubelet_config end |
#labels ⇒ Hash<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node.
These will added in addition to any default label(s) that Kubernetes may apply
to the node. In case of conflict in label keys, the applied set may differ
depending on the Kubernetes version -- it's best to assume the behavior is
undefined and conflicts should be avoided. For more information, including
usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/
working-with-objects/labels/
Corresponds to the JSON property labels
2859 2860 2861 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2859 def labels @labels end |
#linux_node_config ⇒ Google::Apis::ContainerV1beta1::LinuxNodeConfig
Parameters that can be configured on Linux nodes.
Corresponds to the JSON property linuxNodeConfig
2864 2865 2866 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2864 def linux_node_config @linux_node_config end |
#local_ssd_count ⇒ Fixnum
The number of local SSD disks to be attached to the node. The limit for this
value is dependent upon the maximum number of disks available on a machine per
zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more
information.
Corresponds to the JSON property localSsdCount
2872 2873 2874 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2872 def local_ssd_count @local_ssd_count end |
#machine_type ⇒ String
The name of a Google Compute Engine machine type. If unspecified, the default machine type is e2-
medium.
Corresponds to the JSON property machineType
2879 2880 2881 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2879 def machine_type @machine_type end |
#metadata ⇒ Hash<String,String>
The metadata key/value pairs assigned to instances in the cluster. Keys must
conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length.
These are reflected as part of a URL in the metadata server. Additionally, to
avoid ambiguity, keys must not conflict with any other metadata keys for the
project or be one of the reserved keys: - "cluster-location" - "cluster-name" -
"cluster-uid" - "configure-sh" - "containerd-configure-sh" - "enable-oslogin"
- "gci-ensure-gke-docker" - "gci-metrics-enabled" - "gci-update-strategy" - "
instance-template" - "kube-env" - "startup-script" - "user-data" - "disable-
address-manager" - "windows-startup-script-ps1" - "common-psm1" - "k8s-node-
setup-psm1" - "install-ssh-psm1" - "user-profile-psm1" The following keys are
reserved for Windows nodes: - "serial-port-logging-enable" Values are free-
form strings, and only have meaning as interpreted by the image running in the
instance. The only restriction placed on them is that each value's size must
be less than or equal to 32 KB. The total size of all keys and values must be
less than 512 KB.
Corresponds to the JSON property
metadata
2898 2899 2900 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2898 def @metadata end |
#min_cpu_platform ⇒ String
Minimum CPU platform to be used by this instance. The instance may be
scheduled on the specified or newer CPU platform. Applicable values are the
friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or
minCpuPlatform: "Intel Sandy Bridge". For more information, read how to
specify min CPU platform
Corresponds to the JSON property minCpuPlatform
2908 2909 2910 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2908 def min_cpu_platform @min_cpu_platform end |
#node_group ⇒ String
Setting this field will assign instances of this pool to run on the specified
node group. This is useful for running workloads on sole tenant nodes.
Corresponds to the JSON property nodeGroup
2915 2916 2917 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2915 def node_group @node_group end |
#oauth_scopes ⇒ Array<String>
The set of Google API scopes to be made available on all of the node VMs under
the "default" service account. The following scopes are recommended, but not
required, and by default are not included: * https://www.googleapis.com/auth/
compute is required for mounting persistent storage on your nodes. * https://
www.googleapis.com/auth/devstorage.read_only is required for communicating
with gcr.io (the Google Container Registry). If unspecified, no scopes are added, unless Cloud
Logging or Cloud Monitoring are enabled, in which case their required scopes
will be added.
Corresponds to the JSON property oauthScopes
2928 2929 2930 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2928 def oauth_scopes @oauth_scopes end |
#preemptible ⇒ Boolean Also known as: preemptible?
Whether the nodes are created as preemptible VM instances. See: https://cloud.
google.com/compute/docs/instances/preemptible for more inforamtion about
preemptible VM instances.
Corresponds to the JSON property preemptible
2935 2936 2937 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2935 def preemptible @preemptible end |
#reservation_affinity ⇒ Google::Apis::ContainerV1beta1::ReservationAffinity
ReservationAffinity is the configuration of desired reservation which
instances could take capacity from.
Corresponds to the JSON property reservationAffinity
2943 2944 2945 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2943 def reservation_affinity @reservation_affinity end |
#sandbox_config ⇒ Google::Apis::ContainerV1beta1::SandboxConfig
SandboxConfig contains configurations of the sandbox to use for the node.
Corresponds to the JSON property sandboxConfig
2948 2949 2950 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2948 def sandbox_config @sandbox_config end |
#service_account ⇒ String
The Google Cloud Platform Service Account to be used by the node VMs. Specify
the email address of the Service Account; otherwise, if no Service Account is
specified, the "default" service account is used.
Corresponds to the JSON property serviceAccount
2955 2956 2957 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2955 def service_account @service_account end |
#shielded_instance_config ⇒ Google::Apis::ContainerV1beta1::ShieldedInstanceConfig
A set of Shielded Instance options.
Corresponds to the JSON property shieldedInstanceConfig
2960 2961 2962 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2960 def shielded_instance_config @shielded_instance_config end |
#tags ⇒ Array<String>
The list of instance tags applied to all nodes. Tags are used to identify
valid sources or targets for network firewalls and are specified by the client
during cluster or node pool creation. Each tag within the list must comply
with RFC1035.
Corresponds to the JSON property tags
2968 2969 2970 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2968 def @tags end |
#taints ⇒ Array<Google::Apis::ContainerV1beta1::NodeTaint>
List of kubernetes taints to be applied to each node. For more information,
including usage and the valid values, see: https://kubernetes.io/docs/concepts/
configuration/taint-and-toleration/
Corresponds to the JSON property taints
2975 2976 2977 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2975 def taints @taints end |
#workload_metadata_config ⇒ Google::Apis::ContainerV1beta1::WorkloadMetadataConfig
WorkloadMetadataConfig defines the metadata configuration to expose to
workloads on the node pool.
Corresponds to the JSON property workloadMetadataConfig
2981 2982 2983 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2981 def @workload_metadata_config end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 2988 def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @boot_disk_kms_key = args[:boot_disk_kms_key] if args.key?(:boot_disk_kms_key) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @disk_type = args[:disk_type] if args.key?(:disk_type) @ephemeral_storage_config = args[:ephemeral_storage_config] if args.key?(:ephemeral_storage_config) @image_type = args[:image_type] if args.key?(:image_type) @kubelet_config = args[:kubelet_config] if args.key?(:kubelet_config) @labels = args[:labels] if args.key?(:labels) @linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config) @local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count) @machine_type = args[:machine_type] if args.key?(:machine_type) @metadata = args[:metadata] if args.key?(:metadata) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @node_group = args[:node_group] if args.key?(:node_group) @oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes) @preemptible = args[:preemptible] if args.key?(:preemptible) @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity) @sandbox_config = args[:sandbox_config] if args.key?(:sandbox_config) @service_account = args[:service_account] if args.key?(:service_account) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @tags = args[:tags] if args.key?(:tags) @taints = args[:taints] if args.key?(:taints) @workload_metadata_config = args[:workload_metadata_config] if args.key?(:workload_metadata_config) end |