-
Notifications
You must be signed in to change notification settings - Fork 39.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Docker to host most server components #19
Comments
On Sat, Jun 7, 2014 at 10:35 PM, Joe Beda notifications@github.com wrote:
Johan Euphrosine (proppy) |
I have some questions just out of curious:
Thank you! |
@monnand I imagine that we will continue to use salt to bootstrap stuff. But we'll be able to reduce some of the more complex salt config. For example, we currently ship and compile the source everywhere where it is run. If we start building docker images, we can precompile the binaries before they are run. I'm thinking that we'll follow the example of Docker itself and do the build process in docker containers. This, with boot2docker, could lead to a good dev flow for Mac OS X. |
@jbeda Thank you! You also mentioned that kubelet should not run under the docker. Is it for technical reason, or other? I do not see any technical difficulties to run kubelet in docker. Or did I miss something? |
We may be able to run the kubelet under docker, but most likely we'll want it to have a whole machine view and expanded privs. Running it under a cgroup container is totally doable. namespaces? I'm not so sure if we can make that happen. Another way of looking at this is that I think of the kubelet as operating at the same level as Docker itself (and perhaps merging with Docker at some point?) and so it should run outside of Docker. |
@jbeda Correct me if I'm wrong. (I'm not saying that kubelet should run inside a docker container. I'm just trying to see what are the technical difficulties here.) As far as I know, kubelet only needs to communicate with docker through docker remote api, which is either trhough a unix socket or a remote IP/port pair. Does it need to read/write cgroup's filesystem? In either case, it seems that we could mount the /var/run onto the container and run kubelet inside that containers. We are currently doing this in cadvisor, which runs inside a docker container but can communicate with docker daemon and read information from the cgroup filesystem. The container could still run inside its own namespace, but communicate with docker daemon through the mounted volume. We use the following command to run cadvisor inside a docker container:
|
There was just a discussion of this in the plumbers meeting. The union bay Brendan
|
Today you should be able to get the host's network. +1 to @brendanburns's comment. |
yes Another interesting thing to do is |
Notes of work in progress:
This leaves us with 2 choices:
Right now I'm leaning toward copying stuff in and out (option 1). |
You could have Dockerfile for individual binaries and have the resulting That way you could leverage the fact sources are sent from your workstation
|
Note of you just want to have a container to build the projects and get You can also set the ENTRYPOINT to the build command. docker build ; docker run # to build
|
You could also have a combination of the two. Build and run kube on top of google/golang for development; for production
|
Thanks for the comments @proppy. I want the resultant container image to be minimal. I like the idea of layering it on the busybox image. That means that the image used to build should be different than the image used at runtime. Doing |
FYI, I have a pending patch to docker that could provide an hacky This would allow something like
On Jun 14, 2014 2:52 PM, "Joe Beda" notifications@github.com wrote:
|
Isn't this mostly done already? |
Yes. |
Add .travis.yml.
…r-services Adds the workerSupporting files for services
Override files on unzip
Rename flag `--schedule-workload` to `--schedule-pods-here` for kubeadm init
OpenStack Security Group - replace group on port with ours.
…link replace calendar link with zoom link
RBD Plugin: Pass monitors addresses in a comma-separed list instead of trying one by one.
Use IP alias range for podCidr.
Check to see how many nodes are ready (not including nodes tainted NoSchedule) and write the 首先用kubectl get node 查看总共node 数量,然后kubectl describe node 查看 From the Pod label name=cpu-utilizer, find pods running high CPU workloads and write the name 方法一: |
email-templates: fix to -> do
…tes#19)" (kubernetes#22) This reverts commit 1c44901.
…ment Multi-NUMA support
Refactor watch event handling; sleep for 1s on all errors
…pilation HACK: fix etcd lib compilation
the fix about cannot connect to service by minikube ip
Right now we use salt to distribute and start most of the server components for the cluster.
Instead, we should do the following:
docker save
to generate tars of the docker image(s) for dev/private development.The text was updated successfully, but these errors were encountered: