/ui-driver-hetzner

Rancher UI driver for the Hetzner Cloud docker driver.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Rancher 2 Hetzner Cloud UI Driver

Build Status

Rancher 2.X UI driver for the Hetzner Cloud. For the Rancher 1 version check out the readme from the v1.6 branch which you can find here.

Usage

  • Add a Machine Driver in Rancher 2 (Tools -> Drivers -> Node Drivers)
Key Value
Download URL https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.2.0/docker-machine-driver-hetzner_3.2.0_linux_amd64.tar.gz
Custom UI URL https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js
Whitelist Domains storage.googleapis.com
  • Wait for the driver to become "Active"
  • Go to Clusters -> Add Cluster, your driver and custom UI should show up.

Authentication screen Configuration screen

Compatibility

The following component.js is always compatible with the latest Rancher 2.X version:

https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js

Rancher 2.0

Use this component.js to support Rancher 2.0 version:

https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component-v20.js

Tested linux distributions

To use Debian e.g. with a non default Storage Driver, you have to set it manually in the Engine Options of the Node Template in Rancher.

Recommend

Image Docker Version Docker Storage Driver
Ubuntu 18.04 18.06 overlay2 (default)
Ubuntu 16.04 18.06 aufs (default)
Debian 9 18.06 overlay2, overlay
CentOS 7 18.06 devicemapper (default)
Fedora 27 not supported (due docker-install)
Fedora 28 not supported (due docker-install)

Development

This package contains a small web-server that will serve up the custom driver UI at http://localhost:3000/component.js. You can run this while developing and point the Rancher settings there.

  • npm start
  • The driver name can be optionally overridden: npm start -- --name=DRIVERNAME
  • The compiled files are viewable at http://localhost:3000.
  • Note: The development server does not currently automatically restart when files are changed.

Building

For other users to see your driver, you need to build it and host the output on a server accessible from their browsers.

  • npm run build
  • Copy the contents of the dist directory onto a webserver.
    • If your Rancher is configured to use HA or SSL, the server must also be available via HTTPS.

Useful resources

Error creating machine: Error running provisioning: ssh command error:

Try to use overlay2 and if it does not work overlay as Storage Driver in the Engine Options in the bottom.

How secure is the Private Network feature?

Traffic between Cloud Servers inside a Network is private and isolated, but not automatically encrypted. We recommend you use TLS or similar protocols to encrypt sensitive traffic.

Reference: Hetzner Cloud documentation

The Rancher traffic between the agents and the Rancher related traffic to the nodes is fully encrypted over HTTPS/TLS.

The custom application specific traffic is not encrypted. You can use e.g. the Weave CNI-Provider for that: https://rancher.com/docs/rancher/v2.x/en/faq/networking/cni-providers/#weave

Requirements for Private Networks

  • Rancher host needs to be in the same Private Network as the selected one in the Node template
  • Under the global settings of Rancher the server-url needs to be the internal IP of the Private Network (you can find it in the Hetzner Cloud Console). Otherwise the traffic won't go through the Internal network.

How to close the open ports on the public interface?

You could use it e.g. in combination with that tool: https://github.com/vitobotta/hetzner-cloud-init