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

Commit 9c0549f

Browse files
committed
Merge pull request #84 from mesosphere/multibuilder
build support for multiple variants of mesos, until pure bindings have merged w/ master
2 parents ec12c0c + 48068a5 commit 9c0549f

File tree

7 files changed

+42
-15
lines changed

7 files changed

+42
-15
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ For a binary-only install of the Kubernetes-Mesos framework you can use the Dock
3636
```shell
3737
# chcon needed for systems protected by SELinux
3838
$ mkdir bin && chcon -Rt svirt_sandbox_file_t bin
39-
$ docker run -rm -v $(pwd)/bin:/target jdef/kubernetes-mesos:dockerbuild
39+
$ docker run -rm -v $(pwd)/bin:/target jdef/kubernetes-mesos:build-latest
4040
```
4141

4242
Instructions to build and install from source are as follows:

hack/dockerbuild/.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
README.md
22
build
3+
Dockerfile.orig
4+
mesos-*-compat

hack/dockerbuild/Dockerfile

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,9 @@ FROM debian:wheezy
22
MAINTAINER James DeFelice <[email protected]>
33

44
ENV DEBIAN_FRONTEND noninteractive
5-
ENV DEB_VERSION_MESOS 0.20.1-1.0.debian75
65

7-
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && \
8-
echo "deb http://repos.mesosphere.io/debian wheezy main" | \
9-
tee /etc/apt/sources.list.d/mesosphere.list && \
10-
apt-get -y update && \
11-
apt-get -y install mesos=$DEB_VERSION_MESOS g++ make curl mercurial git
6+
RUN apt-get -y update && \
7+
apt-get -y install g++ make curl mercurial git
128

139
RUN curl -L https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz | tar xz && cd protobuf-2.5.0/ && ./configure --prefix=/usr && make && make install
1410

hack/dockerbuild/README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This example copies the resulting binaries into the host-mounted volume `/tmp/ta
2121

2222
To build and copy the binaries:
2323

24-
$ docker run --rm -v /tmp/target:/target k8s-mesos-builder
24+
$ docker run --rm -v /tmp/target:/target jdef/kubernetes-mesos:build-latest
2525
...
2626
git clone https://${GOPKG}.git .
2727
Cloning into '.'...
@@ -43,28 +43,30 @@ To build and copy the binaries:
4343

4444
Alternatively, it can be used to generate binaries from a branch:
4545

46-
$ docker run --rm -v /tmp/target:/target -e GIT_BRANCH=default_port k8s-mesos-builder
46+
$ docker run --rm -v /tmp/target:/target -e GIT_BRANCH=default_port jdef/kubernetes-mesos:build-latest
4747

4848
Want a quick-and-dirty development environment to start hacking?
4949

50-
$ docker run -ti -v /tmp/target:/target k8s-mesos-builder bash
50+
$ docker run -ti -v /tmp/target:/target jdef/kubernetes-mesos:build-latest bash
5151
root@5883c3a460a6$ make bootstrap all
5252

5353
Need to build the project, but from a forked git repo?
5454

55-
$ docker run --rm -v /tmp/target:/target -e GIT_REPO=https://github.com/whoami/kubernetes-mesos k8s-mesos-builder
55+
$ docker run --rm -v /tmp/target:/target -e GIT_REPO=https://github.com/whoami/kubernetes-mesos jdef/kubernetes-mesos:build-latest
5656

5757
To hack in your currently checked out repo mount the root of the github repo to `/snapshot`:
5858

59-
$ docker run -ti -v /tmp/target:/target -v /home/jdef/kubernetes-mesos:/snapshot k8s-mesos-builder bash
59+
$ docker run -ti -v /tmp/target:/target -v /home/jdef/kubernetes-mesos:/snapshot jdef/kubernetes-mesos:build-latest bash
6060

6161
## Profiling
6262

6363
Profiling in the cloud with Kubernetes-Mesos is easy!
6464
First, ssh into your Mesos cluster and generate a set of project binaries with profiling enabled (the `TAGS` variable is important here):
6565

66+
$ dpkg -l | grep -e mesos # verify the mesos version
67+
ii mesos 0.20.1-1.0.debian75 amd64 Cluster resouce manager with efficient resource isolation
6668
$ docker run --rm -ti -e GIT_BRANCH=offer_storage -e TAGS=profile \
67-
-v $(pwd)/bin:/target jdef/kubernetes-mesos:dockerbuild
69+
-v $(pwd)/bin:/target jdef/kubernetes-mesos:build-mesos-0.20.1-compat
6870

6971
Next, [start the framework](https://github.com/mesosphere/kubernetes-mesos/#start-the-framework) and schedule some pods.
7072
Once the framework and executors are up and running you can start capturing heaps:
@@ -80,6 +82,6 @@ Additional packages may be required to support the reporting format you desire.
8082

8183
$ apt-get install ghostscript graphviz
8284
$ go tool pprof --base=./framework.heap.20141117175634 --inuse_objects --pdf \
83-
./bin/kubernetes-executor ./framework.heap.20141120162503 >framework-20141120a.pdf
85+
./bin/kubernetes-mesos ./framework.heap.20141120162503 >framework-20141120a.pdf
8486

8587
For more details regarding profiling read the [pprof](http://golang.org/pkg/net/http/pprof/) package documentation.

hack/dockerbuild/build

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
docker build -t k8s-mesos-builder .
1+
docker build -t kubernetes-mesos:build-base .
2+
docker tag kubernetes-mesos:build-base jdef/kubernetes-mesos:build-base
3+
4+
for i in mesos-0.20.1-compat mesos-0.21.0-compat; do
5+
test -d $i && docker build -t kubernetes-mesos:build-$i $i && docker tag kubernetes-mesos:build-$i kubernetes-mesos:build-latest
6+
docker tag kubernetes-mesos:build-$i jdef/kubernetes-mesos:build-$i
7+
docker tag kubernetes-mesos:build-$i jdef/kubernetes-mesos:build-latest
8+
done
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM jdef/kubernetes-mesos:build-base
2+
MAINTAINER James DeFelice <[email protected]>
3+
4+
ENV DEB_VERSION_MESOS 0.20.1-1.0.debian75
5+
6+
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && \
7+
echo "deb http://repos.mesosphere.io/debian wheezy main" | \
8+
tee /etc/apt/sources.list.d/mesosphere.list && \
9+
apt-get -y update && \
10+
apt-get -y install mesos=$DEB_VERSION_MESOS
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM jdef/kubernetes-mesos:build-base
2+
MAINTAINER James DeFelice <[email protected]>
3+
4+
ENV DEB_VERSION_MESOS 0.21.0-1.0.debian77
5+
6+
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF && \
7+
echo "deb http://repos.mesosphere.io/debian wheezy main" | \
8+
tee /etc/apt/sources.list.d/mesosphere.list && \
9+
apt-get -y update && \
10+
apt-get -y install mesos=$DEB_VERSION_MESOS

0 commit comments

Comments
 (0)