Support for other OS distros in node template

Are there any plans on supporting other Linux distros (such as CentOS7) as base ISO images while provisioning k8s clusters through Rancher UI?

Depending on they type of cluster provisioning you are doing, you should have some control over that. What kind are you doing? An GKE, EKS, AKS, or one of the IaaS options?

It’s an Air-gapped on-prem environment where we’re looking at using “hardened” CentOS7 as the base platform for Rancher-provisioned k8s clusters.


What node driver (ie vsphere, openstack) are you trying to use?

vSphere (ESXi 6.7).


There is a field called “OS ISO URL” under instance options when creating a node template.

You should be able to specify an iso to any OS you want there, provided docker can be successfully installed on that OS. Does that not work for you?

If this doesn’t work for you, another popular option is to use the “custom” cluster command, provision your VMs outside of Rancher, and then use the custom command to bootstrap the VMs into the cluster.

Hmmmm… interesting. I got the feeling that “only” RancherOS was possible to use while auto-provisioning a new Rancher-managed k8s-cluster while using vSphere hosted VMs… So, if I understand you correctly, Rancher will be able to

  1. download, say, a Centos7 iso using the provided URL
  2. install a supported docker-version depending on the selected OS & k8s versions
  3. automatically download the needed Rancher-images
  4. register the newly provisioned Centos7-cluster in the Rancher UI

I assume I may need to do some more initialization(s) by specifying directives in a cloud-init.yaml file…

Are these asumptions correct?

Shoot, looks like I was mistaken and we do in fact only officially support RancherOS ISOs. See this note in the docs:

NOTE: The vSphere node driver included in Rancher currently only supports the provisioning of VMs with RancherOS as the guest operating system.

No problem. I fully understand that it’s not easy to have an 100% overview of what is possible and with what…

I’m still struggling in finding an efficient path in provisioning a new cluster based on the following pre-conditions and I hope you, or somebody else at Rancher, may be able to guide me in the right direction:

We need to be able to comply with:

  • a “hardened” version of CentOS7/8 with dependencies in order to support, say, a given storage infrastructure, firewall/iptables rules etc…
  • “role based” provisioning of controller/worker nodes based on the cluster configuration needed (HA-etcd, x number of worker nodes… … …)
  • nodes provisioned in a vSphere-environment
  • air-gapped provisioning of Rancher-required Docker images from an on-premise repository (Docker repository). This is a simple “pull/push” process I guess?
  • enabling of the Rancher “project network isolation” - we’re looking at using Rancher-projects to support “multi tenancy”
  • finally, registering of the provisioned cluster in Rancher as we’d like to be able to manage all provisioned clusters from within a Rancher-server
  • …and probably some more “issues” I’ve overlooked while writing this… :slight_smile:

I’ve been thinking about a combination of cloud-init and Puppet to orchestrate this but I’m not sure this will be the most efficient way of doing this, so your comments on the above is VERY much appreciated!

Many thanks in advance!