This section covers the configuration options that are available in Rancher for a new or existing RKE Kubernetes cluster.
You can configure the Kubernetes options one of two ways:
- Rancher UI: Use the Rancher UI to select options that are commonly customized when setting up a Kubernetes cluster.
- : Instead of using the Rancher UI to choose Kubernetes options for the cluster, advanced users can create an RKE config file. Using a config file allows you to set any of the options available in an RKE installation, except for system_images configuration, by specifying them in YAML.
The RKE cluster config options are nested under the directive. For more information, see the section about the cluster config file.
This section is a cluster configuration reference, covering the following topics:
Rancher UI Options
When creating a cluster using one of the options described in Rancher Launched Kubernetes, you can configure basic Kubernetes options using the Cluster Options section.
The version of Kubernetes installed on your cluster nodes. Rancher packages its own version of Kubernetes based on .
Network Provider
The that the cluster uses. For more details on the different networking providers, please view our Networking FAQ.
Out of the box, Rancher is compatible with the following network providers:
Notes on Weave:
When Weave is selected as network provider, Rancher will automatically enable encryption by generating a random password. If you want to specify the password manually, please see how to configure your cluster using a and the Weave Network Plug-in Options.
Project Network Isolation
Project network isolation is used to enable or disable communication between pods in different projects.
To enable project network isolation as a cluster option, you will need to use any RKE network plugin that supports the enforcement of Kubernetes network policies, such as Canal or the Cisco ACI plugin.
To enable project network isolation as a cluster option, you will need to use Canal as the CNI.
Kubernetes Cloud Providers
You can configure a . If you want to use volumes and storage in Kubernetes, typically you must select the specific cloud provider in order to use it. For example, if you want to use Amazon EBS, you would need to select the aws
cloud provider.
If you want to see all the configuration options for a cluster, please click Show advanced options on the bottom right. The advanced options are described below:
Private registries
There are two main ways to set up private registries in Rancher: by setting up the global default registry through the Settings tab in the global view, and by setting up a private registry in the advanced options in the cluster-level settings. The global default registry is intended to be used for air-gapped setups, for registries that do not require credentials. The cluster-level private registry is intended to be used in all setups in which the private registry requires credentials.
If your private registry requires credentials, you need to pass the credentials to Rancher by editing the cluster options for each cluster that needs to pull images from the registry.
The private registry configuration option tells Rancher where to pull the or addon images that will be used in your cluster.
- System images are components needed to maintain the Kubernetes cluster.
- Add-ons are used to deploy several cluster components, including network plug-ins, the ingress controller, the DNS provider, or the metrics server.
See the for more information on the private registry for components applied during the provisioning of the cluster.
Authorized Cluster Endpoint
Authorized Cluster Endpoint can be used to directly access the Kubernetes API server, without requiring communication through Rancher.
This is enabled by default in Rancher-launched Kubernetes clusters, using the IP of the node with the controlplane
role and the default Kubernetes self signed certificates.
For more detail on how an authorized cluster endpoint works and why it is used, refer to the
We recommend using a load balancer with the authorized cluster endpoint. For details, refer to the recommended architecture section.
Node Pools
For information on using the Rancher UI to set up node pools in an RKE cluster, refer to this page.
Advanced Options
The following options are available when you create clusters in the Rancher UI. They are located under Advanced Options.
Option to enable or disable the NGINX ingress controller.
Node Port Range
Option to change the range of ports that can be used for NodePort services. Default is 30000-32767
.
Metrics Server Monitoring
Option to enable or disable Metrics Server.
Pod Security Policy Support
Option to enable and select a default Pod Security Policy. You must have an existing Pod Security Policy configured before you can use this option.
Docker Version on Nodes
Option to require a supported Docker version installed on the cluster nodes that are added to the cluster, or to allow unsupported Docker versions installed on the cluster nodes.
Docker Root Directory
If the nodes you are adding to the cluster have Docker configured with a non-default Docker Root Directory (default is /var/lib/docker
), please specify the correct Docker Root Directory in this option.
Recurring etcd Snapshots
Available as of v2.5.6
Option to set environment variables for . The environment variables can be set using key value pairs. If rancher agent requires use of proxy to communicate with Rancher server, , HTTPS_PROXY
and NO_PROXY
environment variables can be set using agent environment variables.
Cluster Config File
Instead of using the Rancher UI to choose Kubernetes options for the cluster, advanced users can create an RKE config file. Using a config file allows you to set any of the in an RKE installation, except for system_images
configuration. The system_images
option is not supported when creating a cluster with the Rancher UI or API.
- To edit an RKE config file directly from the Rancher UI, click Edit as YAML.
- To read from an existing RKE file, click Read from a file.
Config File Structure in Rancher v2.3.0+
RKE (Rancher Kubernetes Engine) is the tool that Rancher uses to provision Kubernetes clusters. Rancher’s cluster config files used to have the same structure as but the structure changed so that in Rancher, RKE cluster config items are separated from non-RKE config items. Therefore, configuration for your cluster needs to be nested under the directive in the cluster config file. Cluster config files created with earlier versions of Rancher will need to be updated for this format. An example cluster config file is included below.
Example Cluster Config File
Default DNS provider
The table below indicates what DNS provider is deployed by default. See for more information how to configure a different DNS provider. CoreDNS can only be used on Kubernetes v1.12.0 and higher.
Rancher specific parameters
Besides the RKE config file options, there are also Rancher specific settings that can be configured in the Config File (YAML):
docker_root_dir
enable_cluster_monitoring
Option to enable or disable Cluster Monitoring.
enable_network_policy
Option to enable or disable Project Network Isolation.
Before Rancher v2.5.8, project network isolation is only available if you are using the Canal network plugin for RKE.
In v2.5.8+, project network isolation is available if you are using any RKE network plugin that supports the enforcement of Kubernetes network policies, such as Canal or the Cisco ACI plugin.
local_cluster_auth_endpoint
See .
Example:
local_cluster_auth_endpoint:
enabled: true
fqdn: "FQDN"
ca_certs: "BASE64_CACERT"
You can add a custom network plug-in by using the user-defined add-on functionality of RKE. You define any add-on that you want deployed after the Kubernetes cluster is deployed.
There are two ways that you can specify an add-on: