首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dns解析的k3s调试

dns解析的k3s调试
EN

Stack Overflow用户
提问于 2022-09-22 13:43:10
回答 1查看 315关注 0票数 0

我对kubernetes很陌生,我在pc上的k3s集群中使用arm体系结构时,我的dns名称有一些问题。

我试着按照docs (https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/)的建议进行调试

我按以下方式安装了3ks:

代码语言:javascript
运行
复制
sudo curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE=”644” sh -

以及用于调试pod的应用清单:

代码语言:javascript
运行
复制
kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml

我检查过那个吊舱在运行:

代码语言:javascript
运行
复制
kubectl get pods dnsutils

并试图逃跑

代码语言:javascript
运行
复制
kubectl exec -i -t dnsutils -- nslookup kubernetes.default

预期的味道是这样的:

代码语言:javascript
运行
复制
Server:    10.0.0.10
Address 1: 10.0.0.10

Name:      kubernetes.default
Address 1: 10.0.0.1

但是得到:

代码语言:javascript
运行
复制
;; connection timed out; no servers could be reached

command terminated with exit code 1

有什么需要调试的吗?好像我搞砸了..。

UPD。尝试按照牧场主的建议进行调试(https://docs.ranchermanager.rancher.io/v2.5/troubleshooting/other-troubleshooting-tips/dns):

代码语言:javascript
运行
复制
kubectl run -it --rm --restart=Never busybox --image=busybox:1.28 -- nslookup kubernetes.default

这是输出:

代码语言:javascript
运行
复制
If you don't see a command prompt, try pressing enter.
Address 1: 10.43.0.10

nslookup: can't resolve 'kubernetes.default'
pod "busybox" deleted
pod default/busybox terminated (Error)

所以我尝试了下一步:

代码语言:javascript
运行
复制
for p in $(kubectl get pods --namespace=kube-system -l k8s-app=kube-dns -o name); do kubectl logs --namespace=kube-system $p; done

和原木是:

代码语言:javascript
运行
复制
[WARNING] No files matching import glob pattern: /etc/coredns/custom/*.server
.:53
[WARNING] No files matching import glob pattern: /etc/coredns/custom/*.server
[INFO] plugin/reload: Running configuration SHA512 = b941b080e5322f6519009bb49349462c7ddb6317425b0f6a83e5451175b720703949e3f3b454a24e77f3ffe57fd5e9c6130e528a5a1dd00d9000e4afd6c1108d
CoreDNS-1.9.1
linux/arm64, go1.17.8, 4b597f8
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:39581->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:52272->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:41480->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:52059->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:46821->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:35222->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:38013->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:42222->8.8.8.8:53: i/o timeout
[WARNING] No files matching import glob pattern: /etc/coredns/custom/*.server
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:50612->8.8.8.8:53: i/o timeout
[ERROR] plugin/errors: 2 4288512074117887106.1437335397389171032. HINFO: read udp 10.42.0.5:50341->8.8.8.8:53: i/o timeout
[WARNING] No files matching import glob pattern: /etc/coredns/custom/*.server
...

UPD2

代码语言:javascript
运行
复制
kubectl -n kube-system get cm coredns -o yaml
代码语言:javascript
运行
复制
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        hosts /etc/coredns/NodeHosts {
          ttl 60
          reload 15s
          fallthrough
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
    import /etc/coredns/custom/*.server
  NodeHosts: |
    192.168.0.103 ubuntu
kind: ConfigMap
metadata:
  annotations:
    objectset.rio.cattle.io/applied: H4sIAAAAAAAA/4yQwWrzMBCEX0Xs2fEf20nsX9BDybH02lMva2kdq1Z2g6SkBJN3L8IUCiVtbyNGOzvfzoAn90IhOmHQcKmgAIsJQc+wl0CD8wQaSr1t1PzKSilFIUiIix4JfRoXHQjtdZHTuafAlCgq488xUSi9wK2AybEFDXvhwR2e8QQFHCnh50ZkloTJCcf8lP6NTIqUyuCkNJiSp9LJP5czoLjryztTWB0uE2iYmvjFuVSFenJsHx6tFf41gvGY6Y0Eshz/9D2e0OSZfIJVvMZExwzusSf/I9SIcQQNvaG6a+r/XVdV7abBddPtsN9W66Eedi0N7aberM22zaHf6t0tcPsIAAD//8Ix+PfoAQAA
    objectset.rio.cattle.io/id: ""
    objectset.rio.cattle.io/owner-gvk: k3s.cattle.io/v1, Kind=Addon
    objectset.rio.cattle.io/owner-name: coredns
    objectset.rio.cattle.io/owner-namespace: kube-system
  creationTimestamp: "2022-09-23T09:06:05Z"
  labels:
    objectset.rio.cattle.io/hash: bce283298811743a0386ab510f2f67ef74240c57
  name: coredns
  namespace: kube-system
  resourceVersion: "315"
  uid: 33a8ccf6-511f-49c4-9752-424859d67d70

UPD3

代码语言:javascript
运行
复制
kubectl -n kube-system get po -o wide

输出:

代码语言:javascript
运行
复制
coredns-b96499967-sct84                   1/1     Running     1 (17h ago)   20h   10.42.0.6   ubuntu   <none>           <none>
helm-install-traefik-crd-wrh5b            0/1     Completed   0             20h   10.42.0.3   ubuntu   <none>           <none>
helm-install-traefik-wx7s2                0/1     Completed   1             20h   10.42.0.5   ubuntu   <none>           <none>
local-path-provisioner-7b7dc8d6f5-qxjvs   1/1     Running     1 (17h ago)   20h   10.42.0.3   ubuntu   <none>           <none>
metrics-server-668d979685-ngbmr           1/1     Running     1 (17h ago)   20h   10.42.0.5   ubuntu   <none>           <none>
svclb-traefik-67fcd721-mz6sd              2/2     Running     2 (17h ago)   20h   10.42.0.2   ubuntu   <none>           <none>
traefik-7cd4fcff68-j74gd                  1/1     Running     1 (17h ago)   20h   10.42.0.4   ubuntu   <none>           <none>
代码语言:javascript
运行
复制
kubectl  -n kube-system get svc

输出:

代码语言:javascript
运行
复制
NAME             TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE
kube-dns         ClusterIP      10.43.0.10     <none>          53/UDP,53/TCP,9153/TCP       20h
metrics-server   ClusterIP      10.43.178.64   <none>          443/TCP                      20h
traefik          LoadBalancer   10.43.36.41    192.168.0.103   80:30268/TCP,443:30293/TCP   20h
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-01 02:52:03

实际上我找到了解决办法。安装k3s时,应使用标志flannel-backend=ipsec

代码语言:javascript
运行
复制
curl -sfL https://get.k3s.io | sh -s - server --write-kubeconfig-mode 644 --flannel-backend=ipsec

默认情况下它使用--flannel-backend=vxlan,我尝试过--flannel-backend=host-gw

但对我来说,flannel-backend=ipsec很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73815751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档