-
Notifications
You must be signed in to change notification settings - Fork 185
chore: set GODEBUG=netdns=go in most environments #4015
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
base: main
Are you sure you want to change the base?
Conversation
This commit sets GODEBUG=netdns=go in Chart.yaml, selecting the netgo DNS resolver instead of the cgo resolver that is made available by the operating system. Previously, we relied on the collector to be built with only the netgo resolver. However, future releases of the collector will include both DNS resolvers, and a known issue in k8s collection requires the use of the netgo resolver. Signed-off-by: Eric Chlebek <echlebek@sumologic.com>
Signed-off-by: Eric Chlebek <echlebek@sumologic.com>
Sets GODEBUG=netdns=go everywhere Go programs are making use of the network, in jobs, deployments and statefulsets. Signed-off-by: Eric Chlebek <echlebek@sumologic.com>
|
I need to fix up the goldenfiles for all these objects, but the unexpected inclusion from the test's POV does prove that the changes are effectful. |
|
Are you not missing at least the daemonset pods? i.e. I was expecting this section to be touched too. There might be others. Since the equivalent effect used to be part of the Sumologic collector build process, why not add this environment variable to the Sumologic collector Docker images? That way you know you won't be missing a spot in any of the k8s manifests and you will also fix it for the images themselves, not just their use within a k8s environment. Also, keep in mind that the images used in those Daemonsets, Statefulsets, ... are configurable in the chart's values. They default to using the. Sumologic collector images we release, but in principle one could set them to something else that might not want your enforced variable. To me, this points to setting the variable in the container image itself being a better approach instead of "blindly" in the k8s manifest. A single |
Signed-off-by: Eric Chlebek <echlebek@sumologic.com>
|
@ccressent Outside of K8s there's no reason not to use the cgo resolver, but I don't mind the approach. It would prevent any misses like you say. I'll look into doing that instead. |
|
Can we close this? |
This commit sets GODEBUG=netdns=go in deployments, jobs and statefulsets, selecting the netgo DNS resolver instead of the cgo resolver that is made available by the operating system. Previously, we relied on the collector to be built with only the netgo resolver. However, future releases of the collector will include both DNS resolvers, and a known issue in k8s collection requires the use of the netgo resolver.