- Resource: AwsNodePool
- AwsNodeConfig
- AwsAutoscalingGroupMetricsCollection
- SpotConfig
- AwsNodePoolAutoscaling
- State
- AwsNodePoolError
- AwsNodeManagement
- NodeKubeletConfig
- UpdateSettings
- SurgeSettings
- Methods
Resource: AwsNodePool
An Anthos node pool running on AWS.
JSON representation |
---|
{ "name": string, "version": string, "config": { object ( |
Fields | |
---|---|
name |
The name of this resource. Node pool names are formatted as For more details on Google Cloud resource names, see Resource Names |
version |
Required. The Kubernetes version to run on this node pool (e.g. You can list all supported versions on a given Google Cloud region by calling |
config |
Required. The configuration of the node pool. |
autoscaling |
Required. Autoscaler configuration for this node pool. |
subnetId |
Required. The subnet where the node pool node run. |
state |
Output only. The lifecycle state of the node pool. |
uid |
Output only. A globally unique identifier for the node pool. |
reconciling |
Output only. If set, there are currently changes in flight to the node pool. |
createTime |
Output only. The time at which this node pool was created. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
updateTime |
Output only. The time at which this node pool was last updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
etag |
Allows clients to perform consistent read-modify-writes through optimistic concurrency control. Can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. |
annotations |
Optional. Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between. An object containing a list of |
maxPodsConstraint |
Required. The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool. |
errors[] |
Output only. A set of errors found in the node pool. |
management |
Optional. The Management configuration for this node pool. |
kubeletConfig |
Optional. Node kubelet configs. |
updateSettings |
Optional. Update settings control the speed and disruption of the update. |
AwsNodeConfig
Parameters that describe the nodes in a cluster.
JSON representation |
---|
{ "instanceType": string, "rootVolume": { object ( |
Fields | |
---|---|
instanceType |
Optional. The EC2 instance type when creating on-Demand instances. If unspecified during node pool creation, a default will be chosen based on the node pool version, and assigned to this field. |
rootVolume |
Optional. Template for the root volume provisioned for node pool nodes. Volumes will be provisioned in the availability zone assigned to the node pool subnet. When unspecified, it defaults to 32 GiB with the GP2 volume type. |
taints[] |
Optional. The initial taints assigned to nodes of this node pool. |
labels |
Optional. The initial labels assigned to nodes of this node pool. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. An object containing a list of |
tags |
Optional. Key/value metadata to assign to each underlying AWS resource. Specify at most 50 pairs containing alphanumerics, spaces, and symbols (.+-=_:@/). Keys can be up to 127 Unicode characters. Values can be up to 255 Unicode characters. An object containing a list of |
iamInstanceProfile |
Required. The name or ARN of the AWS IAM instance profile to assign to nodes in the pool. |
imageType |
Optional. The OS image type to use on node pool instances. Can be unspecified, or have a value of When unspecified, it defaults to |
sshConfig |
Optional. The SSH configuration. |
securityGroupIds[] |
Optional. The IDs of additional security groups to add to nodes in this pool. The manager will automatically create security groups with minimum rules needed for a functioning cluster. |
proxyConfig |
Optional. Proxy configuration for outbound HTTP(S) traffic. |
configEncryption |
Required. Config encryption for user data. |
instancePlacement |
Optional. Placement related info for this node. When unspecified, the VPC's default tenancy will be used. |
autoscalingMetricsCollection |
Optional. Configuration related to CloudWatch metrics collection on the Auto Scaling group of the node pool. When unspecified, metrics collection is disabled. |
spotConfig |
Optional. Configuration for provisioning EC2 Spot instances When specified, the node pool will provision Spot instances from the set of spotConfig.instance_types. This field is mutually exclusive with |
AwsAutoscalingGroupMetricsCollection
Configuration related to CloudWatch metrics collection in an AWS Auto Scaling group.
JSON representation |
---|
{ "granularity": string, "metrics": [ string ] } |
Fields | |
---|---|
granularity |
Required. The frequency at which EC2 Auto Scaling sends aggregated data to AWS CloudWatch. The only valid value is "1Minute". |
metrics[] |
Optional. The metrics to enable. For a list of valid metrics, see https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. If you specify Granularity and don't specify any metrics, all metrics are enabled. |
SpotConfig
SpotConfig has configuration info for Spot node.
JSON representation |
---|
{ "instanceTypes": [ string ] } |
Fields | |
---|---|
instanceTypes[] |
Required. A list of instance types for creating spot node pool. |
AwsNodePoolAutoscaling
AwsNodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.
JSON representation |
---|
{ "minNodeCount": integer, "maxNodeCount": integer } |
Fields | |
---|---|
minNodeCount |
Required. Minimum number of nodes in the node pool. Must be greater than or equal to 1 and less than or equal to maxNodeCount. |
maxNodeCount |
Required. Maximum number of nodes in the node pool. Must be greater than or equal to minNodeCount and less than or equal to 50. |
State
The lifecycle state of the node pool.
Enums | |
---|---|
STATE_UNSPECIFIED |
Not set. |
PROVISIONING |
The PROVISIONING state indicates the node pool is being created. |
RUNNING |
The RUNNING state indicates the node pool has been created and is fully usable. |
RECONCILING |
The RECONCILING state indicates that the node pool is being reconciled. |
STOPPING |
The STOPPING state indicates the node pool is being deleted. |
ERROR |
The ERROR state indicates the node pool is in a broken unrecoverable state. |
DEGRADED |
The DEGRADED state indicates the node pool requires user action to restore full functionality. |
AwsNodePoolError
AwsNodePoolError describes errors found on AWS node pools.
JSON representation |
---|
{ "message": string } |
Fields | |
---|---|
message |
Human-friendly description of the error. |
AwsNodeManagement
AwsNodeManagement defines the set of node management features turned on for an AWS node pool.
JSON representation |
---|
{ "autoRepair": boolean } |
Fields | |
---|---|
autoRepair |
Optional. Whether or not the nodes will be automatically repaired. When set to true, the nodes in this node pool will be monitored and if they fail health checks consistently over a period of time, an automatic repair action will be triggered to replace them with new nodes. |
NodeKubeletConfig
Configuration for node pool kubelet options.
JSON representation |
---|
{ "insecureKubeletReadonlyPortEnabled": boolean, "cpuManagerPolicy": string, "cpuCfsQuota": boolean, "cpuCfsQuotaPeriod": string, "podPidsLimit": string } |
Fields | |
---|---|
insecureKubeletReadonlyPortEnabled |
Optional. Enable the insecure kubelet read only port. |
cpuManagerPolicy |
Optional. Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * "none": the default, which represents the existing scheduling behavior. * "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified. |
cpuCfsQuota |
Optional. Enable CPU CFS quota enforcement for containers that specify CPU limits. This option is enabled by default which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified. |
cpuCfsQuotaPeriod |
Optional. Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must be a positive duration. The default value is '100ms' if unspecified. |
podPidsLimit |
Optional. Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304. |
UpdateSettings
UpdateSettings control the level of parallelism and the level of disruption caused during the update of a node pool.
These settings are applicable when the node pool update requires replacing the existing node pool nodes with the updated ones.
UpdateSettings are optional. When UpdateSettings are not specified during the node pool creation, a default is chosen based on the parent cluster's version. For clusters with minor version 1.27 and later, a default surgeSettings configuration with maxSurge = 1 and maxUnavailable = 0 is used. For clusters with older versions, node pool updates use the traditional rolling update mechanism of updating one node at a time in a "terminate before create" fashion and updateSettings is not applicable.
Set the surgeSettings parameter to use the Surge Update mechanism for the rolling update of node pool nodes. 1. maxSurge controls the number of additional nodes that can be created beyond the current size of the node pool temporarily for the time of the update to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable during the update. 3. (maxSurge + maxUnavailable) determines the level of parallelism (i.e., the number of nodes being updated at the same time).
JSON representation |
---|
{
"surgeSettings": {
object ( |
Fields | |
---|---|
surgeSettings |
Optional. Settings for surge update. |
SurgeSettings
SurgeSettings contains the parameters for Surge update.
JSON representation |
---|
{ "maxSurge": integer, "maxUnavailable": integer } |
Fields | |
---|---|
maxSurge |
Optional. The maximum number of nodes that can be created beyond the current size of the node pool during the update process. |
maxUnavailable |
Optional. The maximum number of nodes that can be simultaneously unavailable during the update process. A node is considered unavailable if its status is not Ready. |
Methods |
|
---|---|
|
Creates a new AwsNodePool , attached to a given AwsCluster . |
|
Deletes a specific AwsNodePool resource. |
|
Describes a specific AwsNodePool resource. |
|
Lists all AwsNodePool resources on a given AwsCluster . |
|
Updates an AwsNodePool . |
|
Rolls back a previously aborted or failed AwsNodePool update request. |