Supported Images (Including Custom Images) and Shapes for Worker Nodes

When creating a cluster using Container Engine for Kubernetes, you can customize the worker nodes in the cluster by specifying:

  • The operating system image to use for worker nodes. The image is a template of a virtual hard drive that determines the operating system and other software for the worker node.
  • The shape to use for worker nodes. The shape is the number of CPUs and the amount of memory to allocate to each newly created compute instance to be used as a worker node.

This topic includes information about the images and shapes provided by Oracle Cloud Infrastructure that are supported by Container Engine for Kubernetes for use in node pools. Note that some of the shapes might not be available in your particular tenancy.

To see a list of the supported images and the shapes available in your tenancy, use the oci ce node-pool-options get --node-pool-option-id all CLI command.

Supported Images

Container Engine for Kubernetes supports the provisioning of worker nodes using some, but not all, of the latest Oracle Linux images provided by Oracle Cloud Infrastructure.

To see the images supported by Container Engine for Kubernetes:

  • When using the Console to create a 'custom cluster', view the list of values in the Image drop-down menu to see the list of supported images.
  • When using the CLI, use the command oci ce node-pool-options get --node-pool-option-id all to see the supported images (in the data: sources: section of the response).

Custom Images

When specifying the image that Container Engine for Kubernetes uses to provision worker nodes in a node pool, you can specify your own custom image rather than one of the explicitly supported Oracle Linux images returned by the oci ce node-pool-options get --node-pool-option-id all command. Worker nodes provisioned from a custom image include the customizations, configuration, and software that were present when the image was created. Note that Container Engine for Kubernetes only supports custom images that are based on one of the Oracle Linux images returned by the oci ce node-pool-options get command.

To provision worker nodes from a custom image, you must use the CLI or API and specify the custom image’s OCID when creating the node pool. For example, by running the oci ce node-pool create command and using the --node-image-id parameter to specify a custom image's OCID, as follows:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd \
--name my-custom-linux-image \
--node-image-id ocid1.image.oc1.iad.aaaaaaaa6______nha \
--compartment-id ocid1.compartment.oc1..aaaaaaaay______t6q \
--kubernetes-version v1.15.7 \
--node-shape VM.Standard2.1 \
--placement-configs "[   { \"availabilityDomain\": \"nFuS:US-ASHBURN-AD-1\",       \"subnetId\": \"ocid1.subnet.oc1.iad.aaaaaaaa3______a6q\"   }   ]" \
--size 1 \
--region=us-ashburn-1

Note the following additional considerations when using custom images:

  • Container Engine for Kubernetes installs Kubernetes on top of a custom image, and Kubernetes or the installation software might change certain kernel configurations.
  • Custom images must have access to a yum repository (public or internal).
  • Custom images must not use a customized cloud-init. You can perform post-provisioning customization using SSH or Daemonset.
  • For the best support, ensure you create a custom image from the most up-to-date base image.

For more information about custom images and Oracle Cloud Infrastructure, see Managing Custom Images.

Supported Shapes

Container Engine for Kubernetes supports the provisioning of worker nodes using many, but not all, of the shapes provided by Oracle Cloud Infrastructure. More specifically:

  • Supported: Bare Metal shapes, including standard shapes; HPC shapes, except in RDMA networks; VM shapes, including standard shapes.
  • Not Supported: Dense I/O shapes; dedicated VM host shapes; GPU shapes on VMs and Bare Metal instances; Micro VM shapes; HPC shapes on Bare Metal instances in RDMA networks.

Note that you might be unable to select some shapes in your particular tenancy due to service limits and compartment quotas, even though those shapes are supported by Container Engine for Kubernetes.

To see the shapes that are supported by Container Engine for Kubernetes and available in your tenancy:

  • When using the Console to create a 'custom cluster', view the list of values in the Shape drop-down menu to see the list of supported shapes.
  • When using the CLI, use the command oci ce node-pool-options get --node-pool-option-id all to see the supported shapes (in the data: shapes: section of the response) that are available.

You might be able to use the Compute service's Console pages (or the Compute service's CLI or API) to subsequently change the shape of a worker node after it has been created. However, bear in mind that Container Engine for Kubernetes only supports those shapes shown in the Shape drop-down menu or returned by the oci ce node-pool-options get --node-pool-option-id all command.

For more information about all the shapes provided by Oracle Cloud Infrastructure, see Compute Shapes.