A NodePool is a managed resource that represents a Google Kubernetes Engine node pool.
Type
CRD
Group
container.gcp.crossplane.io
Version
v1beta1
apiVersion: container.gcp.crossplane.io/v1beta1
kind: NodePool
A NodePoolSpec defines the desired state of a NodePool.
NodePoolParameters define the desired state of a Google Kubernetes Engine node pool.
Autoscaling: Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
ClusterRef sets the Cluster field by resolving the resource link of the referenced Crossplane GKECluster managed resource.
Policies for referencing.
ClusterSelector selects a reference to resolve the resource link of the referenced Crossplane GKECluster managed resource.
Policies for selection.
Config: The node configuration of the pool.
Accelerators: 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.
KubeletConfig: Node kubelet configs.
LinuxNodeConfig: Parameters that can be configured on Linux nodes.
OauthScopes: 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.ReservationAffinity: The optional reservation affinity. Setting this field will apply the specified Zonal Compute Reservation (https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this node pool.
Values: Corresponds to the label value(s) of reservation resource(s).
SandboxConfig: Sandbox configuration for this node.
ShieldedInstanceConfig: Shielded Instance options.
Tags: 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.
Taints: 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-toler ation/
WorkloadMetadataConfig: The workload metadata configuration for this node.
Locations: The list of Google Compute Engine zones in which the NodePool's nodes should be located.
Management: NodeManagement configuration for this NodePool.
MaxPodsConstraint: The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool.
UpgradeSettings: Upgrade settings control disruption and speed of the upgrade.
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
ProviderReference specifies the provider that will be used to create, observe, update, and delete this managed resource. Deprecated: Please use ProviderConfigReference, i.e. providerConfigRef
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
A NodePoolStatus represents the observed state of a NodePool.
NodePoolObservation is used to show the observed state of the GKE Node Pool resource on GCP.
InstanceGroupUrls: The resource URLs of the [managed instance groups](/compute/docs/instance-groups/creating-groups-of-mana ged-instances) associated with this node pool.
Management: NodeManagement configuration for this NodePool.
UpgradeOptions: Specifies the Auto Upgrade knobs for the node pool.
Conditions of the resource.
crossplane-np
apiVersion: container.gcp.crossplane.io/v1beta1
kind: NodePool
metadata:
name: crossplane-np
spec:
forProvider:
autoscaling:
autoprovisioned: false
enabled: true
maxNodeCount: 5
minNodeCount: 3
clusterRef:
name: example-cluster
config:
diskSizeGb: 120
diskType: pd-ssd
imageType: cos_containerd
labels:
test-label: crossplane-created
machineType: n1-standard-1
oauthScopes:
- https://www.googleapis.com/auth/devstorage.read_only
- https://www.googleapis.com/auth/logging.write
- https://www.googleapis.com/auth/monitoring
- https://www.googleapis.com/auth/servicecontrol
- https://www.googleapis.com/auth/service.management.readonly
- https://www.googleapis.com/auth/trace.append
sandboxConfig:
type: gvisor
serviceAccount: sa-test
initialNodeCount: 3
locations:
- us-west2-a
© 2022 Upbound, Inc.
Discover the building blocksfor your internal cloud platform.