1 Introduction

Learn about the high level options available to create Kubernetes clusters in Oracle Cloud Native Environment (Oracle CNE).

Oracle CNE includes a Command Line Interface (CLI) that can manage the life cycle of Kubernetes clusters, using OSTree based container images. The container images include both the host Oracle Linux OS, and the Kubernetes software distribution. These images are deployed to hosts or Virtual Machines (VMs) to create nodes in a Kubernetes cluster. These images are referred to in this documentation set as Oracle Container Host for Kubernetes (OCK) images.

Kubernetes clusters are created and managed using the CLI ocne cluster command. For the complete ocne cluster command options and syntax, see Oracle Cloud Native Environment: CLI.

Oracle CNE includes several provider types you can use to create a Kubernetes cluster. These providers use the OCK image to provision nodes in a cluster. Create clusters for:

  • Kernel-based Virtual Machines (KVM) using the libvirt provider.

  • Oracle Cloud Infrastructure (OCI) using the oci provider.

  • Custom installations for bare metal or other platforms using the byo provider.

The libvirt provider is the default cluster provider, and can be used to provision Kubernetes clusters using Kernel-based Virtual Machines (KVM). The default KVM stack includes libvirt, and is included, by default, with Oracle Linux.

Kubernetes clusters are deployed to OCI using the oci provider. The oci provider uses the Kubernetes Cluster API Provider for OCI to perform the deployment. This is an implementation of the Kubernetes Cluster API. The Kubernetes Cluster API is implemented as Kubernetes Custom Resources (CRs), that are serviced by applications running in a Kubernetes cluster. The Kubernetes Cluster API has a large interface and is explained in the upstream documentation. For information on the Kubernetes Cluster API, see the Kubernetes Cluster API documentation. For information on the Cluster API implementation for OCI, see the Kubernetes Cluster API Provider for OCI documentation.

You can make custom installations of the Oracle Container Host for Kubernetes (OCK) image on arbitrary platforms. This means you can create a Kubernetes cluster using bare metal or other virtual instances, not provided explicitly by Oracle CNE. These installations are known as Bring Your Own (BYO) installations. You use the byo provider to perform these installations.

Configuration information used to create a cluster can be specified in several locations:

  • Global defaults in the default configuration file, set in the $HOME/.ocne/defaults.yaml file.

  • Kubernetes cluster configuration files. These files set the options for individual clusters and can be any name.

  • Options provided with the ocne command.

For information on the default configuration file and the inheritance of each setting, see Oracle Cloud Native Environment: CLI, and for information on cluster configuration files, see Cluster Configuration Files.

To provide High Availability of control plane nodes, you can specify the location of an external load balancer. Or you can use an internal deployment of Keepalived and NGINX as the load balancer. When using the internal load balancer, specify the IP address that the Kubernetes API Server should use as the virtual IP address, or an IP address can be set automatically using the subnet of the control plane nodes.

In addition to the CLI, Oracle CNE also includes a web-based UI which can be used to manage the maintenance and installation of Kubernetes cluster resources, and applications. You can opt to install this, or install a headless cluster and only use the CLI.

Kubernetes applications are delivered and installed using an application catalog. A default Oracle catalog is installed when you create a cluster. You can install applications using both the CLI and the UI. You can also add other application catalogs, such as the Artifact Hub. For information on application catalogs, and applications, see Oracle Cloud Native Environment: Applications.