Add architecture docs on operating systems

This commit is contained in:
Dalton Hubble 2018-04-24 01:10:40 -07:00
parent 567e18f015
commit b6a51d0b68
3 changed files with 90 additions and 7 deletions

View File

@ -0,0 +1,81 @@
# Operating Systems
Typhoon supports [Container Linux](https://coreos.com/why/) and Fedora [Atomic](https://www.projectatomic.io/) 27. These two operating systems were chosen because they offer:
* Minimalism and focus on clustered operation
* Automated and atomic operating system upgrades
* Declarative and immutable configuration
* Optimization for containerized applications
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
## Kubernetes
| Property | Container Linux | Fedora Atomic |
|-------------------|-----------------|---------------|
| control plane | self-hosted | self-hosted |
| kubelet image | upstream hyperkube | upstream hyperkube in system container |
| controller images | upstream hyperkube | upstream hyperkube |
| on-host etcd | rkt-fly | system container (runc) |
| on-host kubelet | rkt-fly | system container (runc) |
| host spec (bare-metal) | Container Linux Config | kickstart, cloud-init |
| host spec (cloud) | Container Linux Config | cloud-init |
| CNI plugins | calico or flannel | calico or flannel |
| container runtime | docker | docker (CRIO soon) |
| cgroup driver | cgroupfs | systemd |
| logging driver | json-file | journald |
| storage driver | overlay2 | overlay2 |
## Locations
Typhoon standard locations.
| Kubelet setting | Host location |
|-------------------|--------------------------------|
| cni-conf-dir | /etc/kubernetes/cni/net.d |
| 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 | |

View File

@ -8,7 +8,7 @@ Formats rise and evolve. Typhoon may choose to adapt the format over time (with
## Operating Systems
Typhoon supports Container Linux and Fedora Atomic 27. Both operating systems offer:
Typhoon supports Container Linux and Fedora Atomic 27. These two operating systems were chosen because they offer:
* Minimalism and focus on clustered operation
* Automated and atomic operating system upgrades
@ -17,10 +17,8 @@ Typhoon supports Container Linux and Fedora Atomic 27. Both operating systems of
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
* Container Linux: Gentoo core, rkt-fly, docker
* Fedora Atomic: RHEL core, rpm-ostree, system containers (i.e. runc), CRI-O
## Get Help

View File

@ -5,6 +5,8 @@ repo_name: 'poseidon/typhoon'
repo_url: 'https://github.com/poseidon/typhoon'
theme:
name: 'material'
feature:
tabs: true
palette:
primary: 'blue'
accent: 'pink'
@ -42,7 +44,9 @@ markdown_extensions:
- pymdownx.tilde
pages:
- Home: 'index.md'
- 'Concepts': 'concepts.md'
- 'Architecture':
- 'Concepts': 'concepts.md'
- 'Operating Systems': 'architecture/operating-systems.md'
- 'Container Linux':
- 'AWS': 'cl/aws.md'
- 'Bare-Metal': 'cl/bare-metal.md'
@ -58,7 +62,7 @@ pages:
- 'Hardware': 'topics/hardware.md'
- 'Security': 'topics/security.md'
- 'Performance': 'topics/performance.md'
- 'FAQ': 'faq.md'
- 'FAQ': 'topics/faq.md'
- 'Advanced':
- 'Overview': 'advanced/overview.md'
- 'Customization': 'advanced/customization.md'