busybox nslookup 不会自动添加 .cluster.local 后缀 - 如何修复它?

问题描述 投票:0回答:1

首先,让我们看一下具有“真实”

nslookup
实用程序的 Pod:

mark@L-R910LPKW:~$ k -n chip exec deployments/toolbox -- sh -c 'ls -l $(which nslookup) ; nslookup default-redis-redis.system-d-kb-redis.svc'
-rwxr-xr-x    1 root     root        100600 Feb 13  2024 /usr/bin/nslookup
Server:         10.0.0.10
Address:        10.0.0.10#53

Name:   default-redis-redis.system-d-kb-redis.svc.cluster.local
Address: 10.0.6.5

mark@L-R910LPKW:~$

按预期工作。 现在是基于 busybox 的 pod:

mark@L-R910LPKW:~$ k exec deployments/redis-insights-redisinsight -- sh -c 'ls -l $(which nslookup) ; nslookup default-redis-redis.system-d-kb-redis.svc'
lrwxrwxrwx    1 root     root            12 Jun 18 14:16 /usr/bin/nslookup -> /bin/busybox
Server:         10.0.0.10
Address:        10.0.0.10:53

** server can't find default-redis-redis.system-d-kb-redis.svc: NXDOMAIN

** server can't find default-redis-redis.system-d-kb-redis.svc: NXDOMAIN

command terminated with exit code 1
mark@L-R910LPKW:~$

不知道该怎么做。

第二个 Pod 使用以下图像:

mark@L-R910LPKW:~$ k get deployments/redis-insights-redisinsight -o yaml | yq .spec.template.spec.containers[].image
redislabs/redisinsight:2.54.0@sha256:938c50cf95f7389bc93ce4d26e6eed6855736a8e5b5b05f7e640f01d1be2d514
mark@L-R910LPKW:~$

我使用 https://truecharts.org

提供的 HELM 图表来部署它

这不仅仅是 nslookup 实用程序的问题。 DNS 解析在该 Pod 上无法按预期工作。当在那里运行的应用程序尝试解析

default-redis-redis.system-d-kb-redis.svc
的地址时,它会返回 getaddrinfo ENOTFOUND 错误。

kubernetes dns busybox
1个回答
0
投票

所以我尝试用最新的

busybox
图像重现它,但我做不到。我什至无法用有问题的 Redis Insights 图像(
redislabs/redisinsight:2.54.0
)按原样重现它。但是,它确实可以通过基于同一映像的 Redis Insights 部署进行重现,但源自相应的 HELM 图表

事实证明部署包含以下内容:

.spec.template.spec

dnsConfig:
  options:
  - name: ndots
    value: "1"

我要去寻找这是什么,但这是根本原因。一旦我删除它,

.cluster.local
后缀问题就消失了。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.