Skip to content
This repository has been archived by the owner on Dec 5, 2017. It is now read-only.

Add Glossary of Terms/Components #285

Open
karlkfi opened this issue May 19, 2015 · 2 comments
Open

Add Glossary of Terms/Components #285

karlkfi opened this issue May 19, 2015 · 2 comments

Comments

@karlkfi
Copy link
Contributor

karlkfi commented May 19, 2015

We came up with a draft glossary and component communication map below. They need to be cleaned up, added to the docs, and linked to from other docs pages.

K8SM Glossary

  • etcd - external file system based registry (HA key/value store)
  • apiserver (k8s)
    • provides UI for observing the state of the cluster
    • provides an API for reading desired/current cluster state in the registry/etcd (used by cli)
  • scheduler (k8s)
    • compares desired/current state and schedules/binds changes (k8s tasks) via the api server
  • kublet (k8s)
    • server/slave node that runs pods
  • controller-manager (k8s)
    • runs multiple controllers
      • node
      • endpoint
      • pod replication
  • mesos-master (mesos)
    • components:
      • allocator - ?
      • registry (backed by paxos-based replicated log)
    • brokers resources
    • native or language-specific bindings (mesos-go) implement the HTTP libprocess API
  • mesos-slave (mesos)
    • run & manage executor task lifecycle isolated by containerizers
    • gateway for task status updates (used by framework)
  • framework (mesos)
    • conceptual mesos plugin pattern that consists of two parts:
      • scheduler
      • executor
  • executor (mesos)
    • manages executable downloaded by mesos-slave to be run (mesos task)
  • containerizer (mesos)
    • run and monitor executors
    • handles generic resource isolation
    • multiple isolator implementations
      • native mesos containerizer (cgroups/namespaces)
        • network isolator
        • cgroups cpu/mem isolator
        • perf isolator (for publishing metrics)
      • docker containerizer uses docker instead
      • custom external containerizer could be configured

Component Communications

  • etcd
    • <-> etcd nodes (HA) [optional]
  • zookeeper [optional]
    • <-> zookeeper nodes (HA) [optional]
  • mesos-master
    • <-> mesos-master nodes (HA) [optional]
    • mesos-slave (libprocess/HTTP)
    • framework scheduler (libprocess/HTTP)
    • zookeeper (ZK)
  • mesos-slave
    • mesos-master (libprocess/HTTP)
    • zookeeper
    • containerizer (in-process)
      • executor(s) (libprocess/HTTP)
  • apiserver
    • etcd (REST/HTTP)
    • mesos-master via cloudprovider/mesos (HTTP: state.json)
    • zookeeper via mesos-go/detector/zk (ZK)
  • controller-manager
    • apiserver (REST/HTTP)
    • mesos-master via cloudprovider/mesos (HTTP: state.json)
    • zookeeper via mesos-go/detector/zk (ZK)
  • scheduler
    • etcd (REST/HTTP: scheduler state)
    • mesos-master (libprocess/HTTP)
    • apiserver (REST/HTTP)
    • zookeeper via mesos-go/detector/zk (ZK)
@karlkfi
Copy link
Contributor Author

karlkfi commented May 19, 2015

It would be great if the component communication section also specified which flag/arguments/configurations were needed to specify that communication. Note: sometimes what the component uses (listens on) is different from what it announces for other components to use, depending on system env (proxies/dns/port-forwarding).

@jdef jdef added this to the DCOS certification milestone Jun 26, 2015
@jdef
Copy link

jdef commented Jun 26, 2015

Added to DCOS/certified because this is probably going to be immensely helpful for users running k8s-mesos on dcos.

@jdef jdef removed this from the EPIC: DCOS final certification milestone Oct 23, 2015
@jdef jdef added this to the Minimum Viable Product (MVP) - v0.8.0? milestone Nov 16, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants