┌─┐ ║"│ └┬┘ ┌┼┐ │ ┌──────────┐ ┌────┐ ┌─────────┐ ┌───────┐ ┌──────┐ ┌┴┐ │API Server│ │etcd│ │Scheduler│ │Kubelet│ │Docker│ Dev └────┬─────┘ └─┬──┘ └────┬────┘ └───┬───┘ └──┬───┘ │ create Pod ┌┴┐ │ │ │ │ │───────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ write ┌┴┐ │ │ │ │ │ │ ──────────────>│ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ │ │ watch(new pod) ┌┴┐ │ │ │ │ ──────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ ┌┴┐ bind pod │ │ │ │ │ │ │ <──────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ write ┌┴┐ │ │ │ │ │ │ │ ──────────────>│ │ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ │ └┬┘ │ └┬┘ │ │ │ │ │ │ │ │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ >│ │ │ │ │ │ │ │ │ │ │ │watch (bound pod) │ ┌┴┐ │ │ │ ──────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ docker run ┌┴┐ │ │ │ │ │ │ ─────────────>│ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ ┌┴┐ │update pod status │ │ │ │ │ │ │ <──────────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ write │ │ │ │ │ │ │ │ ───────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ │ └┬┘ │ │ └┬┘ │ │ │ │ │ │ │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ >│ │ Dev ┌────┴─────┐ ┌─┴──┐ ┌────┴────┐ ┌───┴───┐ ┌──┴───┐ ┌─┐ │API Server│ │etcd│ │Scheduler│ │Kubelet│ │Docker│ ║"│ └──────────┘ └────┘ └─────────┘ └───────┘ └──────┘ └┬┘ ┌┼┐ │ ┌┴┐