Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CoreOS NYC Meetup

CoreOS NYC Meetup

Under the hood of Tectonic and the CoreOS ecosystem

Eugene Yakubovich

July 28, 2015
Tweet

More Decks by Eugene Yakubovich

Other Decks in Technology

Transcript

  1. Under the hood of tectonic CoreOS Linux CoreOS projects (etcd,

    fleet, flannel) Kubernetes Tectonic layer
  2. kernel systemd etcd ssh docker python java nginx mysql openssl

    app tro distro distro distro distro distro
  3. kernel systemd etcd ssh docker python java nginx mysql openssl

    app tro distro distro distro distro distro
  4. tro distro distro distro distro distro python openssl-A app1 java

    openssl-B app2 java openssl-B app3 kernel systemd etcd ssh docker
  5. tro distro distro distro distro distro python openssl-A app1 java

    openssl-B app2 java openssl-B app3 CoreOS
  6. $ rkt run example.com/app:v2.0.0 rkt: searching for app image example.com/app:v2.0.0

    rkt: fetching image from https://example.com/app-v2.0.0-linux-amd64.aci Downloading signature from https://example.com/app-v2.0.0-linux-amd64.aci.asc Downloading ACI: [=================] 3.79 MB/3.79 MB openpgp: signature made by unknown entity
  7. $ rkt run example.com/app:v2.0.0 rkt: searching for app image example.com/app:v2.0.0

    rkt: fetching image from https://example.com/app-v2.0.0-linux-amd64.aci Downloading signature from https://example.com/app-v2.0.0-linux-amd64.aci.asc Downloading ACI: [=================] 3.79 MB/3.79 MB openpgp: signature made by unknown entity $ rkt trust --prefix example.com/app https://example.com/pubkeys.gpg Prefix: "example.com/app" Key: "https://example.com/pubkeys.gpg" GPG key fingerprint is: 8B86 DE38 890D DB72 9186 7B02 5210 BD88 8818 2190 ACI Builder <[email protected]> Are you sure you want to trust this key (yes/no)? yes Trusting "https://example.com/pubkeys.gpg" for prefix "example.com/app". Added key for prefix "example.com/app" at "/etc/rkt/trustedkeys/prefix. d/example.com/app/8b86de38890ddb7291867b025210bd8888182190"
  8. $ rkt trust --prefix example.com/app https://example.com/pubkeys.gpg Prefix: "example.com/app" Key: "https://example.com/pubkeys.gpg"

    GPG key fingerprint is: 8B86 DE38 890D DB72 9186 7B02 5210 BD88 8818 2190 ACI Builder <[email protected]> Are you sure you want to trust this key (yes/no)? yes Trusting "https://example.com/pubkeys.gpg" for prefix "example.com/app". Added key for prefix "example.com/app" at "/etc/rkt/trustedkeys/prefix. d/example.com/app/8b86de38890ddb7291867b025210bd8888182190" $ rkt run example.com/app:v2.0.0 rkt: searching for app image example.com/app:v2.0.0 rkt: fetching image from https://example.com/app-v2.0.0-linux-amd64.aci Downloading signature from https://example.com/app-v2.0.0-linux-amd64.aci.asc Downloading ACI: [=================] 3.79 MB/3.79 MB rkt: signature verified: ACI Builder <[email protected]>
  9. [Service] ExecStart = /usr/bin/rkt run --inherit-env example.com/app:v2.0.0 Restart = always

    CPUShares = 512 MemoryLimit = 1G Environment = HTTP_PROXY=192.0.2.3:5000 Environment = STORAGE_PATH=/opt/app Environment = TMPDIR=/var/tmp
  10. Boot up master ◦ Start a CoreOS image ◦ Bring

    up etcd ◦ Configure and bring up flannel ◦ Download and start ➢ kube-apiserver ➢ kube-controller-manager ➢ kube-scheduler
  11. Boot up workers ◦ Bring up etcd proxy ◦ Download

    and bring up ➢ kube-proxy ➢ kubelet