5 Oracle Cloud Infrastructure Provider
Learn about the oci
provider used to create Kubernetes clusters on Oracle Cloud Infrastructure.
Kubernetes clusters are deployed to Oracle Cloud Infrastructure using the oci
provider. The oci
provider uses the
Kubernetes Cluster API Provider for Oracle Cloud Infrastructure 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 the Cluster API implementation for Oracle Cloud Infrastructure, see the Kubernetes Cluster API Provider for Oracle Cloud Infrastructure
documentation.
Creating a cluster on Oracle Cloud Infrastructure requires you to provide the credentials to an existing tenancy. The required privileges depend on the configuration of the cluster that's created. For some deployments, it might be enough to have the privileges to create and destroy compute instances. For other deployments, more privilege might be required.
Clusters are deployed into specific compartments. The oci
provider requires
that a compartment is available. Compartments can be specified either by the Oracle Cloud
Identifier (OCID), or by its path in the compartment hierarchy, for example,
parentcompartment/mycompartment
.
The controllers that implement the Kubernetes Cluster API run inside a Kubernetes cluster. These clusters are known as management clusters. Management clusters control the life cycle of other clusters, known as workload clusters. A workload cluster can be its own management cluster.
Using the Kubernetes Cluster API to deploy a cluster on Oracle Cloud Infrastructure requires that a Kubernetes cluster is available. Any running cluster can be used. To set
the cluster to use, set the KUBECONFIG
environment variable, or use the
--kubeconfig
option of ocne
commands. You could also set
this cluster using a configuration file. If no cluster is available, a cluster is created
automatically using the libvirt
provider, with the default configuration.
This cluster is known as a bootstrap cluster, or an ephemeral cluster, depending
on the context.
When a cluster has been deployed, it's managed using the Kubernetes Cluster API resources in the management cluster.
A workload cluster can be its own management cluster. This is known as a self-managed cluster. When the cluster has been deployed by a bootstrap cluster, the Kubernetes Cluster API resources are migrated from the bootstrap cluster into the new cluster.