gpt4 book ai didi

Kubernetes.default nslookup 无法从不同的命名空间解析

转载 作者:行者123 更新时间:2023-12-04 19:36:31 26 4
gpt4 key购买 nike

我在解决 kubernetes.default.svc.cluster.local 时遇到问题来自外部default命名空间

我在每个命名空间上运行两个busybox:1.30 pod,并且名称成功地从default 解析。仅命名空间

    [admin@devsvr3 ~]$ kubectl exec -n default -ti busybox -- nslookup kubernetes
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: kubernetes
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
[admin@devsvr3 ~]$ kubectl exec -n namespace-dev -ti busybox -- nslookup kubernetes
Server: 10.96.0.10
Address: 10.96.0.10:53
** server can't find kubernetes.namespace-dev.svc.cluster.local: NXDOMAIN
*** Can't find kubernetes.svc.cluster.local: No answer
*** Can't find kubernetes.cluster.local: No answer
*** Can't find kubernetes.namespace-dev.svc.cluster.local: No answer
*** Can't find kubernetes.svc.cluster.local: No answer
*** Can't find kubernetes.cluster.local: No answer
[admin@devsvr3 ~]$

我在气隙环境中运行 CentOS 7 kubernetes 集群并使用 weave net CNI 插件,这是我的 CoreDNS 配置
    apiVersion: v1
data:
Corefile: |
.:53 {
log
errors
health
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
proxy . /etc/resolv.conf
cache 30
reload
loadbalance
}
kind: ConfigMap
metadata:
creationTimestamp: "2019-01-28T10:59:25Z"
name: coredns
namespace: kube-system
resourceVersion: "1177652"
selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
uid: c6b5ddae-22eb-11e9-8689-0017a4770068

最佳答案

按照您的步骤,我确实遇到了同样的问题。但是,如果您使用此 yaml 创建 pod,则它可以正常工作。更改busybox 图像似乎最终会出现您描述的错误。将尝试找出原因。但目前这是解决方案。
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: namespace-dev
spec:
containers:
- name: busybox
image: busybox:1.28
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always

接着:kubectl exec -ti -n=namespace-dev busybox -- nslookup kubernetes.default它按预期工作并解释here .

/ # nslookup kubernetes
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

nslookup: can't resolve 'kubernetes'
/ # nslookup kubernetes.default
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name: kubernetes.default
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local

关于Kubernetes.default nslookup 无法从不同的命名空间解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54582709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com