ãšããããªããããªãœãŒã¹ãããã®ã§ããã¡ããåç
§ããŠé ããã° OK ãªã®ã§ãããããã§ã¯ã¢ã«ã³ã§ãããããç§ã®èšèã§æžããŠãããŸãããšã
CoreOS ã«ã¯ããã€ãã®ããŒã«ãªãç¹åŸŽãããã®ã§ããããŸãäžã€ç®ã¯ãã«ãŒãã«ãšã·ã¹ãã ç³»ã®é åã¯æžã蟌ã¿åºæ¥ãªããããšãäžããããã§ãããã
ãã®ç¹åŸŽã¯æ¬¡ã®é
ç®ã§è¿°ã¹ããUpdate like AppãããDocker centricãã«ã絡ãã§æ¥ãã®ã§éèŠã§ãã
core@localhost ~ $ sudo df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 38468588 29724 38202820 1% /
devtmpfs 499512 0 499512 0% /dev
tmpfs 511100 0 511100 0% /dev/shm
tmpfs 511100 260 510840 1% /run
tmpfs 511100 0 511100 0% /sys/fs/cgroup
/dev/sda9 38468588 29724 38202820 1% /
/dev/sda3 1032088 327224 652436 34% /usr
tmpfs 511100 0 511100 0% /tmp
tmpfs 511100 0 511100 0% /media
/dev/sda6 110576 76 101328 1% /usr/share/oem
/dev/sda9 38468588 29724 38202820 1% /var/lib/docker/btrfs
core@localhost ~ $ ls -l /
total 20
lrwxrwxrwx 1 root root 7 Aug 5 00:03 bin -> usr/bin
drwxr-xr-x 1 root root 6 Aug 5 00:03 boot
drwxr-xr-x 15 root root 2760 Aug 7 22:23 dev
drwxr-xr-x 1 root root 1030 Aug 7 22:23 etc
drwxr-xr-x 1 root root 8 Aug 5 00:03 home
lrwxrwxrwx 1 root root 5 Aug 5 00:04 lib -> lib64
lrwxrwxrwx 1 root root 9 Aug 5 00:03 lib64 -> usr/lib64
drwxrwxrwt 2 root root 40 Aug 7 22:23 media
drwxr-xr-x 1 root root 0 Aug 5 00:03 mnt
drwxr-xr-x 1 root root 6 Aug 7 22:23 opt
dr-xr-xr-x 95 root root 0 Aug 7 22:23 proc
drwx------ 1 root root 0 Aug 5 00:03 root
drwxr-xr-x 17 root root 420 Aug 7 22:23 run
lrwxrwxrwx 1 root root 8 Aug 5 00:03 sbin -> usr/sbin
drwxr-xr-x 1 root root 0 Aug 5 00:03 srv
dr-xr-xr-x 13 root root 0 Aug 7 22:23 sys
drwxrwxrwt 8 root root 160 Aug 7 22:23 tmp
drwxr-xr-x 11 root root 4096 Aug 5 00:08 usr
drwxr-xr-x 1 root root 82 Aug 7 22:23 var
äžèšã CoreOS ã®ãã£ã¬ã¯ããªæ§æã§ããããã®äžã§ /usr
ã®ããŒãã£ã·ã§ã³ãæžã蟌ã¿äžå¯ã«ãªã£ãŠããŸããã§ãããããããžã®ãªã³ã¯ã«ãªã£ãŠãã /bin
ã/sbin
ã/lib
ã/lib64
ã /usr/local/
ãå«ããŠå
šãŠæžã蟌ã¿åºæ¥ãŸããã
ãŠãŒã¶ãåºæ¬çã«äœ¿çšããé åã¯ãcore
ãŠãŒã¶ã®ããŒã ã§ãã /home/core
以äžãã/opt
以äžã«ãªãã§ãããã/opt/bin
ã¯ããã©ã«ã㧠$PATH
ã«å
¥ã£ãŠããã®ã§ããã«ããŒã«ãå
¥ãããšäŸ¿å©ã§ããã¯ã©ã¹ã¿ç®¡çããŒã«ã§ãã Kubernetes ããããå©çšããŠããŸãã
èšå®ã«é¢ããŠã¯ /etc
以äžãæ®éã«äœ¿çšã§ããŸãã(åæ Alpha ç㯠/etc
ã®æžã蟌ã¿ãåºæ¥ãªãã£ãããã§ãã)
ãã®ããã«ãã«ãŒãã«ãã·ã¹ãã ã®æžãæããåºæ¥ãªãã®ã§ãäžçšæã«ã·ã¹ãã ã«å€æŽãå ããããããšããããŸãããããã¯ããŠãŒã¶ããèŠããšäžäŸ¿ã§ããåé¢ãã·ã¹ãã 管çè
ããããã°ã·ã¹ãã ã®ç¶æã«æãè² è·ãããªãäœæžãããã§ãããã
åé
ã®ããã«ãã«ãŒãã«ãã·ã¹ãã ã®æžãæããåºæ¥ãªãããšã«ãããã·ã¹ãã ã®ã¢ããããŒããæ©æ¢°çã«èªåçã«ãã£ãŠããŸãããšãåºæ¥ãããã«ãªããŸãã
CoreOS 㯠Chrome OS 掟çã® OS ã§ãããã®ã§ããããã®ã¢ããããŒãã Chrome OSãChrome Browser ããã®æ¡åŒµæ©èœã®æŽæ°ã«äœ¿ãããŠããæ¹æ³ãšåæ§ã« Omaha ãšãã Update Engine(Server and Protocol) ã䜿ã£ãŠèªåçã«è¡ãããŸãã
core@localhost ~ $ sudo lsblk -o NAME,FSTYPE,SIZE,PARTLABEL,MOUNTPOINT
NAME FSTYPE SIZE PARTLABEL MOUNTPOINT
sda 39.1G
|-sda1 vfat 128M EFI-SYSTEM
|-sda2 64M BOOT-B
|-sda3 ext4 1G USR-A /usr
|-sda4 1G USR-B
|-sda6 ext4 128M OEM /usr/share/oem
|-sda7 64M OEM-CONFIG
`-sda9 btrfs 36.7G /var/lib/docker/btrfs
äžèšã CoreOS ã®ããŒãã£ã·ã§ã³ã§ãããçŸåš /usr
ã«ã¯ /dev/sda3
ã§ãã USR-A
ã䜿ãããŠããŸãã
update_engine
ããŒã¢ã³ãå®æçã« Update Server ã«åãåãããè¡ããæ°ãã CoreOS ã®ã€ã¡ãŒãžããããšãèªåçã«ããŠã³ããŒãããçŸåšãµãã«ãªã£ãŠãã USR-B
ã®ããŒãã£ã·ã§ã³ã«ã€ã³ã¹ããŒã«ããUSR-B
ã®ãã©ã€ãªãªãã£ãäžããŠãªããŒãããããŸãã
![](https://camo.githubusercontent.com/dc6762e8434b3187984627dad4f803f990e293e38d4598d1371c4f2e8b7057aa/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f313933322f65613363616230612d313035612d323466342d623731372d3666376431633634336566382e706e67)
ããã«ããããŠãŒã¶é åã¯ãã®ãŸãŸã«ãã·ã¹ãã é åãåžžã«ææ°ã®ç¶æ
ã«ããããèªåçã«æŽæ°ããããšãå¯èœã«ãªã£ãŠããŸãã
Docker ã«ã€ããŠã¯å··ã«ããããã®è§£èª¬ãããµããŠããã®ã§ãã¡ããåç
§ããŠé ãã€ã€ãããã§ãå¥é
ãèšããŠèª¬æããªããšãªããªããšã¯æã£ãŠããã®ã§ãããããã§æ¢ããŠäžèšã§èšããªãã°ãLinux ã«ãŒãã«äžã®ãªãœãŒã¹ã»ããŒãã£ã·ã§ãã³ã°(ã³ã³ãã)ãšãã®ã³ã³ããå
ã®ã€ã¡ãŒãžã管çããçºã®ããŒã«ãšãªãã§ãããããä»®æ³åãšããèšèã䜿ããšãã«ãŒãã«ã®ä»®æ³åãã¢ããªã±ãŒã·ã§ã³å®è¡ç°å¢ã®ä»®æ³åãšèšããããç¥ããŸããã
åé
ãRead-only Linux Kernelãã§è¿°ã¹ãããã«ãCoreOS ã®ã«ãŒãã«ïŒã©ã€ãã©ãªã¯æžã蟌ã¿äžå¯ã«ãªã£ãŠããã®ã§ãã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ïŒå®è¡ããã«ã¯ãåºæ¬çã«ãã® Docker ã䜿ã£ãŠã³ã³ãããäœæãããã®ã³ã³ããå
ã§å®è¡ããããšãæ±ããããŸãã
éã«èšããšãã³ã³ããå
ã§å¿
èŠãªã©ã€ãã©ãªãããŒã«ïŒã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããŠå®è¡ãããæ
ã«ãCoreOS ã®ã«ãŒãã«ã¯åºæ¬çãªæ©èœã«çããããšãåºæ¥ãã³ã³ãã¯ãã§ç®¡çãããããã®ã«ãªã£ãŠãããšãèšããŸãã
ã¡ãªã¿ã«ãDocker 以å€ã§ã¢ããªã±ãŒã·ã§ã³ãçŽæ¥ CoreOS äžã«ã€ã³ã¹ããŒã«ãããšãªããšãå©çšã§ããã©ã€ãã©ãªãéãããã®ã§ããã®ãªããžã§ã¯ãã«ã¯ã¹ã¿ãã£ãã¯ã«ã©ã€ãã©ãªããªã³ã¯ããŠããå¿
èŠããããŸãããã®ç¹ãGoèšèªã§æžãããã³ãŒãããçæããããªããžã§ã¯ãã§ããã°ãå
ã
ãäžã€ã®ãªããžã§ã¯ãã«å
šãŠãå«ãããšããç¹åŸŽãæã£ãŠããã®ã§æé©ã§ããåè¿°ã® Kubernetes
ã Goèšèªã§æžãããŠãããçŽæ¥ /opt/bin
ã«ã€ã³ã¹ããŒã«ããŠäœ¿ãããšãåºæ¥ãŸãã
ããäžã€ã®æ¹æ³ãšããŠãsystemd-nspawn
ãšããããäžã€ã®è»œéãªã³ã³ããåä»®æ³åããŒã«ãæã£ãŠãããCoreOS ã§ã¯ toolbox ãšããã©ãããŒã§ç°¡åã«å©çšã§ããããã«ãªã£ãŠããŸãããã®ã³ã³ããããã¯ããã¹ãã®ãããã¯ãŒã¯ãšãã¡ã€ã«ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ãªã£ãŠããã®ã§ãèªåã®å¥œããªç°å¢ã§éçºããããã°ãè¡ãã€ã€ãææç©ã CoreOS ã«æã£ãŠè¡ãããšãåºæ¥ãŸãã
core@localhost ~ $ toolbox
Pulling repository fedora
88b42ffd1f7c: Download complete
511136ea3c5a: Download complete
c69cab00d6ef: Download complete
core-fedora-latest
Spawning container core-fedora-latest on /var/lib/toolbox/core-fedora-latest.
Press ^] three times within 1s to kill container.
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda9 38468588 843844 37469948 3% /
devtmpfs 511100 0 511100 0% /dev
tmpfs 511100 0 511100 0% /dev/shm
tmpfs 511100 0 511100 0% /run
tmpfs 38468588 843844 37469948 3% /media
tmpfs 38468588 843844 37469948 3% /tmp
/dev/sda9 38468588 843844 37469948 3% /
tmpfs 511100 0 511100 0% /dev
tmpfs 511100 0 511100 0% /dev/shm
tmpfs 511100 0 511100 0% /run
/dev/sda3 1032088 327248 652412 34% /media/root/usr
äžèšã®ããã«ãããã©ã«ãã§ã¯ Docker ã® fedora ã€ã¡ãŒãžãããŠã³ããŒããããŠå±éãããããšããã®ãã¡ã€ã«ã·ã¹ãã ( /var/lib/toolbox/core-fedora-latest
)ã䜿ã£ãŠ systemd-nspawn
ãèµ·åããã/media/root/
ã«ãã¹ãã® /
ãããããããŸãã
CoreOS ã®ã«ãŒãã«ã¯ã³ã³ãã¯ãã§ãããšã¯ãããCluster ãæ§ç¯ããããã®ããŒã«ã¯ãã£ããåããŠããŸãã
etcd ãããã§ãCluster å
ã§æ
å ±ãå
±æããããã®åæ£ Key-Value ããŒã¿ã»ã¹ãã¬ãŒãžãæäŸããåè¿°ã®ã³ã³ããã»ã¯ã©ã¹ã¿ç®¡çããŒã« Kubernetes
ã CoreOS ã«å
èµãããŠãã fleet ãšåŒã°ããåæ£å®è¡ããŒã«ããããå©çšããŠããŸãã
![](https://camo.githubusercontent.com/95c3f2e225f492c910e8eb8a8b2524e79b7607a7f7fc4c2b08feda04c0936587/68747470733a2f2f636f72656f732e636f6d2f6173736574732f696d616765732f6d656469612f352d4d616368696e652d436c75737465722e706e67)
fleet
ã§ã¯ãetcd
ãš systemd
(Linux ã®æ°ãã init 管çããŒã«ïŒunit
ãšåŒã°ãããã¡ã€ã«ã䜿ã£ãŠå®çŸ©ãããæ
å ±ãå
ã«ãã¹ã¯ãªãããã¢ããªã®èµ·åã管çããã) ã䜿ã£ãŠãã¯ã©ã¹ã¿åäœã§ã® unit
ã®å®è¡ã管çããŸãã
ãŸããlocksmith ã¯ãåè¿°ã®ãUpdate like Appãã«ãããã¯ã©ã¹ã¿å
ã§ã®èªåæŽæ°æã®äžçšæãªãªããŒããå¶åŸ¡ããã¯ã©ã¹ã¿ãšããŠã®æ©èœãç¶æããŸãã
ãã®ããã«ãããã4ã€ã®ç¹åŸŽïŒæ©èœãå¯æ¥ã«é¢ä¿ããªãã CoreOS ã圢æããæ°ãããããããã®ã€ã³ãã©ã®å§¿ã®äžã€ãšããŠæ³šç®ãéããŠããŸãã
ããŠãããããèžãŸããŸããŠãå®éã« CoreOS ã䜿çšããŠãããããšæããŸãã