node_pools
Creates, updates, deletes, gets or lists a node_pools resource.
Overview​
| Name | node_pools |
| Type | Resource |
| Id | oci.container_engine.node_pools |
Fields​
The following fields are returned by SELECT queries:
- get
- list
The node pool.
| Name | Datatype | Description |
|---|---|---|
id | string | The OCID of the node pool. (example: ocid1.nodepool.oc1.iad.aaaaaaaanifpelnyzmkvnepohbz4ntswkpl35syzzsugdxceth3oihe8hcfq) |
name | string | The name of the node pool. (example: My Node Pool) |
clusterId | string | The OCID of the cluster to which this node pool is attached. (example: ocid1.cluster.oc1.iad.aaaaaaaaga3tombrmq3wgyrvmi3gcn3bmfsdizjwgy4wgyldmy3dcmtcmmyw) |
compartmentId | string | The OCID of the compartment in which the node pool exists. (example: ocid1.compartment.oc1..aaaaaaaafqm2df7ckwmmbtdsl2bgxsw4fcpvkoojytxrqst24yww2tdmtqcq) |
definedTags | object | Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} |
freeformTags | object | Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} |
initialNodeLabels | array | A list of key/value pairs to add to nodes after they join the Kubernetes cluster. |
kubernetesVersion | string | The version of Kubernetes running on the nodes in the node pool. (example: v1.9.4) |
lifecycleDetails | string | Details about the state of the nodepool. |
lifecycleState | string | The state of the nodepool. For more information, see [Monitoring Clusters](/Content/ContEng/Tasks/contengmonitoringclusters.htm) (DELETED, CREATING, ACTIVE, UPDATING, DELETING, FAILED, INACTIVE, NEEDS_ATTENTION) (example: ACTIVE, x-obmcs-top-level-enum: #/definitions/NodePoolLifecycleState) |
networkLaunchType | string | Emulation type for the physical network interface card (NIC) for nodes (VFIO, E1000, PARAVIRTUALIZED) (x-obmcs-top-level-enum: #/definitions/NetworkLaunchType) |
nodeConfigDetails | object | The size and placement configuration of nodes in the node pool. |
nodeEvictionNodePoolSettings | object | Node Eviction Details configuration |
nodeImageId | string | Deprecated. see nodeSource. The OCID of the image running on the nodes in the node pool. (example: ocid1.image.oc1.phx.aaaaaaaanclh465xnfvajjojj5bbjzqytunslgvnyvf3fepiiltalnglekoa) |
nodeImageName | string | Deprecated. see nodeSource. The name of the image running on the nodes in the node pool. (example: Oracle-Linux-7.4) |
nodeMetadata | object | A list of key/value pairs to add to each underlying OCI instance in the node pool on launch. |
nodePoolCyclingDetails | object | Node Pool Cycling Details |
nodeShape | string | The name of the node shape of the nodes in the node pool. (example: VM.Standard2.4) |
nodeShapeConfig | object | The shape configuration of the nodes. |
nodeSource | object | The source option for the node. |
nodeSourceDetails | object | The details of the node's source. |
nodes | array | The nodes in the node pool. |
primaryVnic | object | Details for node's primary VNIC |
quantityPerSubnet | integer (int32) | The number of nodes in each subnet. |
secondaryVnics | array | A list of secondary vnics to attach to nodes |
sshPublicKey | string | The SSH public key on each node in the node pool on launch. (example: ssh-rsa AAAAB3NzaC1yc2abc123...) |
subnetIds | array | The OCIDs of the subnets in which to place nodes for this node pool. |
systemTags | object | Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud": {"free-tier-retained": "true"}} |
The properties that define a node pool summary.
| Name | Datatype | Description |
|---|---|---|
id | string | The OCID of the node pool. (example: ocid1.nodepool.oc1.iad.aaaaaaaanifpelnyzmkvnepohbz4ntswkpl35syzzsugdxceth3oihe8hcfq) |
name | string | The name of the node pool. (example: My Node Pool) |
clusterId | string | The OCID of the cluster to which this node pool is attached. (example: ocid1.cluster.oc1.iad.aaaaaaaaga3tombrmq3wgyrvmi3gcn3bmfsdizjwgy4wgyldmy3dcmtcmmyw) |
compartmentId | string | The OCID of the compartment in which the node pool exists. (example: ocid1.compartment.oc1..aaaaaaaafqm2df7ckwmmbtdsl2bgxsw4fcpvkoojytxrqst24yww2tdmtqcq) |
definedTags | object | Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: {"Operations": {"CostCenter": "42"}} |
freeformTags | object | Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: {"Department": "Finance"} |
initialNodeLabels | array | A list of key/value pairs to add to nodes after they join the Kubernetes cluster. |
kubernetesVersion | string | The version of Kubernetes running on the nodes in the node pool. (example: v1.9.4) |
lifecycleDetails | string | Details about the state of the nodepool. |
lifecycleState | string | The state of the nodepool. For more information, see [Monitoring Clusters](/Content/ContEng/Tasks/contengmonitoringclusters.htm) (DELETED, CREATING, ACTIVE, UPDATING, DELETING, FAILED, INACTIVE, NEEDS_ATTENTION) (example: ACTIVE, x-obmcs-top-level-enum: #/definitions/NodePoolLifecycleState) |
networkLaunchType | string | Emulation type for the physical network interface card (NIC) for nodes (VFIO, E1000, PARAVIRTUALIZED) (x-obmcs-top-level-enum: #/definitions/NetworkLaunchType) |
nodeConfigDetails | object | The size and placement configuration of nodes in the node pool. |
nodeEvictionNodePoolSettings | object | Node Eviction Details configuration |
nodeImageId | string | Deprecated. see nodeSource. The OCID of the image running on the nodes in the node pool. (example: ocid1.image.oc1.phx.aaaaaaaanclh465xnfvajjojj5bbjzqytunslgvnyvf3fepiiltalnglekoa) |
nodeImageName | string | Deprecated. see nodeSource. The name of the image running on the nodes in the node pool. (example: Oracle-Linux-7.4) |
nodePoolCyclingDetails | object | Node Pool Cycling Details |
nodeShape | string | The name of the node shape of the nodes in the node pool. (example: VM.Standard2.4) |
nodeShapeConfig | object | The shape configuration of the nodes. |
nodeSource | object | The source option for the node. |
nodeSourceDetails | object | The details of the node's source. |
primaryVnic | object | Details for node's primary VNIC |
quantityPerSubnet | integer (int32) | The number of nodes in each subnet. |
secondaryVnics | array | A list of secondary vnics to attach to nodes |
sshPublicKey | string | The SSH public key on each node in the node pool on launch. (example: ssh-rsa AAAAB3NzaC1yc2abc123...) |
subnetIds | array | The OCIDs of the subnets in which to place nodes for this node pool. |
systemTags | object | Usage of system tag keys. These predefined keys are scoped to namespaces. Example: {"orcl-cloud": {"free-tier-retained": "true"}} |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | nodePoolId, region | opc-request-id | Get the details of a node pool. |
list | select | compartmentId, region | clusterId, name, limit, page, sortOrder, sortBy, opc-request-id, lifecycleState | List all the node pools in a compartment, and optionally filter by cluster. |
create | insert | region, compartmentId, clusterId, name, nodeShape | opc-retry-token, opc-request-id | Create a new node pool. |
update | update | nodePoolId, region | if-match, opc-request-id, overrideEvictionGraceDuration, isForceDeletionAfterOverrideGraceDuration | Update the details of a node pool. |
delete | delete | nodePoolId, region | if-match, opc-request-id, overrideEvictionGraceDuration, isForceDeletionAfterOverrideGraceDuration | Delete a node pool. |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
compartmentId | string | The OCID of the compartment. |
nodePoolId | string | The OCID of the node pool. |
region | string | OCI region identifier (e.g. us-ashburn-1, ap-sydney-1); resolves from OCI_REGION when not supplied in the query. (default: us-ashburn-1, x-stackQL-envVar: OCI_REGION) |
clusterId | string | The OCID of the cluster. |
if-match | string | For optimistic concurrency control. In the PUT or DELETE call for a resource, set the if-match parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value. |
isForceDeletionAfterOverrideGraceDuration | boolean | If the underlying compute instance should be deleted if you cannot evict all the pods in grace period |
lifecycleState | array | A list of nodepool lifecycle states on which to filter on, matching any of the list items (OR logic). eg. [ACTIVE, DELETING]. For more information, see [Monitoring Clusters](/Content/ContEng/Tasks/contengmonitoringclusters.htm) |
limit | integer | For list pagination. The maximum number of results per page, or items to return in a paginated "List" call. 1 is the minimum, 1000 is the maximum. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine). |
name | string | The name to filter on. |
opc-request-id | string | Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. |
opc-retry-token | string | A token you supply to uniquely identify the request and provide idempotency if the request is retried. Idempotency tokens expire after 24 hours. |
overrideEvictionGraceDuration | string (x-obmcs-duration) | Duration after which OKE will give up eviction of the pods on the node. PT0M will indicate you want to delete the node without cordon and drain. Default PT60M, Min PT0M, Max: PT60M. Format ISO 8601 e.g PT30M |
page | string | For list pagination. The value of the opc-next-page response header from the previous "List" call. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine). |
sortBy | string | The optional field to sort the results by. |
sortOrder | string | The optional order in which to sort the results. |
SELECT examples​
- get
- list
Get the details of a node pool.
SELECT
id,
name,
clusterId,
compartmentId,
definedTags,
freeformTags,
initialNodeLabels,
kubernetesVersion,
lifecycleDetails,
lifecycleState,
networkLaunchType,
nodeConfigDetails,
nodeEvictionNodePoolSettings,
nodeImageId,
nodeImageName,
nodeMetadata,
nodePoolCyclingDetails,
nodeShape,
nodeShapeConfig,
nodeSource,
nodeSourceDetails,
nodes,
primaryVnic,
quantityPerSubnet,
secondaryVnics,
sshPublicKey,
subnetIds,
systemTags
FROM oci.container_engine.node_pools
WHERE nodePoolId = '{{ nodePoolId }}' -- required
AND region = '{{ region }}' -- required
AND opc-request-id = '{{ opc-request-id }}'
;
List all the node pools in a compartment, and optionally filter by cluster.
SELECT
id,
name,
clusterId,
compartmentId,
definedTags,
freeformTags,
initialNodeLabels,
kubernetesVersion,
lifecycleDetails,
lifecycleState,
networkLaunchType,
nodeConfigDetails,
nodeEvictionNodePoolSettings,
nodeImageId,
nodeImageName,
nodePoolCyclingDetails,
nodeShape,
nodeShapeConfig,
nodeSource,
nodeSourceDetails,
primaryVnic,
quantityPerSubnet,
secondaryVnics,
sshPublicKey,
subnetIds,
systemTags
FROM oci.container_engine.node_pools
WHERE compartmentId = '{{ compartmentId }}' -- required
AND region = '{{ region }}' -- required
AND clusterId = '{{ clusterId }}'
AND name = '{{ name }}'
AND limit = '{{ limit }}'
AND page = '{{ page }}'
AND sortOrder = '{{ sortOrder }}'
AND sortBy = '{{ sortBy }}'
AND opc-request-id = '{{ opc-request-id }}'
AND lifecycleState = '{{ lifecycleState }}'
;
INSERT examples​
- create
- Manifest
Create a new node pool.
INSERT INTO oci.container_engine.node_pools (
clusterId,
compartmentId,
definedTags,
freeformTags,
initialNodeLabels,
kubernetesVersion,
name,
networkLaunchType,
nodeConfigDetails,
nodeEvictionNodePoolSettings,
nodeImageName,
nodeMetadata,
nodePoolCyclingDetails,
nodeShape,
nodeShapeConfig,
nodeSourceDetails,
primaryVnic,
quantityPerSubnet,
secondaryVnics,
sshPublicKey,
subnetIds,
region,
opc-retry-token,
opc-request-id
)
SELECT
'{{ clusterId }}' /* required */,
'{{ compartmentId }}' /* required */,
'{{ definedTags }}',
'{{ freeformTags }}',
'{{ initialNodeLabels }}',
'{{ kubernetesVersion }}',
'{{ name }}' /* required */,
'{{ networkLaunchType }}',
'{{ nodeConfigDetails }}',
'{{ nodeEvictionNodePoolSettings }}',
'{{ nodeImageName }}',
'{{ nodeMetadata }}',
'{{ nodePoolCyclingDetails }}',
'{{ nodeShape }}' /* required */,
'{{ nodeShapeConfig }}',
'{{ nodeSourceDetails }}',
'{{ primaryVnic }}',
{{ quantityPerSubnet }},
'{{ secondaryVnics }}',
'{{ sshPublicKey }}',
'{{ subnetIds }}',
'{{ region }}',
'{{ opc-retry-token }}',
'{{ opc-request-id }}'
;
# Description fields are for documentation purposes
- name: node_pools
props:
- name: region
value: "{{ region }}"
description: Required parameter for the node_pools resource.
- name: clusterId
value: "{{ clusterId }}"
description: |
The OCID of the cluster to which this node pool is attached.
- name: compartmentId
value: "{{ compartmentId }}"
description: |
The OCID of the compartment in which the node pool exists.
- name: definedTags
value: "{{ definedTags }}"
description: |
Defined tags for this resource. Each key is predefined and scoped to a namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Operations": {"CostCenter": "42"}}`
- name: freeformTags
value: "{{ freeformTags }}"
description: |
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).
Example: `{"Department": "Finance"}`
- name: initialNodeLabels
description: |
A list of key/value pairs to add to nodes after they join the Kubernetes cluster.
value:
- key: "{{ key }}"
value: "{{ value }}"
- name: kubernetesVersion
value: "{{ kubernetesVersion }}"
description: |
The version of Kubernetes to install on the nodes in the node pool.
- name: name
value: "{{ name }}"
description: |
The name of the node pool. Avoid entering confidential information.
- name: networkLaunchType
value: "{{ networkLaunchType }}"
description: |
Emulation type for the physical network interface card (NIC) for nodes
valid_values: ['VFIO', 'E1000', 'PARAVIRTUALIZED']
- name: nodeConfigDetails
description: |
The size and placement configuration of nodes in the node pool.
value:
computeClusterId: "{{ computeClusterId }}"
definedTags: "{{ definedTags }}"
freeformTags: "{{ freeformTags }}"
isPvEncryptionInTransitEnabled: {{ isPvEncryptionInTransitEnabled }}
kmsKeyId: "{{ kmsKeyId }}"
nodePoolPodNetworkOptionDetails:
cniType: "{{ cniType }}"
nsgIds:
- "{{ nsgIds }}"
placementConfigs:
- availabilityDomain: "{{ availabilityDomain }}"
capacityReservationId: "{{ capacityReservationId }}"
faultDomains: "{{ faultDomains }}"
hostGroupId: "{{ hostGroupId }}"
preemptibleNodeConfig:
preemptionAction:
type: "{{ type }}"
subnetId: "{{ subnetId }}"
size: {{ size }}
- name: nodeEvictionNodePoolSettings
description: |
Node Eviction Details configuration
value:
evictionGraceDuration: "{{ evictionGraceDuration }}"
isForceActionAfterGraceDuration: {{ isForceActionAfterGraceDuration }}
isForceDeleteAfterGraceDuration: {{ isForceDeleteAfterGraceDuration }}
- name: nodeImageName
value: "{{ nodeImageName }}"
description: |
Deprecated. Use `nodeSourceDetails` instead.
If you specify values for both, this value is ignored.
The name of the image running on the nodes in the node pool.
- name: nodeMetadata
value: "{{ nodeMetadata }}"
description: |
A list of key/value pairs to add to each underlying OCI instance in the node pool on launch.
- name: nodePoolCyclingDetails
description: |
Node Pool Cycling Details
value:
cycleModes:
- "{{ cycleModes }}"
isNodeCyclingEnabled: {{ isNodeCyclingEnabled }}
maximumSurge: "{{ maximumSurge }}"
maximumUnavailable: "{{ maximumUnavailable }}"
- name: nodeShape
value: "{{ nodeShape }}"
description: |
The name of the node shape of the nodes in the node pool.
- name: nodeShapeConfig
description: |
The shape configuration of the nodes.
value:
memoryInGBs: {{ memoryInGBs }}
ocpus: {{ ocpus }}
- name: nodeSourceDetails
description: |
The details of the node's source.
value:
sourceType: "{{ sourceType }}"
- name: primaryVnic
description: |
Details for node's primary VNIC
value:
securityAttributes: "{{ securityAttributes }}"
- name: quantityPerSubnet
value: {{ quantityPerSubnet }}
description: |
Optional, default to 1. The number of nodes to create in each subnet specified in subnetIds property.
When used, subnetIds is required. This property is deprecated, use nodeConfigDetails instead.
default: 1
- name: secondaryVnics
description: |
A list of secondary vnics to attach to nodes
value:
- createVnicDetails:
applicationResources:
- "{{ applicationResources }}"
assignIpv6Ip: {{ assignIpv6Ip }}
assignPublicIp: {{ assignPublicIp }}
definedTags: "{{ definedTags }}"
displayName: "{{ displayName }}"
freeformTags: "{{ freeformTags }}"
ipCount: {{ ipCount }}
ipv6AddressIpv6SubnetCidrPairDetails:
- ipv6Address: "{{ ipv6Address }}"
ipv6SubnetCidr: "{{ ipv6SubnetCidr }}"
nsgIds:
- "{{ nsgIds }}"
securityAttributes: "{{ securityAttributes }}"
skipSourceDestCheck: {{ skipSourceDestCheck }}
subnetId: "{{ subnetId }}"
displayName: "{{ displayName }}"
nicIndex: {{ nicIndex }}
- name: sshPublicKey
value: "{{ sshPublicKey }}"
description: |
The SSH public key on each node in the node pool on launch.
- name: subnetIds
value:
- "{{ subnetIds }}"
description: |
The OCIDs of the subnets in which to place nodes for this node pool. When used, quantityPerSubnet
can be provided. This property is deprecated, use nodeConfigDetails. Exactly one of the
subnetIds or nodeConfigDetails properties must be specified.
- name: opc-retry-token
value: "{{ opc-retry-token }}"
description: A token you supply to uniquely identify the request and provide idempotency if the request is retried. Idempotency tokens expire after 24 hours.
description: A token you supply to uniquely identify the request and provide idempotency if the request is retried. Idempotency tokens expire after 24 hours.
- name: opc-request-id
value: "{{ opc-request-id }}"
description: Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
description: Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
UPDATE examples​
- update
Update the details of a node pool.
UPDATE oci.container_engine.node_pools
SET
definedTags = '{{ definedTags }}',
freeformTags = '{{ freeformTags }}',
initialNodeLabels = '{{ initialNodeLabels }}',
kubernetesVersion = '{{ kubernetesVersion }}',
name = '{{ name }}',
networkLaunchType = '{{ networkLaunchType }}',
nodeConfigDetails = '{{ nodeConfigDetails }}',
nodeEvictionNodePoolSettings = '{{ nodeEvictionNodePoolSettings }}',
nodeMetadata = '{{ nodeMetadata }}',
nodePoolCyclingDetails = '{{ nodePoolCyclingDetails }}',
nodeShape = '{{ nodeShape }}',
nodeShapeConfig = '{{ nodeShapeConfig }}',
nodeSourceDetails = '{{ nodeSourceDetails }}',
primaryVnic = '{{ primaryVnic }}',
quantityPerSubnet = {{ quantityPerSubnet }},
secondaryVnics = '{{ secondaryVnics }}',
sshPublicKey = '{{ sshPublicKey }}',
subnetIds = '{{ subnetIds }}'
WHERE
nodePoolId = '{{ nodePoolId }}' --required
AND region = '{{ region }}' --required
AND if-match = '{{ if-match}}'
AND opc-request-id = '{{ opc-request-id}}'
AND overrideEvictionGraceDuration = '{{ overrideEvictionGraceDuration}}'
AND isForceDeletionAfterOverrideGraceDuration = {{ isForceDeletionAfterOverrideGraceDuration}};
DELETE examples​
- delete
Delete a node pool.
DELETE FROM oci.container_engine.node_pools
WHERE nodePoolId = '{{ nodePoolId }}' --required
AND region = '{{ region }}' --required
AND if-match = '{{ if-match }}'
AND opc-request-id = '{{ opc-request-id }}'
AND overrideEvictionGraceDuration = '{{ overrideEvictionGraceDuration }}'
AND isForceDeletionAfterOverrideGraceDuration = '{{ isForceDeletionAfterOverrideGraceDuration }}'
;