typhoon/docs/architecture/operating-systems.md
Dalton Hubble 590d941f50 Switch from upstream hyperkube image to individual images
* Kubernetes plans to stop releasing the hyperkube container image
* Upstream will continue to publish `kube-apiserver`, `kube-controller-manager`,
`kube-scheduler`, and `kube-proxy` container images to `k8s.gcr.io`
* Upstream will publish Kubelet only as a binary for distros to package,
either as a DEB/RPM on traditional distros or a container image on
container-optimized operating systems
* Typhoon will package the upstream Kubelet (checksummed) and its
dependencies as a container image for use on CoreOS Container Linux,
Flatcar Linux, and Fedora CoreOS
* Update the Typhoon container image security policy to list
`quay.io/poseidon/kubelet`as an official distributed artifact

Hyperkube: https://github.com/kubernetes/kubernetes/pull/88676
Kubelet Container Image: https://github.com/poseidon/kubelet
Kubelet Quay Repo: https://quay.io/repository/poseidon/kubelet
2020-03-21 15:43:05 -07:00

2.2 KiB

Operating Systems

Typhoon supports Container Linux, Flatcar Linux and Fedora CoreOS (preview). These 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 CoreOS: rpm-ostree, podman, moby

Host Properties

Property Container Linux / Flatcar Linux Fedora CoreOS
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

Property Container Linux Fedora CoreOS
single-master all platforms all platforms
multi-master all platforms all platforms
control plane static pods static pods
kubelet image kubelet image with upstream binary kubelet image with upstream binary
control plane images upstream images upstream images
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 addon (planned)

Directory Locations

Typhoon conventional directories.

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