-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Switch off alpine as a base image #2051
Comments
We are looking into switching to a different base image and I expect a PR before the end of the week (probably tomorrow). Please bear with us until then. |
+1 @hiddeco Thanks! |
I was able to backport the current image to alpine-3.3 in the meantime. This unblocks me for now. Will keep an eye out for the new image. |
As a note, I was seeing similar nslookup issues usinig minideb. |
@mjpitz would you be able to give this image a try? |
nslookup isn't installed on debian by default:
|
This morning, I was able to bypass the ndots issue by specifically setting it to "1" for the flux deployment container. |
@mjpitz this one has: |
Interesting. Seeing the same issue with that one. I was able to successfully resolve with ubuntu last week, but I'm hitting the same issues again this week.
|
This lowers my expectations of fixing it by moving away from Alpine (at least, for this particular bug).
This is something that people can have control over by adapting their pod config (K8S >=1.10), and something we can incorporate in our chart. https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-config |
Agreed. I've been going through a slew of images and it seems pretty consistent across the various operating systems. CentOS worked, but thats too heavy of a base image for something like this.
Definitely seems like the way to go for something like this, sorry for the mislead on the base image. I imagine some people are hosting their state repos out of github, so it probably needs to be set to "1". |
Mainly to provide people with the tools to overcome nslookup issues on certain Kubernetes setups, as one solution seems to be to configure the ndots value to "1". Ref: #2051 (comment)
Mainly to provide people with the tools to overcome nslookup issues on certain Kubernetes setups, as one solution seems to be to configure the ndots value to "1". Ref: #2051 (comment)
Mainly to provide people with the tools to overcome nslookup issues on certain Kubernetes setups, as one solution seems to be to configure the ndots value to "1". Ref: #2051 (comment)
Mainly to provide people with the tools to overcome nslookup issues on certain Kubernetes setups, as one solution seems to be to configure the ndots value to "1". Ref: #2051 (comment)
With #2116 merged, this got resolved in an alternative way. |
Describe the bug
In versions of alpine 3.4 and later, a name resolution issue was introduced and causes problems with certain deployments of Kubernetes. Because of this bug with name resolution, I've ran into a problem where flux cannot clone the cluster-state repository, rendering the weaveworks-flux project useless.
This issue appears to be inconsistent and difficult to reproduce. Because of these inconsistencies, I'd suggest migrating off of alpine as the base image. This should create a more stable image for consumers of the system to leverage.
To Reproduce
What's your setup?
OpenStack, running CentOS 7 base image with docker, used Rancher's RKE to provision the cluster with kube-dns and canal (really just using the out of box configuration). After the cluster is up and running, you can test the various versions of alpine to see name resolution support against the cluster.
This same behavior applies when applying nslookup against AWSCodeCommit (git-codecommit.{region}.amazonaws.com). When you enable debug logging on the dns server, you can see it exhaust the full chain of search domains.
Once the full chain is exhausted it looks like it never attempts
google.com
directly.Expected behavior
The weaveworks/flux project should be able to easily resolve host names who's ndots is less than 5 (as configured by kubernetes in /etc/resolv.conf).
Logs
The resulting logs of fluxd are that it simply fails to clone the repo using any git url who's host is shorter then 5 dots:
Additional context
Add any other context about the problem here, e.g
The text was updated successfully, but these errors were encountered: