From b6a51d0b68f95c8a24b1273af7bdeeaebffcd917 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Tue, 24 Apr 2018 01:10:40 -0700 Subject: [PATCH] Add architecture docs on operating systems --- docs/architecture/operating-systems.md | 81 ++++++++++++++++++++++++++ docs/{ => topics}/faq.md | 8 +-- mkdocs.yml | 8 ++- 3 files changed, 90 insertions(+), 7 deletions(-) create mode 100644 docs/architecture/operating-systems.md rename docs/{ => topics}/faq.md (86%) diff --git a/docs/architecture/operating-systems.md b/docs/architecture/operating-systems.md new file mode 100644 index 00000000..b12d2579 --- /dev/null +++ b/docs/architecture/operating-systems.md @@ -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 | | + diff --git a/docs/faq.md b/docs/topics/faq.md similarity index 86% rename from docs/faq.md rename to docs/topics/faq.md index f18175ab..b652188f 100644 --- a/docs/faq.md +++ b/docs/topics/faq.md @@ -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 diff --git a/mkdocs.yml b/mkdocs.yml index c129bed9..a46f5fc6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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'