Skip to content
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

[CPDEV-94948] CoreDNS resolving issues #547

Merged
merged 7 commits into from
Nov 17, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions documentation/Troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ This section provides troubleshooting information for Kubemarine and Kubernetes
- [No Pod-to-Pod Traffic for Some Nodes with More Than One Network Interface](#no-pod-to-pod-traffic-for-some-nodes-with-more-than-one-network-interface)
- [No Pod-to-Pod Traffic for Some Nodes with More Than One IPs with Different CIDR Notation](#no-pod-to-pod-traffic-for-some-nodes-with-more-than-one-ips-with-different-cidr-notation)
- [Ingress Cannot Be Created or Updated](#ingress-cannot-be-created-or-updated)
- [CoreDNS Cannot Resolve the Name](#coredns-cannot-resolve-the-name)
- [Case 1](#case-1)
- [Case 2](#case-2)
- [Troubleshooting Kubemarine](#troubleshooting-kubemarine)
- [Failures During Kubernetes Upgrade Procedure](#failures-during-kubernetes-upgrade-procedure)
- [Numerous Generation of Auditd System Messages](#numerous-generation-of-auditd-system)
Expand Down Expand Up @@ -927,6 +930,40 @@ spec:
- '--disable-full-test'
```

## CoreDNS Cannot Resolve the Name

### Case 1

**Symptoms**: A pod cannot resolve a short name. A check inside the pod looks like the following:

```
$ nslookup kubernetes.default
Server: 172.30.0.10
Address: 172.30.0.10:53


** server can't find kubernetes.default: NXDOMAIN
```

**Root cause**: Images with the `busybox` utility that represents the `nslookup` command could have issues with the `search` directives in `/etc/resolv.conf`.

**Solution**: Use FQDN instead of a short name, which consists of `service` and `namespace` only. For example, `kubernetes.default.svc.cluster.local` instead of `kubernetes.default`. In some cases, addition of `bind-tools` package fixes the issue with short names. For more information, refer to the following:
* [https://github.com/docker-library/busybox/issues/48](https://github.com/docker-library/busybox/issues/48)
* [https://stackoverflow.com/questions/65181012/does-alpine-have-known-dns-issue-within-kubernetes](https://stackoverflow.com/questions/65181012/does-alpine-have-known-dns-issue-within-kubernetes)

### Case 2

**Symptoms**: A pod that is attached to `hostNetwork` cannot resolve a name periodically or constantly, even if it is FQDN. The following error message is displayed:

```
$ nslookup kubernetes.default.svc.cluster.local
;; connection timed out; no servers could be reached
```

**Root cause**: Traffic from node network to pod network is blocked for UDP port 53.

**Solution**: Change the cloud provider configuration to allow the traffic on the IaaS layer. In OpenStack, the Security Groups manage the allowed traffic.

# Troubleshooting Kubemarine

This section provides troubleshooting information for Kubemarine-specific or installation-specific issues.
Expand Down