GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - coreos/fleet: fleet ties together systemd and etcd into a distributed init system

This repository was archived by the owner on Jan 30, 2020. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

2,952 Commits
2,952 Commits

Folders and files

NameName
Last commit message
Last commit date
Documentation
Documentation
 
 
agent
agent
 
 
api
api
 
 
client
client
 
 
config
config
 
 
debug
debug
 
 
engine
engine
 
 
examples
examples
 
 
fixtures
fixtures
 
 
fleetctl
fleetctl
 
 
fleetd
fleetd
 
 
functional
functional
 
 
heart
heart
 
 
job
job
 
 
log
log
 
 
machine
machine
 
 
metrics
metrics
 
 
pkg
pkg
 
 
protobuf
protobuf
 
 
registry
registry
 
 
resource
resource
 
 
schema
schema
 
 
scripts
scripts
 
 
server
server
 
 
ssh
ssh
 
 
systemd
systemd
 
 
unit
unit
 
 
vendor
vendor
 
 
version
version
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
DCO
DCO
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
MAINTAINERS
MAINTAINERS
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
build
build
 
 
build-docker
build-docker
 
 
build-env
build-env
 
 
cover
cover
 
 
fleet.conf.sample
fleet.conf.sample
 
 
glide.lock
glide.lock
 
 
glide.yaml
glide.yaml
 
 
main.go
main.go
 
 
test
test
 
 
test-docker
test-docker
 
 
vendor.manifest
vendor.manifest
 
 

Repository files navigation

WARNINGWARNINGWARNING Deprecation warning WARNINGWARNINGWARNING

fleet is no longer developed or maintained by CoreOS. After February 1, 2018, a fleet container image will continue to be available from the CoreOS Quay registry, but will not be shipped as part of Container Linux. CoreOS instead recommends Kubernetes for all clustering needs.

The project exists here for historical reference. If you are interested in the future of the project and taking over stewardship, please contact [email protected]

fleet - a distributed init system

Build Status Build Status

fleet ties together systemd and etcd into a simple distributed init system. Think of it as an extension of systemd that operates at the cluster level instead of the machine level.

This project is quite low-level, and is designed as a foundation for higher order orchestration. fleet is a cluster-wide elaboration on systemd units, and is not a container manager or orchestration system. fleet supports basic scheduling of systemd units across nodes in a cluster. Those looking for more complex scheduling requirements or a first-class container orchestration system should check out Kubernetes. The fleet and kubernetes comparison table has more information about the two systems.

Current status

The fleet project is no longer maintained.

As of v1.0.0, fleet has seen production use for some time and is largely considered stable. However, there are various known and unresolved issues, including scalability limitations with its architecture. As such, it is not recommended to run fleet clusters larger than 100 nodes or with more than 1000 services.

Using fleet

Launching a unit with fleet is as simple as running fleetctl start:

$ fleetctl start examples/hello.service
Unit hello.service launched on 113f16a7.../172.17.8.103

The fleetctl start command waits for the unit to get scheduled and actually start somewhere in the cluster. fleetctl list-unit-files tells you the desired state of your units and where they are currently scheduled:

$ fleetctl list-unit-files
UNIT            HASH     DSTATE    STATE     TMACHINE
hello.service   e55c0ae  launched  launched  113f16a7.../172.17.8.103

fleetctl list-units exposes the systemd state for each unit in your fleet cluster:

$ fleetctl list-units
UNIT            MACHINE                    ACTIVE   SUB
hello.service   113f16a7.../172.17.8.103   active   running

Supported Deployment Patterns

fleet is not intended to be an all-purpose orchestration system, and as such supports only a few simple deployment patterns:

  • Deploy a single unit anywhere on the cluster
  • Deploy a unit globally everywhere in the cluster
  • Automatic rescheduling of units on machine failure
  • Ensure that units are deployed together on the same machine
  • Forbid specific units from colocation on the same machine (anti-affinity)
  • Deploy units to machines only with specific metadata

These patterns are all defined using custom systemd unit options.

Getting Started

Before you can deploy units, fleet must be deployed and configured on each host in your cluster. (If you are running CoreOS, fleet is already installed.)

After you have machines configured (check fleetctl list-machines), get to work with the client.

Building

fleet must be built with Go 1.5+ on a Linux machine. Simply run ./build and then copy the binaries out of bin/ directory onto each of your machines. The tests can similarly be run by simply invoking ./test.

If you're on a machine without Go 1.5+ but you have Docker installed, run ./build-docker to compile the binaries instead.

Project Details

API

The fleet API uses JSON over HTTP to manage units in a fleet cluster. See the API documentation for more information.

Release Notes

See the releases tab for more information on each release.

License

fleet is released under the Apache 2.0 license. See the LICENSE file for details.

Specific components of fleet use code derivative from software distributed under other licenses; in those cases the appropriate licenses are stipulated alongside the code.

About

fleet ties together systemd and etcd into a distributed init system

Resources

Readme
Apache-2.0 license

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

2.4k stars

Watchers

0 watching

Forks

297 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.