Add docs for Fedora CoreOS AWS and bare-metal

This commit is contained in:
Dalton Hubble
2019-07-17 23:52:34 -07:00
parent ce45e123fe
commit 155bffa773
9 changed files with 667 additions and 52 deletions

View File

@ -1,6 +1,6 @@
# Operating Systems
Typhoon supports [Container Linux](https://coreos.com/why/) and Fedora [Atomic](https://www.projectatomic.io/) 28 (deprecated). These two operating systems were chosen because they offer:
Typhoon supports [Container Linux](https://coreos.com/why/), [Flatcar Linux](https://www.flatcar-linux.org/) and [Fedora CoreOS](https://getfedora.org/coreos/) (preview). These operating systems were chosen because they offer:
* Minimalism and focus on clustered operation
* Automated and atomic operating system upgrades
@ -10,18 +10,19 @@ Typhoon supports [Container Linux](https://coreos.com/why/) and Fedora [Atomic](
Together, they diversify Typhoon to support a range of container technologies.
* Container Linux: Gentoo core, rkt-fly, docker
* Fedora Atomic: RHEL core, rpm-ostree, system containers (i.e. runc), CRI-O (future)
* Fedora CoreOS: rpm-ostree, podman, moby
## Host Properties
| Property | Container Linux / Flatcar Linux | Fedora Atomic |
| Property | Container Linux / Flatcar Linux | Fedora CoreOS |
|-------------------|---------------------------------|---------------|
| host spec (bare-metal) | Container Linux Config | kickstart, cloud-init |
| host spec (cloud) | Container Linux Config | cloud-init |
| container runtime | docker | docker (CRIO planned) |
| cgroup driver | cgroupfs (except Flatcar edge) | systemd |
| logging driver | json-file | journald |
| Ignition system | Ignition v2.x spec | Ignition v3.x spec |
| Container Engine | docker | docker |
| storage driver | overlay2 | overlay2 |
| logging driver | json-file | journald |
| cgroup driver | cgroupfs (except Flatcar edge) | systemd |
| Networking | systemd-networkd | NetworkManager |
| Username | core | core |
## Kubernetes Properties
@ -32,10 +33,10 @@ Together, they diversify Typhoon to support a range of container technologies.
| control plane | self-hosted | self-hosted |
| kubelet image | upstream hyperkube | upstream hyperkube via [system container](https://github.com/poseidon/system-containers) |
| control plane images | upstream hyperkube | upstream hyperkube |
| on-host etcd | rkt-fly | system container (runc) |
| on-host kubelet | rkt-fly | system container (runc) |
| on-host etcd | rkt-fly | podman |
| on-host kubelet | rkt-fly | podman |
| CNI plugins | calico or flannel | calico or flannel |
| coordinated drain & OS update | [CLUO](https://github.com/coreos/container-linux-update-operator) addon | manual (planned) |
| coordinated drain & OS update | [CLUO](https://github.com/coreos/container-linux-update-operator) addon | (planned) |
## Directory Locations
@ -47,43 +48,3 @@ Typhoon conventional directories.
| pod-manifest-path | /etc/kubernetes/manifests |
| volume-plugin-dir | /var/lib/kubelet/volumeplugins |
## Kubelet Mounts
### Container Linux
| Mount location | Host location | Options |
|-------------------|-------------------|---------|
| /etc/kubernetes | /etc/kubernetes | ro |
| /etc/ssl/certs | /etc/ssl/certs | ro |
| /usr/share/ca-certificates | /usr/share/ca-certificates | ro |
| /var/lib/kubelet | /var/lib/kubelet | recursive |
| /var/lib/docker | /var/lib/docker | |
| /var/lib/cni | /var/lib/cni | |
| /var/lib/calico | /var/lib/calico | |
| /var/log | /var/log | |
| /etc/os-release | /usr/lib/os-release | ro |
| /run | /run | |
| /lib/modules | /lib/modules | ro |
| /etc/resolv.conf | /etc/resolv.conf | |
| /opt/cni/bin | /opt/cni/bin | |
### Fedora Atomic
| Mount location | Host location | Options |
|--------------------|------------------|---------|
| /rootfs | / | ro |
| /etc/kubernetes | /etc/kubernetes | ro |
| /etc/ssl/certs | /etc/ssl/certs | ro |
| /etc/pki/tls/certs | /usr/share/ca-certificates | ro |
| /var/lib | /var/lib | |
| /var/lib/kubelet | /var/lib/kubelet | recursive |
| /var/log | /var/log | ro |
| /etc/os-release | /etc/os-release | ro |
| /var/run/secrets | /var/run/secrets | |
| /run | /run | |
| /lib/modules | /lib/modules | ro |
| /etc/hosts | /etc/hosts | ro |
| /etc/resolv.conf | /etc/resolv.conf | ro |
| /opt/cni/bin | /opt/cni/bin (changing in future) | |