20160510 Coreosfest notes 1
20160510_Coreosfest_notes-1
- 1 - coreos-baremetal
- Overview
- coreos-baremetal/bootcfg
- Network Environment setup
- 2 - Tests
- Infra setup
- Bootcfg API
CoreOS Bootstraping
1 - coreos-baremetal
Overview
https://github.com/coreos/coreos-baremetal
Coreos-baremetal:
* Guides
* 1 service (bootcfg)
bootcfg:
* Network boot config
* Provisioning CoreOS clusters
* Metadata
coreos-baremetal/bootcfg
https://github.com/coreos/coreos-baremetal/blob/master/Documentation/bootcfg.md
HTTP server
* iPXE scripts (Kernel + Initrd)
* Ignitions / cloud-config config files (Bootstraping)
* Metadata / Logic
/var/lib/bootcfg/
|
├── assets/
| └── coreos
| └── VERSION
| ├── coreos_production_pxe.vmlinuz
| └── coreos_production_pxe_image.cpio.gz
|
|
| // Network boot config
├── groups/
│ └── default.json
│ └── node1.json
│ └── us-central1-a.json
|
└── profiles/
│ └── etcd.json
│ └── worker.json
|
|
| // CoreOS Config specific
├── cloud
│ ├── cloud.yaml
│ └── worker.sh
└── ignition
└── hello.json
└── etcd.yaml
└── simple_networking.yaml
- Groups
- 1 Profile
- 1 Selector (HW / Metadata logics)
-
Metadata associated for Profile templating
-
Profil
- Ignition / cloud-config
- Network BOOT args (iPXE)
Network Environment setup
- NO DHCP
- NO TFTP
=> Use DNSMasq
2 - Tests
Infra setup
- 1 CoreOS VM
- BootCFG HTTP servers
-
Dnsmasq DHCP/TFTP server
-
1 VBox VM PXE Boot
Bootcfg API
https://github.com/coreos/coreos-baremetal/blob/master/Documentation/api.md
=> Allow to validate each part of Bootcfg
* ipxe / ipxe script
* Ignition Config
* Metadata
* Images