Clusters
A cluster in Plane refers to a pool of drones. Using Plane requires at least one cluster, but it is possible to have multiple in order to manage different pools of drones without treating them as interchangeable.
For example, you might have some CPU-only drones, and some drones with GPUs. Clusters allow you to manage both sets of drones from the same controller, while still having control over which set of drones a particular session backend is run on.
Drones and proxy instances are associated with a single cluster, and are not shared between them. This allows you to run each cluster on a different network or VPC.
Cluster names
Clusters are identified by the hostname through which they will be accessed.
For example, when drones belonging to the cluster c1.mysite.com
run backends, those backends will
be accessible through URLs that begin with https://c1.mysite.com/...
.
Plane proxies associated with the c1.mysite.com
will expect inbound traffic to have the Host
header c1.mysite.com
, and will proxy it to the appropriate drone. It is up to you to configure
your DNS and/or load balancers so that inbound traffic actually arrives at the proxy
(see deploying to production).
Non-HTTPS clusters (development only)
If a port is not specified in the cluster name (as in c1.mysite.com
), Plane assumes that inbound
traffic will come over HTTPS on port 443. If a port is specified (as in localhost:9090
),
Plane will assume that inbound traffic is not HTTPS, but raw HTTP, and will arrive on the
specified port. This is useful for testing locally without DNS or certificate configuration, and
is not intended for production use.
Since Plane uses the presence of a port in the cluster name to determine whether to use HTTPS or HTTP, it is not currently possible to use HTTPS on a non-standard port.