The Kubernetes scheduler registers with Mesos as a Mesos framework.
The Kubernetes kubelets are run by the Mesos slaves, according to prescriptions from the Kubernetes Mesos framework. This makes the kubelet logs hard to find.
You can read the Mesos master's log in two ways. One is to invoke
docker logs
on the container that runs the Mesos master. The other
is through the Mesos web UI.
Each kubelet's log is buried in its host's filesystem. You can use the Mesos web UI to find the kubelet logs.
The Mesos web UI is at http://${master}:5050/
, where ${master}
is
a domain name or IP address for the Mesos master (this can be either a
physical IP address or, if you have deployed with HA, the virtual IP
for the master components). On the home page there is a navigation
panel on the left, with a link named "LOG" to the master's log. There
are also some navigation buttons at the top; one of them is labelled
"Frameworks". That takes you to a page that lists frameworks. There
you should find the Kubernetes and/or Swarm frameworks (depending on
which you have deployed). On the page for the Kubernetes framework
you will find two tables ("Active" and "Completed") of tasks. Each
task's row ends with a link to "Sandbox". That link takes you to a
page that shows where in the task's host's filesystem to find the
relevant files. An example is /var /tmp /mesos /slaves /31ada4fd-adec-460c-809a-9e56ceb75269-S0 /frameworks /31ada4fd-adec-460c-809a-9e56ceb75269-0000 /executors /692a210bea36ed24_k8sm-executor /runs /4d78d701-a865-43b5-9d44-c588903d40a9
(spaces inserted to facilitate
line breaks).
The kubelet's logging appears among that in the executor.log
file of
the task's sandbox.