CreateNodePool

post

/20180222/nodePools

Create a new node pool. Specify the following:
  • clusterId - The OCID of the cluster where you want to add this node pool. See ListClusters.
  • compartmentId - The OCID of the compartment for the node pool. See ListCompartments.
  • name - A name for the node pool.
  • nodeConfigDetails cniType - Specify FLANNEL_OVERLAY.
  • nodeConfigDetails placementConfigs faultDomains - Specify the name of a fault domain. See ListFaultDomains. Do not specify more than one fault domain. To allow the system to select the best fault domains, do not specify any fault domain.
  • nodeConfigDetails placementConfigs subnetId - The OCID of the subnet that has the configuration of the worker subnet described in "Creating an OKE Worker Subnet" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-subnet-worker.html#oke-subnet-worker).
  • nodeConfigDetails size - The number of nodes to create in the node pool. See "OKE Service Limits" in Oracle Private Cloud Appliance Container Engine for Kubernetes.
  • nodeShape - The name of the shape for the node pool nodes.
  • nodeShapeConfig ocpus - If you specify a flexible shape, then you must specify the number of OCPUs per node. You can optionally specify memoryInGBs. By default, the number of gigabytes of memory is 16 times the number of OCPUs.
  • nodeSourceDetails sourceType - Specify IMAGE.
  • nodeImageName - The name of the image to be used to create the nodes. See ListImages. You must specify an image that has -OKE- in its display name, and its Kubernetes version must not be newer than the Kubernetes version that you specified when you created the cluster. Use ListClusters to find the Kubernetes version of your cluster. In the following example, the Kubernetes version of the image is 1.28.3: uln-pca-Oracle-Linux8-OKE-1.28.3-20240210.oci
  • sshPublicKey - Your public SSH key.
  • Proxy settings. If your network requires proxy settings to enable worker nodes to reach outside registries or repositories, for example, use nodeMetadata to provide values for crio-proxy and crio-noproxy as key/value pairs.
  • nodeEvictionNodePoolSettings - Specify how to handle node deletion when you delete a node pool, delete a specified node, decrement the size of the node pool, or change the node pool nodes placement configuration. Use evictionGraceDuration to specify the number of minutes in ISO 8601 format after which OKE will give up eviction (cordon and drain) of the pods on the node. The default is 60 minurd (PT60M), minimum PT1M, maximum PT60M. The isForceDeleteAfterGraceDuration specifies whether the underlying compute instance should be deleted if you cannot evict all the pods within the grace period. Private Cloud Appliance always deletes the compute instance after the grace period even if some pods are not evicted.

    Do not specify any value for the OraclePCA-OKE defined tag or for the ClusterResourceIdentifier free-form tag.

    To assign key/value pairs to all nodes in the node pool, use initialNodeLabels.

    You cannot customize the OKE cloud-init scripts.

  • Request

    Supported Media Types
    Header Parameters
    • Unique Oracle-assigned identifier for the request. Provide this request OCID if you need to contact Oracle about this request.
    • Minimum Length: 1
      Maximum Length: 64
      A token you supply to uniquely identify the request and provide idempotency if the request is retried. Idempotency tokens expire after 24 hours.
    Body ()
    The details of the node pool to create.
    Root Schema : CreateNodePoolDetails
    Type: object
    The properties that define a request to create a node pool.
    Show Source
    Nested Schema : definedTags
    Type: object
    Additional Properties Allowed
    Show Source
    Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
    Example:
    {
        "Operations":{
            "CostCenter":42
        }
    }
    Nested Schema : freeformTags
    Type: object
    Additional Properties Allowed
    Show Source
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
    Example:
    {
        "Department":"Finance"
    }
    Nested Schema : initialNodeLabels
    Type: array
    A list of key/value pairs to add to nodes after they join the Kubernetes cluster. Labels can be used to target pods for scheduling on specific nodes or groups of nodes.
    Show Source
    Nested Schema : CreateNodePoolNodeConfigDetails
    Type: object
    The size and placement configuration of nodes in the node pool.
    Show Source
    Nested Schema : NodeEvictionNodePoolSettings
    Type: object
    Node eviction details configuration.
    Show Source
    • Number of minutes in ISO 8601 format after which OKE will give up eviction (cordon and drain) of the pods on the node. Default PT60M, minimum PT1M, maximum PT60M.
      Example: PT30M
    • Default Value: false
      Whether the underlying compute instance should be deleted if you cannot evict all the pods within the grace period. Private Cloud Appliance always deletes the compute instance after the grace period even if some pods are not evicted.
    Nested Schema : nodeMetadata
    Type: object
    Additional Properties Allowed
    Show Source
    A list of key/value pairs to add to each underlying OCI instance in the node pool on launch. For example, use nodeMetadata to provide values for crio-proxy and crio-noproxy.
    Nested Schema : NodePoolCyclingDetails
    Type: object
    Node pool cycling settings.
    Show Source
    • Default Value: false
      To apply the changes in this update to all nodes in the nodepool (to node cycle the node pool), set isNodeCyclingEnabled to true.
    • Minimum Length: 1
      Maximum Length: 4
      Default Value: 1
      The maximum number of new nodes that can be starting at any time during this update operation. Set this value to avoid adding too many new nodes before existing nodes are terminated, which could incur excessive cost. The default value is 1. The maximum value is 5. Either maximumUnavailable or maximumSurge must be greater than 0. The value can be set to either a number (from 0 to the configured number of nodes in the node pool, but not greater than 5) or a percentage (from 0% to 100%, but not a percentage that would result in a number greater than 5).
      Example: 10%
    • Minimum Length: 1
      Maximum Length: 4
      Default Value: 0
      The maximum number of existing nodes that can be terminating at any time during this update operation. Set this value to ensure that enough nodes remain to handle the workload. The default value is 0. The maximum value is 7. Either maximumUnavailable or maximumSurge must be greater than 0. The value can be set to either a number (from 0 to the configured number of nodes in the node pool, but not greater than 7) or a percentage (from 0% to 100%, but not a percentage that would result in a number greater than 7).
      Example: 2
    Nested Schema : CreateNodeShapeConfigDetails
    Type: object
    The shape configuration of the nodes.
    Match All
    The shape configuration of the nodes.
    Show Source
    Nested Schema : NodeSourceDetails
    Type: object
    Discriminator: sourceType
    The details of the node's source.
    Show Source
    Nested Schema : subnetIds
    Type: array
    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.
    Show Source
    Nested Schema : additionalProperties
    Type: object
    Additional Properties Allowed
    Show Source
    Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}`
    Nested Schema : additionalProperties
    Type: object
    The value of the tag. Only the String type is supported.
    Nested Schema : KeyValue
    Type: object
    The properties that define a key value pair.
    Show Source
    Nested Schema : definedTags
    Type: object
    Additional Properties Allowed
    Show Source
    Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: {"Operations": {"CostCenter": "42"}}
    Example:
    {
        "Operations":{
            "CostCenter":42
        }
    }
    Nested Schema : freeformTags
    Type: object
    Additional Properties Allowed
    Show Source
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. Example: {"Department": "Finance"}
    Example:
    {
        "Department":"Finance"
    }
    Nested Schema : NodePoolPodNetworkOptionDetails
    Type: object
    Discriminator: cniType
    The CNI type and network details for the pods of a given node pool.
    Show Source
    • Minimum Length: 1
      Maximum Length: 255
      Allowed Values: [ "OCI_VCN_IP_NATIVE", "FLANNEL_OVERLAY" ]
      The CNI plugin used by this node pool.
    Nested Schema : nsgIds
    Type: array
    Maximum Number of Items: 5
    Unique Items Required: true
    The OCIDs of the Network Security Groups (NSGs) to associate nodes for this node pool with.
    Show Source
    Nested Schema : placementConfigs
    Type: array
    The placement configurations for the node pool. Provide one placement configuration for each availability domain in which you intend to launch a node. To use the node pool with a regional subnet, provide a placement configuration for each availability domain, and include the regional subnet in each placement configuration.
    Show Source
    Nested Schema : additionalProperties
    Type: object
    Additional Properties Allowed
    Show Source
    Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}`
    Nested Schema : additionalProperties
    Type: object
    The value of the tag. Only the String type is supported.
    Nested Schema : NodePoolPlacementConfigDetails
    Type: object
    The location where a node pool will place nodes.
    Show Source
    • Minimum Length: 1
      Maximum Length: 255
      The availability domain in which to place nodes. Example: AD-1
    • Minimum Length: 0
      Maximum Length: 255
      The OCID of the compute capacity reservation in which to place the compute instance.
    • faultDomains
      Maximum Number of Items: 3
      Unique Items Required: true
      A list of fault domains in which to place nodes.
    • PreemptibleNodeConfigDetails
      Configuration options for preemptible nodes.
    • Minimum Length: 1
      Maximum Length: 255
      The OCID of the subnet in which to place nodes. Specify a subnet that has configuration like the worker subnet described in "Creating an OKE Worker Subnet" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-subnet-worker.html#oke-subnet-worker). The subnet must have rules set to communicate with the control plane endpoint. The subnet must use the private route table and must have a security list like the worker-seclist security list.
    Nested Schema : faultDomains
    Type: array
    Maximum Number of Items: 3
    Unique Items Required: true
    A list of fault domains in which to place nodes.
    Show Source
    Nested Schema : PreemptibleNodeConfigDetails
    Type: object
    Configuration options for preemptible nodes.
    Show Source
    Nested Schema : PreemptionAction
    Type: object
    Discriminator: type
    The action to run when the preemptible node is interrupted for eviction.
    Show Source
    • Allowed Values: [ "TERMINATE" ]
      The type of action to run when the instance is interrupted for eviction.
    Nested Schema : NodeShapeConfig
    Type: object
    The shape configuration of the nodes.
    Show Source
    Back to Top

    Response

    Supported Media Types

    202 Response

    Accepted
    Headers

    400 Response

    Bad Request
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.

    401 Response

    Unauthorized
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.

    404 Response

    Not Found
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.

    409 Response

    Conflict
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.

    429 Response

    Too Many Requests
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.

    500 Response

    Internal Server Error
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.

    Default Response

    An error has occurred.
    Headers
    • Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
    Body ()
    Root Schema : Error
    Type: object
    The properties that define an error.
    Show Source
    • A short error code that defines the error, meant for programmatic parsing. See [API Errors](https://docs.us-phoenix-1.oraclecloud.com/Content/API/References/apierrors.htm).
    • A human-readable error string.
    Back to Top