-
Notifications
You must be signed in to change notification settings - Fork 232
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
Actions are unable to reach namesever specified in invoker dns config #771
Comments
Since a runtime pod runs as a separate pod, I think it's not related to the invoker pod. Normally you can specify DNS configuration for a pod. But I doubt our container factory has such an option. |
hm.. let me try that. apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-example
spec:
containers:
- name: test
image: nginx
dnsPolicy: "None"
dnsConfig:
nameservers:
- 1.2.3.4
searches:
- ns1.svc.cluster-domain.example
- my.dns.search.suffix
options:
- name: ndots
value: "2"
- name: edns0 https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config |
@dgrove-oss Do you have any idea about this? |
It looks like I added that logic in 2018. I think that was early enough that Kubernetes was still using Docker as the kubelet container engine (hadn't switched to containerd). We were only deploying the OpenWhisk control plane (invoker, controller, Kafka, etc) as proper Kubernetes pods. All of the user action containers were created outside of Kubernetes by having the invoker (which was deployed as a DaemonSet -- one invoker per node) going directly to Docker on its node and creating the user container. So I think all that this wiring did was to give us a way to pass the docker networking configuration into the invoker so it would then pass that information to Docker when it created the user containers. But all of this is pretty hazy to be honest...2018 was a long time ago :( |
Thank you for the comment. It is helpful to know the history. |
The dns config does not apply to the Kubernetes runtime pod. |
@jhawarchirag0 I think you can specify your DNS server in the pod template and use it as a base template to create a runtime pod. |
@style95 Thankyou for the help. openwhisk/whiskconfig.conf
openwhisk/application.conf
The pod definition has
Do I need to update my helm chart or is it something other I am doing wrong? |
I have created a file containing the pod-template.yaml
I have added a cm
I have added an env variable inside invoker-pod.yaml
I am getting this error in the logs for invoker
|
@jhawarchirag0
|
@style95 Thanks for the help. I have resolved this issue |
@jhawarchirag0 |
I was unable to pass it in the application.conf but used this in the owconfig.yaml
Used this configmap
Modified invoker-pod.yaml with these changes
For the env approach I don't quite understand the problem completely which is causing the issue |
I just discovered
|
That's because it would not ask to the cluster DNS as you configured it as none. |
Fixed this by modifying the coredns and added a rule to forward all the requests associated to the domain to the dns ip |
I have a dns set up on 192.168.9.30.
My actions contains urls which needs to be resolved on this server but the actions are unable to reach the server and still reach out to kube-dns. Can someone please guide me. My invoker configs are
The text was updated successfully, but these errors were encountered: