This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
cloud:coreos [2017/02/14 15:32] frank |
cloud:coreos [2017/02/21 10:03] (current) frank |
||
---|---|---|---|
Line 1: | Line 1: | ||
==== Overwiew ==== | ==== Overwiew ==== | ||
- | + | * CoreOS Linux was renamed to Container Linux in 2016. Under Apache 2.0 license. coreos is still the company name. The commercial distribution is called Tectonic which integrates kubernetes. | |
- | - CoreOS Linux was renamed to Container Linux in 2016. coreos is still the company name. | + | * Based on Gentoo Linux. use ebuild scripts from Gentoo Linux for compilation of its system components. use systemd for init. |
- | - Based on Gentoo Linux. use ebuild scripts from Gentoo Linux for compilation of its system components. use systemd for init. | + | * Major system components such as etcd, rkt, flannel, ignition are all open source and written in GO language on github. |
- | - Major system components such as etcd, rkt are all written in golang | + | * Installation/Deployment |
- | - Installation/Deployment | + | * support ISO install, PXE, and deployment on cloud platforms - AWS, GCE, Azure, openstack, Vagrant(vbox, qemu/kvm), vmware. |
- | - support ISO install, PXE, and deployment on cloud platforms - AWS, GCE, Azure, openstack, Vagrant(vbox, qemu/kvm), vmware. | + | * The cluster customization and first boot configuration(network configurations, user accounts, systemd units) is based on coreos-cloudinit(cloud-config like), coreos started new project named Ignition to replace it. Ignition is a provisioning utility, it can reads configuration from URL, network metadata service and hypervisor bridge and apply the configuration. |
- | - Updates | + | * Updates |
- | - No package manager, automatic software updates | + | * No package manager, automatic software updates |
- | - upgrade/version: Alpha, Beta, Stable | + | * upgrade/version: Alpha, Beta, Stable |
- | - Update approach: Dual boot partitions. Updates are performed onto passive secondary partition, and becomes active upon a reboot or kexec. root partition and filesystem are automatically resized upon reboot, root partition is read-write, but /usr is mounted read-only. | + | * Update approach: Dual boot partitions. Updates are performed onto passive secondary partition, and becomes active upon a reboot or kexec. root partition and filesystem are automatically resized upon reboot, root partition is read-write, but /usr is mounted read-only. |
- | - container management: initially used docker, in 12/2014, coreos started to support rkt providing support for appc. | + | * container management: initially used docker, in 12/2014, coreos started to include rkt providing support for appc. Now rkt can support both appc and OCI. |
- | - Cluster | + | * Cluster |
- | - etcd daemon runs across all cluster nodes. By using etcd, all configuration data are shared between cluster members. etcd is also key-value store. | + | * etcd daemon runs across all cluster nodes. By using etcd, all configuration data are shared between cluster members. etcd is also key-value store. |
- | - fleet(deprecated) to deploy cluster-wide services and containers with redundancy, failover features. | + | * fleet(deprecated) to deploy cluster-wide services and containers with redundancy, failover features. |
- | - Storage and network | + | * Storage and network |
- | - ext4 + overlayfs for container image storage | + | * ext4 + overlayfs for container image storage |
- | - flannel for network | + | * flannel is virtual network that gives subnet to each host for container runtimes. |
- | - The commercial distribution is called Tectonic which integrates kubernetes. | + | |
Line 80: | Line 79: | ||
=== dockerd and containerd === | === dockerd and containerd === | ||
+ | not owned by coreos. | ||
+ | |||
+ | Since 1.11, docker is split into containerd, docker daemon, runC. | ||
+ | |||
+ | containerd: daemon, manage docker runtime by runC. provide gRPC interface for dockerd, uses runC tor run container(via containerd-shim) | ||
+ | |||
+ | dockerd: daemon, | ||
+ | |||
+ | runC: implementation for OCI. | ||