CreateCluster

post

/20180222/clusters

Create a new OKE cluster. The Network Load Balancer and public IP address are created and assigned as part of cluster creation.

Before you create a cluster, ensure that the OraclePCA-OKE/cluster_id defined tag exists in the tenancy. Use ListTagNamespaces and ListTags.

To configure the network, see "Creating Network Resources" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-network.html) in Oracle Private Cloud Appliance Container Engine for Kubernetes.

Specify the following:

  • clusterPodNetworkOptions cniType - You can only specify FLANNEL_OVERLAY.
  • compartmentId - The OCID of the compartment for the cluster. See ListCompartments.
  • endpointConfig isPublicIpEnabled - Set this to true.
  • endpointConfig subnetId - The OCID of the subnet that has the configuration of the control-plane-endpoint subnet described in "Creating an OKE Control Plane Load Balancer Subnet" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-subnet-controlplanelb.html#oke-subnet-controlplanelb).
  • kubernetesVersion - The version of Kubernetes to run on the control plane nodes. Supported versions of Kubernetes are 1.28.x, 1.27.x, and 1.26.x.
  • name - A name for the cluster.
  • options podsCidr - The default value is 10.244.0.0/16.
  • options servicesCidr - The default value is 10.96.0.0/16.
  • options serviceLbSubnetIds - The OCID of the subnet that has the configuration of the service-lb subnet described in "Creating an OKE Worker Load Balancer Subnet" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-subnet-workerlb.html#oke-subnet-workerlb). Do not specify more than one subnet.
  • vcnId - The OCID of the VCN that has the configuration of the oke_vcn VCN described in "Creating an OKE VCN" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-vcn.html#oke-vcn).

    Use defined tags to provide the following information for control plane nodes. The tag namespace for all of these tags is OraclePCA. For more information about these parameters, see "Creating an OKE Cluster" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-cluster-create.html#oke-cluster-create).

  • sshkey - Your public SSH key.
  • cpNodeCount - 1, 3, or 5.
  • cpNodeShape - The shape of the control plane nodes.
  • cpNodeShapeConfig - The configuration of the node shape if you specified a flexible shape: number of OCPUs and gigabytes of memory.

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

  • 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 cluster to create.
    Root Schema : CreateClusterDetails
    Type: object
    The properties that define a request to create a cluster.
    Show Source
    Nested Schema : clusterPodNetworkOptions
    Type: array
    Maximum Number of Items: 255
    Unique Items Required: true
    Available CNIs and network options for existing and new node pools of the cluster.
    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: {"OraclePCA": {"sshkey": "ssh-rsa remainder_of_your_public_SSH_key", "cpNodeCount": 1, "cpNodeShape": "VM.PCAStandard1.Flex", "cpNodeShapeConfig": {"ocpus": 2, "memoryInGBs": 24}}}
    Example:
    {
        "Operations":{
            "CostCenter":42
        }
    }
    Nested Schema : CreateClusterEndpointConfigDetails
    Type: object
    The properties that define the network configuration for the Cluster endpoint.
    Match All
    The properties that define the network configuration for the Cluster endpoint.
    Show Source
    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 : CreateGovernancePolicyConfigDetails
    Type: object
    The properties that define policy governance.
    Match All
    The properties that define policy governance.
    Show Source
    Nested Schema : CreateImagePolicyConfigDetails
    Type: object
    The properties that define an image verification policy.
    Match All
    The properties that define an image verification policy.
    Show Source
    Nested Schema : ClusterCreateOptions
    Type: object
    The properties that define extra options for a cluster.
    Show Source
    Nested Schema : ClusterPodNetworkOptionDetails
    Type: object
    Discriminator: cniType
    The CNI type and network details applicable to the node pools of the cluster.
    Show Source
    • Minimum Length: 1
      Maximum Length: 255
      Allowed Values: [ "OCI_VCN_IP_NATIVE", "FLANNEL_OVERLAY" ]
      The CNI used by the node pools of this cluster.
    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 : ClusterEndpointConfig
    Type: object
    The properties that define the network configuration for the Cluster endpoint.
    Show Source
    • Default Value: false
      Whether the cluster should be assigned a public IP address. Defaults to false. Set this to true.
    • nsgIds
      Maximum Number of Items: 5
      Unique Items Required: true
      A list of the OCIDs of the network security groups (NSGs) to apply to the cluster endpoint.
    • The regional subnet in which to place the cluster endpoint. Select the subnet that has configuration like the control-plane-endpoint subnet described in "Creating an OKE Control Plane Load Balancer Subnet" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-subnet-controlplanelb.html#oke-subnet-controlplanelb).
    Nested Schema : nsgIds
    Type: array
    Maximum Number of Items: 5
    Unique Items Required: true
    A list of the OCIDs of the network security groups (NSGs) to apply to the cluster endpoint.
    Show Source
    Nested Schema : GovernancePolicyConfig
    Type: object
    The properties that define whether policy governance is enabled.
    Show Source
    Nested Schema : ImagePolicyConfig
    Type: object
    The properties that define a image verification policy.
    Show Source
    Nested Schema : keyDetails
    Type: array
    A list of KMS key details.
    Show Source
    Nested Schema : KeyDetails
    Type: object
    The properties that define the kms keys used by OKE for Image Signature verification.
    Show Source
    • Minimum Length: 1
      Maximum Length: 255
      The OCIDs of the KMS key that will be used to verify whether the images are signed by an approved source.
    Nested Schema : AddOnOptions
    Type: object
    The properties that define options for supported add-ons.
    Show Source
    Nested Schema : AdmissionControllerOptions
    Type: object
    The properties that define supported admission controllers.
    Show Source
    Nested Schema : KubernetesNetworkConfig
    Type: object
    The properties that define the network configuration for Kubernetes.
    Show Source
    • Default Value: 10.244.0.0/16
      The CIDR block for Kubernetes pods. Optional, defaults to 10.244.0.0/16.
      Example: 10.244.0.0/16
    • Default Value: 10.96.0.0/16
      The CIDR block for Kubernetes services. Optional, defaults to 10.96.0.0/16.
      Example: 10.96.0.0/16
    Nested Schema : PersistentVolumeConfigDetails
    Type: object
    Configuration to be applied to block volumes created by Kubernetes Persistent Volume Claims (PVC)
    Show Source
    Nested Schema : ServiceLbConfigDetails
    Type: object
    Configuration to be applied to load balancers created by Kubernetes services
    Show Source
    Nested Schema : serviceLbSubnetIds
    Type: array
    The subnet that is configured to host the load balancer in an OKE cluster. Specify the OCID of the subnet that has the configuration of the service-lb subnet described in "Creating an OKE Worker Load Balancer Subnet" (https://docs.oracle.com/en/engineered-systems/private-cloud-appliance/3.0-latest/oke/oke-subnet-workerlb.html#oke-subnet-workerlb). Do not specify more than one subnet.
    Show Source
    • Example: ocid1.subnet.oc1.iad.aaaaaaaanifpelnyzmkvnepohbz4ntswkpl35syzzsugdxceth3ofzxtlyit
    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 : 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 : 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 : 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.
    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