This table briefly compares key features of fleet
to those in Kubernetes:
Feature | Description | fleet | kubernetes |
---|---|---|---|
Load balancer | Kubernetes has built-in services abstraction. Fleet doesn't provide this feature directly, but it can deploy a stacked solution built atop app containers and external load-balancer software. | - | x |
Systemd service management | Kubernetes runs only containers grouped in pods. Fleet can manage several kinds of systemd units. | x | - |
Runs rkt or Docker containers | Kubernetes uses the Docker API to schedule Docker containers on cluster nodes, and uses the standard host-level systemd-nspawn to execute rkt containers. Fleet uses systemd units to run containers or any other processes on cluster nodes. | x | x |
DNS integration | Kubernetes includes a cluster-internal DNS service for container use. In fleet, such a solution would be constructed from sidekicks app containers and service discovery. | - | x |
Graphical user interface (GUI) | The Kubernetes dashboard provides a minimal cluster mangement GUI, and commercial solutions like Tectonic elaborate this graphical management. Fleet also has an external dashboard project. | - | x |
Schedule jobs depending on system resources | Kubernetes uses the compute resources abstraction to decide how to distribute load across the cluster. Fleet simply schedules systemd units. | - | x |
Access Control and ACLs | Kubernetes has built-in roles to provide access restrictions. Fleet doesn't have ACLs, and by design everyone who has access to the etcd cluster can manage fleet units. | - | x |
Rolling updates | Kubernetes has built-in rolling update functionality to automate the deployment of new app versions on the cluster. With fleet, new units are scheduled and old ones destroyed manually. | - | x |
Labels / metadata | Both Kubernetes and Fleet can schedule units depending on hosts' labels or basic metadata. | x | x |