Default Configuration File Options
Lists the options that can be included in an Oracle CNE CLI default configuration file.
The default configuration file must be in YAML format and saved to $HOME/.ocne/defaults.yaml
. The file can contain any of the following
options:
-
autoStartUI
-
Sets whether a tunnel to the Oracle CNE UI service is created when a cluster is instantiated, and starts the default browser to load the UI. For example:
autoStartUI: true
-
bootVolumeContainerImage
-
The container image registry and tag that contains an Oracle Container Host for Kubernetes (OCK) bootable image. The default is container-registry.oracle.com/olcne/ock:1.31. For example:
bootVolumeContainerImage: container-registry.oracle.com/olcne/ock:1.31
-
clusterDefinition
-
The path to a cluster configuration file. Provide this extra layer of configuration for clusters that use complex configuration that isn't provided by this default configuration file. For example:
clusterDefinition: mycluster.yaml
-
clusterDefinitionInline
-
Specifies in-line configuration options. Provide this extra layer of configuration for clusters that use complex configuration that isn't provided by this default configuration file. This option can't be used with
clusterDefinition
. For example:clusterDefinitionInline: | key1: value1 key2: value2
-
cni
-
The Container Networking Interface (CNI) provider to install when the cluster is instantiated. The value can be any CNI available with Oracle CNE, or
none
if another CNI is to be deployed either manually or using an application catalog.Note:
Multus can't be used as the primary CNI. Multus is available as an application in the default application catalog. If you install the Multus application, set this option to
none
.For example:
cni: flannel
cni: none
-
communityCatalog
-
Sets whether the Artifact Hub application catalog is installed. If this is set to
true
, the catalog is installed. If this is set tofalse
, the catalog isn't installed. The default isfalse
. For example:communityCatalog: true
-
ephemeralCluster
-
Allows customization of any short-lived clusters that might be spawned to perform tasks that can't be completed on the host system. This is often used for changing boot OCK images or deploying Kubernetes Cluster API resources. The options you can use are:
-
name
-
The name of the cluster. For example:
ephemeralCluster: name: mycluster
-
preserve
-
Sets whether the ephemeral cluster is automatically deleted after the work is complete. The default is
false
, so ephemeral clusters are deleted after they're used. For example:ephemeralCluster: preserve: true
-
node
-
Sets the configuration for the VMs. For example:
ephemeralCluster: node: cpus: 2 memory: 4GB storage: 15GB
-
-
extraIgnition
-
The path to an Ignition file that includes extra Ignition information to include when creating a cluster, or joining nodes to a cluster. The Ignition information must comply with the Ignition specification v3.4.0, as listed in the upstream Ignition documentation, and written in YAML using the Butane Fedora CoreOS Specification v1.5.0, as described in the upstream Butane documentation. For example:
extraIgnition: /home/username/.ocne/ignition.ign
-
extraIgnitionInline
-
Extra Ignition information to include when creating a cluster, or joining nodes to a cluster. The Ignition information must comply with the Ignition specification v3.4.0, as listed in the upstream Ignition documentation, and written in YAML using the Butane Fedora CoreOS Specification v1.5.0, as described in the upstream Butane documentation. The format must be:
extraIgnitionInline: | key1: value1 key2: value2 ...
-
headless
-
Sets whether the Oracle CNE UI is installed. If this is set to
true
, the UI isn't installed. The default isfalse
. For example:headless: true
-
kubeApiServerBindPort
-
Sets the port on which the Kubernetes API Server is exposed. The default is
6443
. For example:kubeApiServerBindPort: 6443
-
kubeApiServerBindPortAlt
-
Sets the port on which the Kubernetes API Server listens when deploying a Highly Available cluster using the Keepalived and NGINX load balancer. The default is
6444
. For example:kubeApiServerBindPortAlt: 6444
-
kubeconfig
-
The path to the
kubeconfig
file to use for operations that require a running cluster. For example:kubeconfig: /home/username/.kube/kubeconfig.utilitycluster
-
kubeProxyMode
-
The mode for
kube-proxy
. This can be set to eitheriptables
oripvs
. The default isiptables
. For example:kubeProxyMode: ipvs
For more information on the
kube-proxy
modes, see the upstream Kubernetes documentation. -
kubernetesVersion
-
This defines the Kubernetes version. The default is the latest version. For example:
kubernetesVersion: 1.31
-
osRegistry
-
Combined with
osTag
, this identifies an OSTree image in a container registry. It specifies the OSTree transport and the container registry URI.Possible prefixes for the transport are:
ostree-image-signed ostree-remote-image ostree-unverified-image ostree-unverified-registry
The default value is:
osRegistry: ostree-unverified-registry:container-registry.oracle.com/olcne/ock-ostree
-
osTag
-
Combined with
osRegistry
, this identifies an OSTree image in a container registry. It specifies the tag for the image. For example:osTag: 1.31
-
password
-
A hashed password for the OCK image user (
ocne
) to authenticate with cluster nodes. For example:password: $6$jfkldjfsd$n1YMnpdxlGXO...
Surrounding the password with quotes is optional.
You can use the
openssl
utility to create a hashed password. For example, to generate a hashed password with the SHA512 algorithm and an automatic salt:openssl passwd -6 -salt password
To generate a SHA512 hashed password using the provided salt phrase:
openssl passwd -6 -salt saltphrase password
-
podSubnet
-
The subnet to use for the pod network. The CNI is automatically configured to use this subnet. For example:
podSubnet: 10.244.0.0/16
-
providers
-
Specifies provider configuration options. For example:
providers: libvirt: options oci: options byo: options none: options
The options for each provider are listed in:
-
proxy
-
The proxy server information. This information is configured on the Kubernetes nodes. For example:
proxy: httpsProxy: http://myproxy.example.com:2138 httpProxy: http://myproxy.example.com:2138 noProxy: .example.com,127.0.0.1,localhost,169.254.169.254,10.96.0.0/12,10.244.0.0/16
-
quiet
-
Sets whether to reduce the messages printed by the
ocne
command. If this is set totrue
, the messages are reduced. If set tofalse
, the messages aren't reduced. The default isfalse
. For example:quiet: true
-
registry
-
Sets the registry from which to provision container images. The default is
container-registry.oracle.com
. For example:registry: myregistry.example.com
-
serviceSubnet
-
The subnet to use for the service network. The default is
10.96.0.0/12
. For example:serviceSubnet: 10.96.0.0/12
-
sshPublicKey
-
The public key of an RSA key pair for the OCK image user (
ocne
). Paste the contents of the public key file.For example:
sshPublicKey: | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...
-
sshPublicKeyPath
-
The path to the public key of an RSA key pair for the OCK image user (
ocne
) to authenticate with cluster nodes.sshPublicKeyPath: /home/username/.ssh/id_rsa.ocne
libvirt Provider Options
The options for the libvirt
provider are:
-
controlPlaneNode
-
Sets the configuration options for control plane nodes. To specify sizes, use:
-
M
: megabytes -
G
: gigabytes -
Mi
: mebibytes -
Gi
: gibibytes
providers: libvirt: controlPlaneNode: cpu: 2 memory: 16Gi storage: 8Gi
-
-
network
-
The name of the virtual network to use for domains. For example:
providers: libvirt: network: bridge-1
-
sshKey
-
The path to an SSH key to use for SSH connections. For example:
providers: libvirt: sshKey: /home/username/.ssh/id_rsa.ocne
-
storagePool
-
The name of the storage pool to use for OCK images. For example:
providers: libvirt: storagePool: mypool
-
uri
-
The default value for the libvirt connection URI. For example, for a local connection:
providers: libvirt: uri: qemu:///system
And for a remote connection:
providers: libvirt: uri: qemu+ssh://user@host/system
-
workerNode
-
Sets the configuration options for worker nodes. To specify sizes, use:
-
M
: megabytes -
G
: gigabytes -
Mi
: mebibytes -
Gi
: gibibytes
providers: libvirt: workerNode: cpu: 2 memory: 16Gi storage: 8Gi
-
OCI Provider Options
The options for the oci
provider are:
-
compartment
-
The OCI compartment in which to deploy resources. This can be either the path to a compartment (for example,
mytenancy/mycompartment
), or the OCID of a compartment. For example:providers: oci: compartment: OCID
-
controlPlaneShape
-
The name of the shape to use for compute instances when creating control plane nodes. For example:
providers: oci: controlPlaneShape: shape: VM.Standard.E4.Flex ocpus: 2
-
imageBucket
-
The OCID or name of a bucket to use to store OCK boot images when they're uploaded to OCI object storage. The default name is
ocne-images
. For example:providers: oci: imageBucket: ocne-images
-
images
-
The OCI OCIDs of the OCK images to use as the initial disk image for any compute resources. Sets the options for the
amd64
andarm64
architectures. For example:providers: oci: images: amd64: OCID arm64: OCID
-
kubeconfig
-
The path to the
kubeconfig
file to use for the target management cluster. For example:providers: oci: kubeconfig: /home/username/.kube/kubeconfig.mgmtcluster
-
loadBalancer
-
The OCIDs for subnets to use when provisioning OCI load balancers for default deployments. For example:
providers: oci: loadBalancer: subnet1: OCID subnet2: OCID
-
namespace
-
The Kubernetes namespace where the Kubernetes Cluster API resources are to be deployed.
providers: oci: namespace: mynamespace
-
selfManaged
-
Sets whether a cluster is self-managing. If set to
true
, the cluster contains the necessary controllers and resources to manage its own life cycle. If set tofalse
, or not set, those resources remain in the initial administration cluster. For example:providers: oci: selfManaged: true
-
profile
-
Sets the OCI CLI profile to use. This is the name of the profile in the OCI CLI configuration file. The default profile is
DEFAULT
. For example:providers: oci: profile: MYTENANCY
-
vcn
-
The OCID of the Virtual Cloud Network to use when creating load balancers for default deployments.
providers: oci: vcn: OCID
-
workerShape
-
The name of the shape to use for compute instances when creating worker nodes. For example:
providers: oci: workerShape: shape: VM.Standard.E4.Flex ocpus: 2
Bring Your Own Provider Options
The options for the byo
provider are:
-
automaticTokenCreation
-
If set to
true
, any time a join token is required it's created automatically as part of the command. If it's set tofalse
, the token must be created manually. For example:providers: byo: automaticTokenCreation: false
-
networkInterface
-
Sets the network interface to which the CNI and other Kubernetes services bind. This option is required. For example:
providers: byo: networkInterface: enp1s0