Can you ping the IP? There might not be any route to that subnet? Have you
tried/checked that?

And as far as I know, there is no way. Im not 100% sure what problem you
are trying to solve, exactly, though. You can have a service type external,
configure kube dns stub domains, but having **the same stub domains**
resolve to different NS servers according to the kubernetes namespace the
query is executed doesn't seem supported. Not sure it's something useful
besides your setup, either :-/

You can probably patch kubedns or something, but not sure it's worth the
effort.

On Wednesday, September 27, 2017, Simone D'Andreta <
simone.dandr...@gmail.com> wrote:

> Ah yeah that's a typo.. it's setup as consul.service.domain.io but I
> don't know why I cannot ping it - are the service and the endpoint properly
> declared?
> As per the link you provided - I used the stubDomain and gave the
> domain.io name a list of Consul IPs - all good, but this will overwrite
> the kube-dns configmap in the kube-system namespace so the new dns
> resolution will be per node. I need that per namespace or pod.
> Is there anyway I can do that?
> Hope it's clear and thanks a lot for your help.
> Simone
>
> Il giorno martedì 26 settembre 2017 22:30:12 UTC+2, Rodrigo Campos ha
> scritto:
>>
>> What I tried to say is using this: http://blog.kubernetes.i
>> o/2017/04/configuring-private-dns-zones-upstream-nameservers
>> -kubernetes.html?m=1
>>
>> in kube-dns configuration. Not sure how your consul name is and, with all
>> you said in the previous mail, a service type external will help.
>>
>> As not even able to ping, not sure what you mean. The service has nothing
>> to do with the domain you want to ping, right? Or is that a typo?
>>
>> On Tuesday, September 26, 2017, Simone D'Andreta <simone....@gmail.com>
>> wrote:
>>
>>> It creates records such as myservice.service.domain.io, so your
>>> application must be able to contact a dns forwarder which has the zone for
>>> that domain.io.
>>> What I am using at the moment are stubdomains to include the domain.io
>>> but it's at cluster level. What I need to do is to solve different consul
>>> names per namespace or pod.
>>> I tried to use a service definition as follows:
>>>
>>> kind: Service
>>> apiVersion: v1
>>> metadata:
>>>   name: consul-resolution
>>>   namespace: default
>>> spec:
>>>   type: ExternalName
>>>   externalName: consul.service.domain.io
>>>
>>> And an endpoint:
>>> kind: Endpoints
>>> apiVersion: v1
>>> metadata:
>>>   name: consulresolution
>>> subsets:
>>>   - addresses:
>>>       - ip: 10.24.7.26
>>>     ports:
>>>       - port: 8300
>>>
>>> But I am not even able to ping consul.service.cnqr.io.. any idea?
>>> Thanks
>>>
>>> Il giorno martedì 26 settembre 2017 16:03:16 UTC+2, Rodrigo Campos ha
>>> scritto:
>>>>
>>>> Sorry, never used consul and I don't follow what you said.
>>>>
>>>> Does it create records like <service name>.k8s-service that won't work
>>>> with just a k8s external type service?
>>>>
>>>> Then it might be possible to say to kube dns to use some upstream to
>>>> some domains, probably? I've not played with it, as I don't need it. But
>>>> I'd guess something like that might be possible to do. And use different
>>>> domains on apps that need to query different consul clusters?
>>>>
>>>> On Tuesday, September 26, 2017, Simone D'Andreta <simone....@gmail.com>
>>>> wrote:
>>>>
>>>>> I am afraid it won't work. I will be able to solve
>>>>> consul.service.domain but I won't be able to solve external services
>>>>> registered within consul, such as mydatabase.service.domain because I need
>>>>> a NS record.. unless I can use that CNAME as a NS record, but I don't 
>>>>> think
>>>>> it's the right approach..
>>>>>
>>>>>
>>>>> Il giorno martedì 26 settembre 2017 10:21:13 UTC+2, Simone D'Andreta
>>>>> ha scritto:
>>>>>>
>>>>>> Hi Rodrigo,
>>>>>> ideally we would need this per pod, but I can give it a try with
>>>>>> creating a service per namespace.
>>>>>> Thanks for the hint, I will let you know how it goes.
>>>>>> Simone
>>>>>>
>>>>>> Il giorno lunedì 25 settembre 2017 18:34:07 UTC+2, Rodrigo Campos ha
>>>>>> scritto:
>>>>>>>
>>>>>>> Sorry, I must be missing something. But if you want to resolve to
>>>>>>> different consul clusters in different kubernetes namespaces, can't you
>>>>>>> just use a service type external on each?
>>>>>>>
>>>>>>> You create a service, named as you want them to contact, and is per
>>>>>>> ns and returns a CNAME.
>>>>>>>
>>>>>>> Wouldn't that do the trick?
>>>>>>>
>>>>>>> On Monday, September 25, 2017, Simone D'Andreta <
>>>>>>> simone....@gmail.com> wrote:
>>>>>>>
>>>>>>>> I need to be able to overwrite the resolv.conf per pods. If I tweak
>>>>>>>> the kube-dns configmap, I will have additional nameservers per node, 
>>>>>>>> not
>>>>>>>> per pods.
>>>>>>>> The scenario is: I have a  kubernetes cluster which is shared
>>>>>>>> between different teams, and each team has his own namespace to deploy
>>>>>>>> pods. Anyway these pods must be able to communicate with different 
>>>>>>>> consul
>>>>>>>> clusters which are in different environments. Since they are in 
>>>>>>>> different
>>>>>>>> envs, we need to point to different DNS. Since pods get dns resolutions
>>>>>>>> from the nodes, but the nodes are shared, we need a way to overwrite 
>>>>>>>> the
>>>>>>>> dns settings per pods.
>>>>>>>> I know this is a bad practice - I get what Tim said above in this
>>>>>>>> thread - but this is just a proof of concept and we'd like to know 
>>>>>>>> whether
>>>>>>>> there is a way to do this (the cleaner the better :D)
>>>>>>>> Thanks
>>>>>>>> Simone
>>>>>>>>
>>>>>>>> Il giorno lunedì 25 settembre 2017 15:15:43 UTC+2, Rodrigo Campos
>>>>>>>> ha scritto:
>>>>>>>>>
>>>>>>>>> Can you explain what do you what to achieve?
>>>>>>>>>
>>>>>>>>> Maybe changing the configmap kube-dns uses it's enough (and is
>>>>>>>>> prepared to be changed easily, now).
>>>>>>>>>
>>>>>>>>> On Monday, September 25, 2017, Simone D'Andreta <
>>>>>>>>> simone....@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Tim,
>>>>>>>>>> I know what you mean and that's definitely a big issue on our
>>>>>>>>>> side. This is for us more a proof of concept to understand if we can 
>>>>>>>>>> go
>>>>>>>>>> this way. Since I am not a big expert with Kubernetes, I wanted to 
>>>>>>>>>> know if
>>>>>>>>>> there are solutions I haven't considered that might solve my problem.
>>>>>>>>>> That said, I thank you a lot for your explanations here. I  found
>>>>>>>>>> something that can help me, though it sets dns names at node level - 
>>>>>>>>>> not
>>>>>>>>>> per pod:
>>>>>>>>>> https://kubernetes.io/docs/tasks/administer-cluster/dns-cust
>>>>>>>>>> om-nameservers/
>>>>>>>>>> If I include the different IPs in the stub domains I definitely
>>>>>>>>>> should get an answer for the service discovery part. Not ideal, but 
>>>>>>>>>> I think
>>>>>>>>>> better than mounting and overriding the resolv.conf.
>>>>>>>>>> Cheers
>>>>>>>>>> Simone
>>>>>>>>>>
>>>>>>>>>> Il giorno venerdì 22 settembre 2017 19:10:01 UTC+2, Tim Hockin ha
>>>>>>>>>> scritto:
>>>>>>>>>>>
>>>>>>>>>>> you're trying to mount a directory (emptyDir) onto a file
>>>>>>>>>>> (/etc/resolv.conf).  Without seeing the error that is a wild
>>>>>>>>>>> guess.  I
>>>>>>>>>>> can't stop you from doing this, but I strongly encourage you to
>>>>>>>>>>> re-read and internalize what I wrote about multiple nameserver
>>>>>>>>>>> records.
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Sep 22, 2017 at 6:19 AM, Simone D'Andreta
>>>>>>>>>>> <simone....@gmail.com> wrote:
>>>>>>>>>>> > I am trying to mount that volume but my container won't start.
>>>>>>>>>>> I guess I am
>>>>>>>>>>> > doing something wrong. This is the yaml
>>>>>>>>>>> > apiVersion: extensions/v1beta1
>>>>>>>>>>> > kind: Deployment
>>>>>>>>>>> > metadata:
>>>>>>>>>>> >   name: {{ template "fullname" . }}
>>>>>>>>>>> >   namespace: code
>>>>>>>>>>> >   labels:
>>>>>>>>>>> >     chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+"
>>>>>>>>>>> "_" }}"
>>>>>>>>>>> >   annotations:
>>>>>>>>>>> >     commitSHA: {{ .Chart.AppVersion }}
>>>>>>>>>>> >     isNotifiable : "true"
>>>>>>>>>>> > spec:
>>>>>>>>>>> >   replicas: {{ .Values.replicaCount }}
>>>>>>>>>>> >   template:
>>>>>>>>>>> >     metadata:
>>>>>>>>>>> >       labels:
>>>>>>>>>>> >         app: {{ template "fullname" . }}
>>>>>>>>>>> >
>>>>>>>>>>> >     spec:
>>>>>>>>>>> >
>>>>>>>>>>> >       containers:
>>>>>>>>>>> >       - name: {{ .Chart.Name }}
>>>>>>>>>>> >         image: "{{ .Values.image.repository }}:{{
>>>>>>>>>>> .Values.image.tag }}"
>>>>>>>>>>> >         imagePullPolicy: {{ .Values.image.pullPolicy }}
>>>>>>>>>>> >         volumeMounts:
>>>>>>>>>>> >         - name: new-resolv
>>>>>>>>>>> >           mountPath: /etc/resolv.conf
>>>>>>>>>>> >         command: ["/bin/sh"]
>>>>>>>>>>> >         args: ["-c", "echo nameserver 10.24.26.102 >
>>>>>>>>>>> /etc/resolv.conf"]
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> >         ports:
>>>>>>>>>>> >           - name: frontend
>>>>>>>>>>> >             containerPort: {{ .Values.port}}
>>>>>>>>>>> >         readinessProbe:
>>>>>>>>>>> >           httpGet:
>>>>>>>>>>> >             path: {{ .Values.lifecheck }}
>>>>>>>>>>> >             port: {{ .Values.port}}
>>>>>>>>>>> >
>>>>>>>>>>> >       volumes:
>>>>>>>>>>> >       - name: new-resolv
>>>>>>>>>>> >         emptyDir: {}
>>>>>>>>>>> >
>>>>>>>>>>> > I am using helm to deploy so the variables get expanded via
>>>>>>>>>>> Values.yaml or
>>>>>>>>>>> > other template files.
>>>>>>>>>>> > I think I am just not able to mount that volume properly..
>>>>>>>>>>> > Thanks
>>>>>>>>>>> >
>>>>>>>>>>> >
>>>>>>>>>>> > Il giorno giovedì 21 settembre 2017 19:21:39 UTC+2, Tim Hockin
>>>>>>>>>>> ha scritto:
>>>>>>>>>>> >>
>>>>>>>>>>> >> You'd have to craft a new file and mount it onto your
>>>>>>>>>>> resolv.conf,
>>>>>>>>>>> >> which makes it harder to "just add another line" because you
>>>>>>>>>>> don't
>>>>>>>>>>> >> have the base.
>>>>>>>>>>> >>
>>>>>>>>>>> >> But more than that, what you're asking for is really
>>>>>>>>>>> non-standard
>>>>>>>>>>> >> behavior.  You can't safely add a nameserver record to
>>>>>>>>>>> resolv.conf
>>>>>>>>>>> >> that produces different results.  The behavior of DNS
>>>>>>>>>>> resolvers varies
>>>>>>>>>>> >> widely, and this will cause you pain eventually (kubernetes
>>>>>>>>>>> used to do
>>>>>>>>>>> >> this, it was bad).
>>>>>>>>>>> >>
>>>>>>>>>>> >> Consider this - some resolvers ask all DNS servers in
>>>>>>>>>>> parallel, and
>>>>>>>>>>> >> take the first response.  If one resolver can answer a query
>>>>>>>>>>> and
>>>>>>>>>>> >> another can't (NXDOMAIN), your app will sometimes get an
>>>>>>>>>>> address and
>>>>>>>>>>> >> will sometimes fail.  This actually happens.
>>>>>>>>>>> >>
>>>>>>>>>>> >>
>>>>>>>>>>> >> On Thu, Sep 21, 2017 at 6:33 AM, Simone D'Andreta
>>>>>>>>>>> >> <simone....@gmail.com> wrote:
>>>>>>>>>>> >> > Bad news, my idea doesn't work. Could you explain me more
>>>>>>>>>>> about the
>>>>>>>>>>> >> > volumeMount? I know how to mount but I don't know how I can
>>>>>>>>>>> effectively
>>>>>>>>>>> >> > add
>>>>>>>>>>> >> > a nameserver on that file.
>>>>>>>>>>> >> >
>>>>>>>>>>> >> > Thanks
>>>>>>>>>>> >> > Simone
>>>>>>>>>>> >> >
>>>>>>>>>>> >> >
>>>>>>>>>>> >> > Il giorno giovedì 21 settembre 2017 10:26:48 UTC+2, Simone
>>>>>>>>>>> D'Andreta ha
>>>>>>>>>>> >> > scritto:
>>>>>>>>>>> >> >>
>>>>>>>>>>> >> >> Hi Tim,
>>>>>>>>>>> >> >> thanks for your answer. I don't actually need to override
>>>>>>>>>>> all the
>>>>>>>>>>> >> >> settings
>>>>>>>>>>> >> >> in the resolv.conf, I just need to add another nameserver
>>>>>>>>>>> at the top of
>>>>>>>>>>> >> >> the
>>>>>>>>>>> >> >> file. How about if I run a command in the pod such as:
>>>>>>>>>>> >> >>
>>>>>>>>>>> >> >> command: ['/bin/sh', '-c', 'echo 'nameserver x.y.z.w' |
>>>>>>>>>>> cat -
>>>>>>>>>>> >> >> /etc/resolv.conf > temp && mv temp /etc/resolv.conf']
>>>>>>>>>>> >> >> would it work?
>>>>>>>>>>> >> >> Thanks
>>>>>>>>>>> >> >>
>>>>>>>>>>> >> >> Il giorno mercoledì 20 settembre 2017 17:29:16 UTC+2, Tim
>>>>>>>>>>> Hockin ha
>>>>>>>>>>> >> >> scritto:
>>>>>>>>>>> >> >>>
>>>>>>>>>>> >> >>> There's no supported way to do that, in part because it
>>>>>>>>>>> would give up
>>>>>>>>>>> >> >>> all of the Service names that kubernetes provides.  I
>>>>>>>>>>> don't know what
>>>>>>>>>>> >> >>> would happen if you tried to volumeMount a file over
>>>>>>>>>>> /etc/resolv.conf
>>>>>>>>>>> >> >>> - might be worth a shot.
>>>>>>>>>>> >> >>>
>>>>>>>>>>> >> >>> On Wed, Sep 20, 2017 at 3:15 AM, Simone D'Andreta
>>>>>>>>>>> >> >>> <simone....@gmail.com> wrote:
>>>>>>>>>>> >> >>> > Hello,
>>>>>>>>>>> >> >>> > I wanted to know if there is a way to override DNS
>>>>>>>>>>> settings for pods
>>>>>>>>>>> >> >>> > (not
>>>>>>>>>>> >> >>> > per cluster). I tried to use HostAliases but it only
>>>>>>>>>>> creates an A
>>>>>>>>>>> >> >>> > record for
>>>>>>>>>>> >> >>> > that entry. I basically need a NS record cause I need
>>>>>>>>>>> to point to
>>>>>>>>>>> >> >>> > different
>>>>>>>>>>> >> >>> > Consul clusters and then Consul must be able to do
>>>>>>>>>>> service
>>>>>>>>>>> >> >>> > discovery.
>>>>>>>>>>> >> >>> > So I
>>>>>>>>>>> >> >>> > was thinking to change the resolv.conf for the pod to
>>>>>>>>>>> use Consul for
>>>>>>>>>>> >> >>> > specific requests. Any idea?
>>>>>>>>>>> >> >>> > Thank you,
>>>>>>>>>>> >> >>> > Simone
>>>>>>>>>>> >> >>> >
>>>>>>>>>>> >> >>> > --
>>>>>>>>>>> >> >>> > You received this message because you are subscribed to
>>>>>>>>>>> the Google
>>>>>>>>>>> >> >>> > Groups
>>>>>>>>>>> >> >>> > "Kubernetes user discussion and Q&A" group.
>>>>>>>>>>> >> >>> > To unsubscribe from this group and stop receiving
>>>>>>>>>>> emails from it,
>>>>>>>>>>> >> >>> > send
>>>>>>>>>>> >> >>> > an
>>>>>>>>>>> >> >>> > email to kubernetes-use...@googlegroups.com.
>>>>>>>>>>> >> >>> > To post to this group, send email to
>>>>>>>>>>> kubernet...@googlegroups.com.
>>>>>>>>>>> >> >>> > Visit this group at
>>>>>>>>>>> >> >>> > https://groups.google.com/group/kubernetes-users.
>>>>>>>>>>> >> >>> > For more options, visit https://groups.google.com/d/op
>>>>>>>>>>> tout.
>>>>>>>>>>> >> >
>>>>>>>>>>> >> > --
>>>>>>>>>>> >> > You received this message because you are subscribed to the
>>>>>>>>>>> Google
>>>>>>>>>>> >> > Groups
>>>>>>>>>>> >> > "Kubernetes user discussion and Q&A" group.
>>>>>>>>>>> >> > To unsubscribe from this group and stop receiving emails
>>>>>>>>>>> from it, send
>>>>>>>>>>> >> > an
>>>>>>>>>>> >> > email to kubernetes-use...@googlegroups.com.
>>>>>>>>>>> >> > To post to this group, send email to
>>>>>>>>>>> kubernet...@googlegroups.com.
>>>>>>>>>>> >> > Visit this group at https://groups.google.com/grou
>>>>>>>>>>> p/kubernetes-users.
>>>>>>>>>>> >> > For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>>> >
>>>>>>>>>>> > --
>>>>>>>>>>> > You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups
>>>>>>>>>>> > "Kubernetes user discussion and Q&A" group.
>>>>>>>>>>> > To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an
>>>>>>>>>>> > email to kubernetes-use...@googlegroups.com.
>>>>>>>>>>> > To post to this group, send email to
>>>>>>>>>>> kubernet...@googlegroups.com.
>>>>>>>>>>> > Visit this group at https://groups.google.com/grou
>>>>>>>>>>> p/kubernetes-users.
>>>>>>>>>>> > For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>> Google Groups "Kubernetes user discussion and Q&A" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>>> send an email to kubernetes-users+unsubscr...@googlegroups.com.
>>>>>>>>>> To post to this group, send email to
>>>>>>>>>> kubernetes-users@googlegroups.com.
>>>>>>>>>> Visit this group at https://groups.google.com/grou
>>>>>>>>>> p/kubernetes-users.
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Kubernetes user discussion and Q&A" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to kubernetes-users+unsubscr...@googlegroups.com.
>>>>>>>> To post to this group, send email to kubernetes-users@googlegroups.
>>>>>>>> com.
>>>>>>>> Visit this group at https://groups.google.com/grou
>>>>>>>> p/kubernetes-users.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Kubernetes user discussion and Q&A" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to kubernetes-users+unsubscr...@googlegroups.com.
>>>>> To post to this group, send email to kubernetes-users@googlegroups.com
>>>>> .
>>>>> Visit this group at https://groups.google.com/group/kubernetes-users.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Kubernetes user discussion and Q&A" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to kubernetes-users+unsubscr...@googlegroups.com.
>>> To post to this group, send email to kubernetes-users@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/kubernetes-users.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Kubernetes user discussion and Q&A" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to kubernetes-users+unsubscr...@googlegroups.com
> <javascript:_e(%7B%7D,'cvml','kubernetes-users%2bunsubscr...@googlegroups.com');>
> .
> To post to this group, send email to kubernetes-users@googlegroups.com
> <javascript:_e(%7B%7D,'cvml','kubernetes-users@googlegroups.com');>.
> Visit this group at https://groups.google.com/group/kubernetes-users.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Kubernetes user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to kubernetes-users+unsubscr...@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.
Visit this group at https://groups.google.com/group/kubernetes-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to