Illumina Innovates with Rancher and Kubernetes
To launch RancherOS, we have built-in system services. They are defined in the Docker Compose format, and can be found in the default system config file, /usr/share/ros/os-config.yml. You can add your own system services or override services in the cloud-config.
/usr/share/ros/os-config.yml
Read more about image preloading.
During this service, networking is set up, e.g. hostname, interfaces, and DNS.
It is configured by hostname and rancher.networksettings in cloud-config.
hostname
rancher.network
Runs ntpd in a System Docker container.
ntpd
This service provides the RancherOS user interface by running sshd and getty. It completes the RancherOS configuration on start up:
sshd
getty
rancher.password=<password>
<password>
rancher
rancher.ssh.keys
cloud-init -execute
.ssh/authorized_keys
/home/rancher
/home/docker
write_files
rancher.resize_device
mounts
rancher.sysctl
#!
/var/lib/rancher/conf/cloud-config-script
/opt/rancher/bin/start.sh
/etc/rc.local
This system service runs the user docker daemon. Normally it runs inside the console system container by running docker-init script which, in turn, looks for docker binaries in /opt/bin, /usr/local/bin and /usr/bin, adds the first found directory with docker binaries to PATH and runs dockerlaunch docker daemon appending the passed arguments.
docker-init
/opt/bin
/usr/local/bin
/usr/bin
dockerlaunch docker daemon
Docker daemon args are read from rancher.docker.args cloud-config property (followed by rancher.docker.extra_args).
rancher.docker.args
rancher.docker.extra_args