Class: Google::Apis::ContainerV1::NodeConfig
- Inherits:
-
Object
- Object
- Google::Apis::ContainerV1::NodeConfig
- Defined in:
- generated/google/apis/container_v1/classes.rb,
generated/google/apis/container_v1/representations.rb,
generated/google/apis/container_v1/representations.rb
Overview
Parameters that describe the nodes in a cluster.
Instance Attribute Summary collapse
-
#accelerators ⇒ Array<Google::Apis::ContainerV1::AcceleratorConfig>
A list of hardware accelerators to be attached to each node.
-
#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' or 'pd-ssd') If unspecified, the default disk type is 'pd-standard' Corresponds to the JSON property
diskType
. -
#image_type ⇒ String
The image type to use for this node.
-
#labels ⇒ Hash<String,String>
The map of Kubernetes labels (key/value pairs) to be applied to each node.
-
#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 (e.g.
n1-standard-1
). -
#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.
-
#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::ContainerV1::ReservationAffinity
ReservationAffinity is the configuration of desired reservation which instances could take capacity from.
-
#sandbox_config ⇒ Google::Apis::ContainerV1::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::ContainerV1::ShieldedInstanceConfig
A set of Shielded Instance options.
-
#tags ⇒ Array<String>
The list of instance tags applied to all nodes.
-
#taints ⇒ Array<Google::Apis::ContainerV1::NodeTaint>
List of kubernetes taints to be applied to each node.
Instance Method Summary collapse
-
#initialize(**args) ⇒ NodeConfig
constructor
A new instance of NodeConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ NodeConfig
Returns a new instance of NodeConfig.
2171 2172 2173 |
# File 'generated/google/apis/container_v1/classes.rb', line 2171 def initialize(**args) update!(**args) end |
Instance Attribute Details
#accelerators ⇒ Array<Google::Apis::ContainerV1::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
2013 2014 2015 |
# File 'generated/google/apis/container_v1/classes.rb', line 2013 def accelerators @accelerators 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
2020 2021 2022 |
# File 'generated/google/apis/container_v1/classes.rb', line 2020 def disk_size_gb @disk_size_gb end |
#disk_type ⇒ String
Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
If unspecified, the default disk type is 'pd-standard'
Corresponds to the JSON property diskType
2026 2027 2028 |
# File 'generated/google/apis/container_v1/classes.rb', line 2026 def disk_type @disk_type 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
2032 2033 2034 |
# File 'generated/google/apis/container_v1/classes.rb', line 2032 def image_type @image_type 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
2044 2045 2046 |
# File 'generated/google/apis/container_v1/classes.rb', line 2044 def labels @labels 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
2053 2054 2055 |
# File 'generated/google/apis/container_v1/classes.rb', line 2053 def local_ssd_count @local_ssd_count end |
#machine_type ⇒ String
The name of a Google Compute Engine machine
type (e.g.
n1-standard-1
).
If unspecified, the default machine type is
n1-standard-1
.
Corresponds to the JSON property machineType
2062 2063 2064 |
# File 'generated/google/apis/container_v1/classes.rb', line 2062 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-os-login"
"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"
"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
2095 2096 2097 |
# File 'generated/google/apis/container_v1/classes.rb', line 2095 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
2107 2108 2109 |
# File 'generated/google/apis/container_v1/classes.rb', line 2107 def min_cpu_platform @min_cpu_platform 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 propertyoauthScopes
2122 2123 2124 |
# File 'generated/google/apis/container_v1/classes.rb', line 2122 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
information about preemptible VM instances.
Corresponds to the JSON property preemptible
2129 2130 2131 |
# File 'generated/google/apis/container_v1/classes.rb', line 2129 def preemptible @preemptible end |
#reservation_affinity ⇒ Google::Apis::ContainerV1::ReservationAffinity
ReservationAffinity is
the configuration of desired reservation which instances could take
capacity from.
Corresponds to the JSON property reservationAffinity
2137 2138 2139 |
# File 'generated/google/apis/container_v1/classes.rb', line 2137 def reservation_affinity @reservation_affinity end |
#sandbox_config ⇒ Google::Apis::ContainerV1::SandboxConfig
SandboxConfig contains configurations of the sandbox to use for the node.
Corresponds to the JSON property sandboxConfig
2142 2143 2144 |
# File 'generated/google/apis/container_v1/classes.rb', line 2142 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
2149 2150 2151 |
# File 'generated/google/apis/container_v1/classes.rb', line 2149 def service_account @service_account end |
#shielded_instance_config ⇒ Google::Apis::ContainerV1::ShieldedInstanceConfig
A set of Shielded Instance options.
Corresponds to the JSON property shieldedInstanceConfig
2154 2155 2156 |
# File 'generated/google/apis/container_v1/classes.rb', line 2154 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
2162 2163 2164 |
# File 'generated/google/apis/container_v1/classes.rb', line 2162 def @tags end |
#taints ⇒ Array<Google::Apis::ContainerV1::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
2169 2170 2171 |
# File 'generated/google/apis/container_v1/classes.rb', line 2169 def taints @taints end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 |
# File 'generated/google/apis/container_v1/classes.rb', line 2176 def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @disk_type = args[:disk_type] if args.key?(:disk_type) @image_type = args[:image_type] if args.key?(:image_type) @labels = args[:labels] if args.key?(:labels) @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) @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) end |