docs: Add machine lifecycle diagram

This commit is contained in:
Dalton Hubble
2016-03-28 18:10:09 -07:00
parent e88e249129
commit c8100d94fd
3 changed files with 15 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -0,0 +1,13 @@
# Lifecycle of a Physical Machine
A physical machine [network boots](network-booting.md) in an network boot environment created by [coreos/dnsmasq](../contrib/dnsmasq) or a custom DHCP/TFTP/DNS setup.
`bootcfg` serves iPXE, GRUB, or Pixiecore boot configs via HTTP to machines matching attribute selectors (UUID, MAC, region, etc.). The referenced kernel and initrd images are fetched and booted with an initial Ignition config for installing CoreOS. CoreOS is installed to disk and the Ignition config for the machine is fetched from `bootcfg` before rebooting.
The CoreOS machine boots (first boot from disk) and runs its Ignition config to provision its disk with systemd units, files, keys, etc. On subsequent reboots, systemd units may fetch dynamic metadata if needed. Ignition is not run again.
CoreOS hosts should have automatic updates enabled and use a system like fleet or Kubernetes to run containers to tolerate node updates or failures without operator intervention. Use IPMI or vendor utilities to re-provision machines to change their role, rather than mutation.
![Machine Lifecycle](img/machine-lifecycle.png)

View File

@@ -8,10 +8,11 @@ CoreOS on Baremetal contains guides for network booting and configuring CoreOS c
## Guides
* [Network Booting](Documentation/network-booting.md)
* [Machine Lifecycle](Documentation/machine-lifecycle.md)
## bootcfg
`bootcfg` is a HTTP and gRPC service that renders signed [Ignition configs](https://coreos.com/ignition/docs/latest/what-is-ignition.html), [cloud-configs](https://coreos.com/os/docs/latest/cloud-config.html), network boot configs, and metadata to machines based on attribute selectors (e.g. UUID, MAC, stage, region) to create CoreOS clusters. Network boot endpoints provide PXE, iPXE, GRUB, and Pixiecore support. `bootcfg` can run as an [ACI](https://github.com/appc/spec) with [rkt](https://coreos.com/rkt/docs/latest/), as a Docker container, or as a binary.
`bootcfg` is a HTTP and gRPC service that renders signed [Ignition configs](https://coreos.com/ignition/docs/latest/what-is-ignition.html), [cloud-configs](https://coreos.com/os/docs/latest/cloud-config.html), network boot configs, and metadata to machines based on attribute labels (e.g. UUID, MAC, stage, region) to create CoreOS clusters. Network boot endpoints provide PXE, iPXE, GRUB, and Pixiecore support. `bootcfg` can run as an [ACI](https://github.com/appc/spec) with [rkt](https://coreos.com/rkt/docs/latest/), as a Docker container, or as a binary.
* [Getting Started with rkt](Documentation/getting-started-rkt.md)
* [Getting Started with Docker](Documentation/getting-started-docker.md)