Skip to content
This repository has been archived by the owner on Jun 1, 2021. It is now read-only.

docker compose setup #15

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

pradykaushik
Copy link
Collaborator

  1. Added Dockerfile to help containerize Elektron.
  2. Added docker-compose yaml file to setup mesos cluster for elektron.

The docker image tagged rdelvalle/mesos-master:1.5.1 was used as the mesos master.
As the mesos agent for Elektron requires additional software (docker, PCP) pkaushi1/mesos-agent-elektron:1.5.1 was built using rdelvalle/mesos:1.5.1 as the base image.

Use the below commands to run elektron.

docker-compose run elektron

Updated .gitignore to ignore test log dirs from project.

HOST_IP env var is used by entrypoint script to populate
the PCP config.
The entrypoint script does the following.
1. construct the PCP config file using the value of the env var
	HOST_IP.
2. run elektron by providing all the basic command-line options.

Added build and run instructions in the README. These include
instructions to run elektron on bare-metal or using docker-compose.
@pradykaushik pradykaushik added documentation Improvements or additions to documentation enhancement New feature or request labels Nov 8, 2019
@pradykaushik pradykaushik requested a review from ridv November 8, 2019 00:17
@pradykaushik pradykaushik mentioned this pull request Nov 8, 2019
- zk

mesos-agent:
image: pkaushi1/mesos-agent-elektron:1.5.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We own the organization spdf at dockerhub https://hub.docker.com/orgs/spdf/repositories

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to know. I'll push the image there then.

@ridv
Copy link
Contributor

ridv commented Nov 8, 2019

Were you able to find a workaround for getting RAPL metrics?

@pradykaushik
Copy link
Collaborator Author

Were you able to find a workaround for getting RAPL metrics?

Not yet. Currently, the CPU and Memory utilization is measured of the physical host (not the containers).
There are multiple ways forward from here.

  1. If we stick to the current approach (the one in the PR), then it would require PCP to be installed on the host machine. Definitely not the ideal scenario.
  2. If we want to monitor the CPU and Memory utilization of the docker containers then we could do so by using pmdadocker and monitoring the below metrics. However, note that PCP would still need to be installed on the host machine. If we want to measure RAPL metrics, we would need to pull data from the host machine.
    - docker.cpu_stats.cpu_usage.usage_in_kernelmode
    - docker.cpu_stats.cpu_usage.usage_in_usermode
    - docker.memory_stats.usage
  3. If we want to refrain from having to install anything on the host machine, then I believe the only way forward is to read off a PCP log file baked into the image (this is the approach you suggested the other day). I can see two advantages with this.
    - Testing becomes easier as now we have a fixed PCP log.
    - Power measurements can also be part of the PCP log file.
    If we go with option 3, it would not require installation of PCP on the host machine.

Let me know your thoughts on this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants