Comments (21)
@derailed that's expected behavior right now. You need to deploy the DNS add-on in your virtualbox kmachine.
You can try to use this:
https://github.com/skippbox/configk8s
from kmachine.
@Runseb Thanks! I've looked into this project and after some mods still no dice. Getting invalid range on dns clusterIP 10.0.0.10. Any ideas?
from kmachine.
@derailed : just in case, are you connected to the good cluster with kubectl ? (Just add the same kind of issue) ....
from kmachine.
yes I think so. Running kubeclt get rc --namespace kube-system shows the
dns rc. The service creation fails for 2 reasons:
1- Invalid yaml - successThreshold/failureThreshold
2- Invalid dns ip range.
Also running ku 1.2.0a8 locally not sure if that could be an issue here??
On Tue, Mar 8, 2016 at 11:12 AM, thibault deheurles <
[email protected]> wrote:
@derailed https://github.com/derailed : just in case, are you connected
to the good cluster with kubectl ? (Just add the same kind of issue) ....—
Reply to this email directly or view it on GitHub
#33 (comment).
from kmachine.
@Runseb - digging further looks like kube2sky container was failing looking up the k8s server - was able to pass in the master url env and the service is now up and running but still dns does not seems to work ;-(
from kmachine.
@derailed how did you install kmachine ?
from kmachine.
@derailed can you give me your cassandra rc and service definitions so I can try it and debug ? a gist would be fine. thanks
from kmachine.
Tx for looking into this @Runseb. I've spent most of the day on this
yesterday and could not find the magic incantation to make this work. Think
the problem might be with k8s 1.1.2 + skydns not mixing. Also the base
image run it's own etcd as does kube2sky which might also result in
conflicts. The main problem is having to specify k8s master arg on kube2sky
as otherwise it would not find it and the container will fail to start
trying to reach the master. This could be a sign of the symptoms ie why
couldn't it find the k8s master?? I was able to see services registration
with etcd on kube2sky but still cassandra dns in my examples did not
resolve. Also try the fully qualified dns name and could not resolve either
outside of kube2sky.
As far as repro you should be able to use the cassandra sample in the k8s
repo.
Sadly I would have loved to make this work but running out of time and
reverting to my vagrant solution ;-(
I still feel kmachine is such a more elegant sol than spinning vagrants and
hope one day it could be rolled into k8s. But this functionality has to
work out of the box ie skydns need to be part of the distro at the bare
minimum. Imho this is what makes k8s great for my use cases ie one should
not have to run addons separately may be for the ui+dm but think dns must
be a basic tenant of kmachine.
FYI might also be a good idea to line up with k8s revs. ie k8s 1.1.2 =
kmachine 1.1.2 - will make future visitors happier.
Good luck and thanks for your great support!
On Wed, Mar 9, 2016 at 5:31 AM, runseb [email protected] wrote:
@derailed https://github.com/derailed can you give me your cassandra rc
and service definitions so I can try it and debug ? a gist would be fine.
thanks—
Reply to this email directly or view it on GitHub
#33 (comment).
from kmachine.
thanks for the detailed info @derailed , I will try the cassandra example.
I did spent quite a bit of time testing DNS because it was a pain :) with the service accounts.
The basics should work but I will check with cassandra.
I do agree the DNS add-on should be built-in to provide a totally out of the box solution.
And I am about to change the version scheme to line up with k8s indeed.
So thoughts are similar.
thanks for the feedback
from kmachine.
To my mind, this kind of project will mostly be used by developper. I’m not
sure that all the security layer (that really complicate setup) is really
usefull in that kind of scenario ... As it’s already done ... Too late for
a removing ...
I think the addons need to be in the pack.
Must have:
- DNS
- proxy to access the service
The script are present so we need a way to maintain with some tests ...
Easy to say ...
Le mer. 9 mars 2016 17:05, runseb [email protected] a écrit :
thanks for the detailed info @derailed https://github.com/derailed , I
will try the cassandra example.
I did spent quite a bit of time testing DNS because it was a pain :) with
the service accounts.The basics should work but I will check with cassandra.
I do agree the DNS add-on should be built-in to provide a totally out of
the box solution.And I am about to change the version scheme to line up with k8s indeed.
So thoughts are similar.
thanks for the feedback
—
Reply to this email directly or view it on GitHub
#33 (comment).
from kmachine.
@derailed I think I found the issue, which has to do with the fact that the cassandra pods need 512mb of HEAP. kmachine by default only gets 512mb of RAM, so the containers fail to start. If you start a kmachine with enough RAM it will work.
Below I am putting in a trace, where I use github.com/skippbox/configk8s to start the DNS Addon.
$ kmachine create -d digitalocean --digitalocean-size "4gb" koko
$ ./deploy-addons.sh
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default koko-koko 5/5 Running 1 33m
kube-system kube-dns-v11-zcsvg 3/4 Running 0 42s
$ KUBE_ROOT="https://raw.githubusercontent.com/kubernetes/kubernetes/master"
$ kubectl create -f "${KUBE_ROOT}/examples/cassandra/cassandra-service.yaml"
service "cassandra" created
$ kubectl create -f "${KUBE_ROOT}/examples/cassandra/cassandra.yaml"
pod "cassandra" created
$ kubectl create -f "${KUBE_ROOT}/examples/cassandra/cassandra-controller.yaml"
replicationcontroller "cassandra" created
$ kubectl exec busybox -- nslookup cassandra.default
Server: 10.0.0.10
Address 1: 10.0.0.10
Name: cassandra.default
Address 1: 10.0.0.96
$ kubectl exec -ti cassandra -- nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.17.0.5 68.33 KB 256 100.0% 4dde2b3c-358f-488a-aaed-39a7ec872593 rack1
UN 172.17.0.4 52.28 KB 256 100.0% a70daa5e-e751-4534-9ef7-5a28ac9ea0ab rack1
$ kubectl scale rc cassandra --replicas=3
replicationcontroller "cassandra" scaled
$ kubectl get rc
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE
cassandra cassandra gcr.io/google-samples/cassandra:v8 app=cassandra 3 10m
$ kubectl exec -ti cassandra -- nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.17.0.6 52.29 KB 256 64.4% b783d244-9740-44b9-bb90-06b18ef2105d rack1
UN 172.17.0.5 84.88 KB 256 69.1% 4dde2b3c-358f-488a-aaed-39a7ec872593 rack1
UN 172.17.0.4 68.83 KB 256 66.5% a70daa5e-e751-4534-9ef7-5a28ac9ea0ab rack1
I did find that the cassandra nodes take a bit of time to register and nodetool status
is a bit slow to return.
from kmachine.
I will put up a new version of kmachine which also works on all cloud providers and I will work to embed the DNS Add-on.
from kmachine.
@Runseb - Thanks! Correct about cassandra. I see you are using digitalocean
- I was using virtualbox for a local install and could not get dns to
work. Are u able to run thru the same scenario with the virtualbox driver
successfully?
On Thu, Mar 10, 2016 at 9:35 AM, runseb [email protected] wrote:
I will put up a new version of kmachine which also works on all cloud
providers and I will work to embed the DNS Add-on.—
Reply to this email directly or view it on GitHub
#33 (comment).
from kmachine.
@derailed just tested it on virtual box as well. it seems to work on my end.
$ kmachine create -d virtualbox --virtualbox-memory "2048" foobar
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default busybox 1/1 Running 0 1m
default foobar-foobar 5/5 Running 0 5m
kube-system kube-dns-v11-a65n3 4/4 Running 0 1m
$ KUBE_ROOT="https://raw.githubusercontent.com/kubernetes/kubernetes/master"
$ kubectl create -f "${KUBE_ROOT}/examples/cassandra/cassandra-service.yaml"
service "cassandra" created
$ kubectl create -f "${KUBE_ROOT}/examples/cassandra/cassandra.yaml"
pod "cassandra" created
$ kubectl create -f "${KUBE_ROOT}/examples/cassandra/cassandra-controller.yaml"
replicationcontroller "cassandra" created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
busybox 1/1 Running 0 4m
cassandra 1/1 Running 0 1m
cassandra-mpmcu 1/1 Running 0 1m
foobar-foobar 5/5 Running 0 8m
$ kubectl exec busybox -- nslookup kubernetes.default
Server: 10.0.0.10
Address 1: 10.0.0.10
Name: kubernetes.default
Address 1: 10.0.0.1
$ kubectl exec busybox -- nslookup cassandra.default
Server: 10.0.0.10
Address 1: 10.0.0.10
Name: cassandra.default
Address 1: 10.0.0.210
$ kubectl exec -ti cassandra -- nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.17.0.5 9.71 KB 256 100.0% 5f0ed08d-624a-4527-8b8f-62d17c9c7a91 rack1
UN 172.17.0.4 68.22 KB 256 100.0% 4b9c6459-d09f-4f63-b604-45b699c45357 rack1
from kmachine.
and my scripts to deploy the DNS Add-on are at https://github.com/skippbox/configk8s
from kmachine.
I am going to close this one, because I tested it quite a bit. Original error seems to be due to the lack of RAM on the machine.
from kmachine.
Thanks @Runseb! - I'll try to circle back and give it another shot. Switch
out to vagrant for the being but would love to get my local on kmachine.
Do you have plans on supporting k8s 1.2.0 as it was just released?
On Thu, Mar 17, 2016 at 3:02 PM, runseb [email protected] wrote:
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#33 (comment)
from kmachine.
yes, I pushed a change to master for 1.2.0. We are working on bundling the add ons daemon in kmachine so DNS starts automatically.
from kmachine.
That's excellent news. Thank you for making this happen!
Also a bit on a tangent here but what are your plans (if any) to support
for uploading local docker images or may be support a docker registry on
kmachine?
I know there have been talks about this for the last couple years on the
k8s forum but haven't seen viable options??
Think it would be killer if suck a feature existed in kmachine.
Thanks!!
On Fri, Mar 18, 2016 at 1:41 AM, runseb [email protected] wrote:
yes, I pushed a change to master for 1.2.0. We are working on bundling the
add ons daemon in kmachine so DNS starts automatically.—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#33 (comment)
from kmachine.
I believe there is a registry Add-on now, but I have not tried it yet.
from kmachine.
Ah! I did not see that. Thank you! I'll take a look...
On Fri, Mar 18, 2016 at 11:16 AM, runseb [email protected] wrote:
I believe there is a registry Add-on now, but I have not tried it yet.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#33 (comment)
from kmachine.
Related Issues (20)
- Come up with proper versioning scheme HOT 1
- turn on CI, modify the travis, circle files to automate build HOT 2
- use with existing docker machine? HOT 1
- Differences docker-toolbox / kmachine HOT 9
- How to use a debian image on virtualbox? how to define the debian image? HOT 7
- DNS support HOT 4
- Allowing changing Kubernetes version without downloading new version of kmachine HOT 3
- etcd data not persisted HOT 3
- private registry .dockercfg HOT 3
- Update Godeps HOT 1
- Cannot build specific target HOT 3
- unclear what the default load balancer target is on AWS? HOT 3
- Issues with Kmachine on Windows HOT 1
- AWS Zones HOT 4
- kubernetes version HOT 3
- AWS Inbound Port HOT 2
- Elastic Ip
- Deploy Addons command HOT 2
- Golang version needs updating and aurora drivers removed HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kmachine.