These docs are for Rancher v1.5, for the current 1.6 docs, see here. If you are looking for Rancher 2.x docs, see here.
Installing Rancher Server
Dec 05, 2017 Rancher Kubernetes Engine (RKE), an extremely simple, lightning fast Kubernetes distribution that runs entirely within containers. rancher/rke. This technical architecture ebook goes through the features and functionality of Rancher, the enterprise Kubernetes platform. Learn about RKE, Unified Cluster Management, Application, Workload Management, High Availability, Scalability, and the Rancher API. Read it here.
Rancher is deployed as a set of Docker containers. Running Rancher is as simple as launching two containers. One container as the management server and another container on a node as an agent.
Note: You can get all help options for the Rancher server container by running
docker run rancher/server --help
.Requirements
- Any modern Linux distribution with a supported version of Docker. RancherOS, Ubuntu, RHEL/CentOS 7 are more heavily tested.
- For RHEL/CentOS, the default storage driver, i.e. devicemapper using loopback, is not recommended by Docker. Please refer to the Docker documentation on how to change it.
- 1GB RAM
- MySQL server should have a max_connections setting > 150
- MYSQL Configuration Requirements
- Option 1: Run with Antelope with default of
COMPACT
- Option 2: Run MySQL 5.7 with Barracuda where the default
ROW_FORMAT
isDynamic
- Option 1: Run with Antelope with default of
- MYSQL Configuration Requirements
Note: Currently, Docker for Mac is not supported in Rancher.
Rancher Server Tags
Rancher server has 2 different tags. For each major release tag, we will provide documentation for the specific version.
rancher/server:latest
tag will be our latest development builds. These builds will have been validated through our CI automation framework. These releases are not meant for deployment in production.rancher/server:stable
tag will be our latest stable release builds. This tag is the version that we recommend for production.
Please do not use any release with a
rc{n}
suffix. These rc
builds are meant for the Rancher team to test out builds.Launching Rancher Server - Single Container (non-HA)
On the Linux machine with Docker installed, the command to start a single instance of Rancher is simple.
Rancher UI
The UI and API will be available on the exposed port
8080
. After the docker image is downloaded, it will take a minute or two before Rancher has successfully started and is available to view.Navigate to the following URL:
http://<SERVER_IP>:8080
. The <SERVER_IP>
is the public IP address of the host that is running Rancher server.Once the UI is up and running, you can start by adding hosts or select a container orchestration from the Infrastructure catalog. By default, if a different container orchestration type is not selected, the environment will be using cattle. After the hosts are added into Rancher, you can start adding services or launch templates from the Rancher catalog.
Launching Rancher Server - Single Container - External Database
Instead of using the internal database that comes with Rancher server, you can start Rancher server pointing to an external database. The command would be the same, but appending in additional arguments to direct how to connect to your external database.
Note: Your database, name and user of the database will already need to be created, but no schemas will need to be created. Rancher will automatically create all the schemas related to Rancher.
Here is an example of a SQL command to create a database and users.
To start Rancher connecting to an external database, you pass in additional arguments as part of the command for the container.
Most of the options to pass in also have default values and are not required. Only the location of the MySQL server is required.
Note: In previous versions of Rancher server, we had connected to an external database using environment variables, those environment variables will continue to work, but Rancher recommends using the arguments instead.
Launching Rancher Server - Single Container - Bind Mount MySQL Volume
If you would like to persist the database inside your container to a volume on your host, launch Rancher server by bind mounting the MySQL volume.
With this command, the database will persist on the host. If you have an existing Rancher container and would like to bind mount the MySQL volume, the instructions are located in our upgrading documentation.
Launching Rancher Server - Full Active/Active HA
Running Rancher server in High Availability (HA) is as easy as running Rancher server using an external database, exposing an additional port, and adding in an additional argument to the command for the external load balancer.
Requirements for HA
- HA Nodes:
- Any modern Linux distribution with a supported version of Docker. RancherOS, Ubuntu, RHEL/CentOS 7 are more heavily tested.
- For RHEL/CentOS, the default storage driver, i.e. devicemapper using loopback, is not recommended by Docker. Please refer to the Docker documentation on how to change it.
- Ports that needs to be opened between nodes:
9345
,8080
- 1GB RAM
- MySQL database
- At least 1 GB RAM
- 50 connections per Rancher server node (e.g. A 3 node setup will need to support at least 150 connections)
- MYSQL Configuration Requirements
- Option 1: Run with Antelope with default of
COMPACT
- Option 2: Run MySQL 5.7 with Barracuda where the default
ROW_FORMAT
isDynamic
- Option 1: Run with Antelope with default of
- External Load Balancer
- Port that needs to be opened between nodes and external load balancer:
8080
- Port that needs to be opened between nodes and external load balancer:
Note: Currently, Docker for Mac is not supported in Rancher.
Recommendations for Larger Deployments
- Each Rancher server node should have a 4 GB or 8 GB heap size, which requires having at least 8 GB or 16 GB of RAM
- MySQL database should have fast disks
- For true HA, a replicated MySQL database with proper backups is recommended. Using Galera and forcing writes to a single node, due to transaction locks, would be an alternative.
- On each of your nodes that you want to add into the HA setup, run the following command:For each node, the
<IP_of_the_Node>
will be unique to each node, as it will be the IP of each specific node that is being added into the HA setup.If you change-p 8080:8080
to expose the HTTP port to a different port on the host, you will need to add--advertise-http-port <host_port>
to the command.Note: You can get the help for the commands by runningdocker run rancher/server --help
- Configure an external load balancer that will balance traffic on ports
80
and443
across a pool of nodes that will be running Rancher server and target the nodes on port8080
. Your load balancer must support websockets and forwarded-for headers, in order for Rancher to function properly. See SSL settings page for example configuration settings.
Options for advertise-address
Option | Example | Description |
---|---|---|
IP address | --advertise-address 192.168.100.100 | Uses the give IP address |
Interface | --advertise-address eth0 | Retrieves the IP of the given interface |
awslocal | --advertise-address awslocal | Retrieves the IP from http://169.254.169.254/latest/meta-data/local-ipv4 |
ipify | --advertise-address ipify | Retrieves the IP from https://api.ipify.org |
Notes on the Rancher Server Nodes in HA
If the IP of your Rancher server node changes, your node will no longer be part of the Rancher HA cluster. You must stop the old Rancher server container using the incorrect IP for
--advertise-address
and start a new Rancher server with the correct IP for --advertise-address
.![Build rancher rke for mac os x 10 12 Build rancher rke for mac os x 10 12](/uploads/1/2/6/5/126527220/201089145.jpg)
Running Rancher Server Behind an Elastic/Classic Load Balancer (ELB) in AWS
We recommend using an ELB in AWS in front of your Rancher servers. In order for ELB to work correctly with Rancher’s websockets, you will need to enable proxy protocol mode and ensure HTTP support is disabled. By default, ELB is enabled in HTTP/HTTPS mode, which does not support websockets. Special attention must be paid to listener configuration.
If you have issues with ELB setup, we recommend trying the terraform version as this reduces the opportunity to miss a setting.
Note: If you are using a self signed certificate, please read more about how to configure your ELB in AWS under our SSL section.
Listener Configuration - Plaintext
For simple, unencrypted load balancing purposes, the following listener configuration is required:
Configuration Type | Load Balancer Protocol | Load Balancer Port | Instance Protocol | Instance Port |
---|---|---|---|---|
Plaintext | TCP | 80 | TCP | 8080 (or the port used with --advertise-http-port when launching Rancher server) |
Enabling Proxy Protocol
In order for websockets to function properly, the ELB proxy protocol policy must be applied.
Build Rancher Rke For Mac Os X 10 11
- Enable proxy protocol mode
- Health check can be configured to use HTTP:8080 using
/ping
as your path.
Configuring using Terraform
The following can be used as an example for configuring with Terraform:
Running Rancher Server Behind an Application Load Balancer (ALB) in AWS
We no longer recommend Application Load Balancer (ALB) in AWS over using the Elastic/Classic Load Balancer (ELB). If you still choose to use an ALB, you will need to direct the traffic to the HTTP port on the nodes, which is
8080
by default.Enabling Active Directory or OpenLDAP for TLS
In order to enable Active Directory or OpenLDAP for Rancher server with TLS, the Rancher server container will need to be started with the LDAP certificate, provided by your LDAP setup. On the Linux machine that you want to launch Rancher server on, save the certificate.
Start Rancher by bind mounting the volume that has the certificate. The certificate must be called
ca.crt
inside the container.You can check that the
ca.crt
was passed to Rancher server container successfully by checking the logs of the rancher server container.In the beginning of the logs, there will be confirmation that the certificate was added correctly.
Launching Rancher Server behind an HTTP proxy
In order to set up an HTTP proxy, the Docker daemon will need to be modified to point to the proxy. Before starting Rancher server, edit the
/etc/default/docker
file to point to your proxy and restart Docker.In the file, edit the
#export http_proxy='http://127.0.0.1:3128/'
to have it point to your proxy. Save your changes and then restart docker. Restarting Docker is different on every OS.Note: If you are running Docker with systemd, please follow Docker’s instructions on how to configure the HTTP proxy.
In order for the Rancher catalog to load, the proxy will need to be configured and Rancher server will need to be launched with environment variables to pass in the proxy information.
If the Rancher catalog will not be used, run the Rancher server command as you normally would.
When adding hosts to Rancher, there is no additional requirements behind an HTTP proxy.
This directory contains binaries for a base distribution and packages to run on Mac OS X (release 10.6 and above). Mac OS 8.6 to 9.2 (and Mac OS X 10.1) are no longer supported but you can find the last supported release of R for these systems (which is R 1.7.1) here. Releases for old Mac OS X systems (through Mac OS X 10.5) and PowerPC Macs can be found in the old directory.
Note: CRAN does not have Mac OS X systems and cannot check these binaries for viruses.Although we take precautions when assembling binaries, please use the normal precautions with downloaded executables.
Package binaries for R versions older than 3.2.0 are only available from the CRAN archive so users of such versions should adjust the CRAN mirror setting (https://cran-archive.r-project.org) accordingly.
R 4.0.2 'Taking Off Again' released on 2020/06/22
Please check the MD5 checksum of the downloaded image to ensure that it has not been tampered with or corrupted during the mirroring process. For example type
md5 R-4.0.2.pkg
in the Terminal application to print the MD5 checksum for the R-4.0.2.pkg image. On Mac OS X 10.7 and later you can also validate the signature using
pkgutil --check-signature R-4.0.2.pkg
md5 R-4.0.2.pkg
in the Terminal application to print the MD5 checksum for the R-4.0.2.pkg image. On Mac OS X 10.7 and later you can also validate the signature using
pkgutil --check-signature R-4.0.2.pkg
Latest release:
R-4.0.2.pkg (notarized and signed) SHA1-hash: 7e4e1f0d407ccd475eeaeadd96a126ee9c83db3b (ca. 84MB) | R 4.0.2 binary for macOS 10.13 (High Sierra) and higher, signed and notarized package. Contains R 4.0.0 framework, R.app GUI 1.72 in 64-bit for Intel Macs, Tcl/Tk 8.6.6 X11 libraries and Texinfo 6.7. The latter two components are optional and can be ommitted when choosing 'custom install', they are only needed if you want to use the tcltk R package or build package documentation from sources. Note: the use of X11 (including tcltk) requires XQuartz to be installed since it is no longer part of OS X. Always re-install XQuartz when upgrading your macOS to a new major version. Important: this release uses Xcode 10.1 and GNU Fortran 8.2. If you wish to compile R packages from sources, you will need to download and GNU Fortran 8.2 - see the tools directory. |
NEWS (for Mac GUI) | News features and changes in the R.app Mac GUI |
Mac-GUI-1.72.tar.gz SHA1-hash: 27d145e55d147a2bd27ba791840a4801cdfe1713 | Sources for the R.app GUI 1.72 for Mac OS X. This file is only needed if you want to join the development of the GUI, it is not intended for regular users. Read the INSTALL file for further instructions. |
Note: Previous R versions for El Capitan can be found in the el-capitan/base directory.Binaries for legacy OS X systems: | |
R-3.6.3.nn.pkg (signed) SHA1-hash: c462c9b1f9b45d778f05b8d9aa25a9123b3557c4 (ca. 77MB) | R 3.6.3 binary for OS X 10.11 (El Capitan) and higher, signed package. Contains R 3.6.3 framework, R.app GUI 1.70 in 64-bit for Intel Macs, Tcl/Tk 8.6.6 X11 libraries and Texinfo 5.2. The latter two components are optional and can be ommitted when choosing 'custom install', they are only needed if you want to use the tcltk R package or build package documentation from sources. |
R-3.3.3.pkg MD5-hash: 893ba010f303e666e19f86e4800f1fbf SHA1-hash: 5ae71b000b15805f95f38c08c45972d51ce3d027 (ca. 71MB) | R 3.3.3 binary for Mac OS X 10.9 (Mavericks) and higher, signed package. Contains R 3.3.3 framework, R.app GUI 1.69 in 64-bit for Intel Macs, Tcl/Tk 8.6.0 X11 libraries and Texinfo 5.2. The latter two components are optional and can be ommitted when choosing 'custom install', it is only needed if you want to use the tcltk R package or build package documentation from sources. Note: the use of X11 (including tcltk) requires XQuartz to be installed since it is no longer part of OS X. Always re-install XQuartz when upgrading your OS X to a new major version. |
R-3.2.1-snowleopard.pkg MD5-hash: 58fe9d01314d9cb75ff80ccfb914fd65 SHA1-hash: be6e91db12bac22a324f0cb51c7efa9063ece0d0 (ca. 68MB) | R 3.2.1 legacy binary for Mac OS X 10.6 (Snow Leopard) - 10.8 (Mountain Lion), signed package. Contains R 3.2.1 framework, R.app GUI 1.66 in 64-bit for Intel Macs. This package contains the R framework, 64-bit GUI (R.app), Tcl/Tk 8.6.0 X11 libraries and Texinfop 5.2. GNU Fortran is NOT included (needed if you want to compile packages from sources that contain FORTRAN code) please see the tools directory. NOTE: the binary support for OS X before Mavericks is being phased out, we do not expect further releases! |
Subdirectories:
tools | Additional tools necessary for building R for Mac OS X: Universal GNU Fortran compiler for Mac OS X (see R for Mac tools page for details). |
base | Binaries of R builds for macOS 10.13 or higher (High Sierra) |
contrib | Binaries of package builds for macOS 10.13 or higher (High Sierra) |
el-capitan | Binaries of package builds for OS X 10.11 or higher (El Capitan build) |
mavericks | Binaries of package builds for Mac OS X 10.9 or higher (Mavericks build) |
old | Previously released R versions for Mac OS X |
You may also want to read the R FAQ and R for Mac OS X FAQ. For discussion of Mac-related topics and reporting Mac-specific bugs, please use the R-SIG-Mac mailing list.
Information, tools and most recent daily builds of the R GUI, R-patched and R-devel can be found at http://mac.R-project.org/. Please visit that page especially during beta stages to help us test the Mac OS X binaries before final release!
Package maintainers should visit CRAN check summary page to see whether their package is compatible with the current build of R for Mac OS X.
Binary libraries for dependencies not present here are available from http://mac.R-project.org/libs and corresponding sources at http://mac.R-project.org/src.
Rancher Rke Tools
Last modified: 2020/06/25, by Simon Urbanek