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.io/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 
> <javascript:>> 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-custom-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/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/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-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/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.
>>>> 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.
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