首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >k3s -豆荚之间的联网不起作用

k3s -豆荚之间的联网不起作用
EN

Stack Overflow用户
提问于 2021-03-03 18:53:19
回答 4查看 3K关注 0票数 2

尽管clusterIP服务是为它们设置的,但我仍在努力解决豆荚之间的这种交叉通信问题。所有的荚都在同一个主节点上,在同一个命名空间中。摘要:

代码语言:javascript
运行
复制
$ kubectl get pods -o wide
NAME                         READY   STATUS    RESTARTS   AGE    IP           NODE          NOMINATED NODE   READINESS GATES
nginx-744f4df6df-rxhph       1/1     Running   0          136m   10.42.0.31   raspberrypi   <none>           <none>
nginx-2-867f4f8859-csn48     1/1     Running   0          134m   10.42.0.32   raspberrypi   <none>           <none>

$ kubectl get svc -o wide
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE    SELECTOR
nginx-service    ClusterIP   10.43.155.201   <none>        80/TCP                       136m   app=nginx
nginx-service2   ClusterIP   10.43.182.138   <none>        85/TCP                       134m   app=nginx-2

我不能在nginx容器内卷曲http://nginx-service2:85,反之亦然.虽然我验证了这一点在我的docker桌面安装中是有效的:

代码语言:javascript
运行
复制
# docker desktop
root@nginx-7dc45fbd74-7prml:/# curl http://nginx-service2:85
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

# k3s
root@nginx-744f4df6df-rxhph:/# curl http://nginx-service2.pwk3spi-vraptor:85
curl: (6) Could not resolve host: nginx-service2.pwk3spi-vraptor

在googling这个问题之后(如果我错了,请纠正我),这似乎是一个核心问题,因为查看日志并查看错误超时:

代码语言:javascript
运行
复制
$ kubectl get pods -n kube-system
NAME                                     READY   STATUS      RESTARTS   AGE
helm-install-traefik-qr2bd               0/1     Completed   0          153d
metrics-server-7566d596c8-nnzg2          1/1     Running     59         148d
svclb-traefik-kjbbr                      2/2     Running     60         153d
traefik-758cd5fc85-wzjrn                 1/1     Running     20         62d
local-path-provisioner-6d59f47c7-4hvf2   1/1     Running     72         148d
coredns-7944c66d8d-gkdp4                 1/1     Running     0          3m47s

$ kubectl logs coredns-7944c66d8d-gkdp4 -n kube-system
.:53
[INFO] plugin/reload: Running configuration MD5 = 1c648f07b77ab1530deca4234afe0d03
CoreDNS-1.6.9
linux/arm, go1.14.1, 1766568
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:50482->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:34160->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:53485->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:46642->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:55329->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:44471->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:49182->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:54082->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:48151->192.168.8.109:53: i/o timeout
[ERROR] plugin/errors: 2 1898797220.1916943194. HINFO: read udp 10.42.0.38:48599->192.168.8.109:53: i/o timeout

在那里人们推荐

  • 将coredns配置映射更改为转发到主节点IP。

..。其他CoreFile材料 向前走。主机服务器IP ..。其他CoreFile材料

  • 或将您的coredns clusterip作为名称服务器添加到/etc/presve.conf

搜索default.svc.cluster.local svc.cluster.local cluster.local 名称服务器10.42.0.38 名称服务器192.168.8.1 名称服务器fe80::266:19 fea7:羽毛7:85e7%wlan0 0

然而,没有发现这些解决方案是有效的。

详情供参考:

代码语言:javascript
运行
复制
$ kubectl get nodes -o wide
NAME          STATUS   ROLES    AGE    VERSION        INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION   CONTAINER-RUNTIME
raspberrypi   Ready    master   153d   v1.18.9+k3s1   192.168.8.109   <none>        Raspbian GNU/Linux 10 (buster)   5.10.9-v7l+      containerd://1.3.3-k3s2

$ kubectl get svc -n kube-system -o wide
NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE    SELECTOR
kube-dns             ClusterIP      10.43.0.10      <none>          53/UDP,53/TCP,9153/TCP       153d   k8s-app=kube-dns
metrics-server       ClusterIP      10.43.205.8     <none>          443/TCP                      153d   k8s-app=metrics-server
traefik-prometheus   ClusterIP      10.43.222.138   <none>          9100/TCP                     153d   app=traefik,release=traefik
traefik              LoadBalancer   10.43.249.133   192.168.8.109   80:31222/TCP,443:32509/TCP   153d   app=traefik,release=traefik

$ kubectl get ep kube-dns -n kube-system
NAME       ENDPOINTS                                     AGE
kube-dns   10.42.0.38:53,10.42.0.38:9153,10.42.0.38:53   153d

我不知道我在哪里出错,或者我是否专注于错误的事情,也不知道如何继续下去。如有任何帮助,我们将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-03-05 06:45:22

当其他一切都失败..。回到手册上去。我试着在所有错误的地方找到“问题”,而我只需按照Rancher的k3s安装文档(叹息)。

牧场主文献是非常好的(您只需要实际遵循它),在上安装k3s时,他们会声明

检查版本: $ lsb_release -a没有LSB模块可用。发行商ID: Raspbian描述: Raspbian /Linux 10 ( buster )发行版: 10代号:buster

您需要更改为遗留的iptable,说明要运行(链接):

代码语言:javascript
运行
复制
sudo iptables -F
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo reboot

注意到,当设置iptable时,直接在pi上做,而不是通过ssh。你会被赶出去

在这样做之后,我的所有服务都很高兴,并且可以通过容器中定义的clusterIP服务名称等相互弯曲。

票数 4
EN

Stack Overflow用户

发布于 2022-05-20 09:21:22

对于任何不想像我一样在使用k3s的centos上浪费3个小时的人,您需要禁用防火墙,以便这些服务能够相互调用。

https://rancher.com/docs/k3s/latest/en/advanced/#additional-preparation-for-red-hat-centos-enterprise-linux

建议关闭壁炉:

代码语言:javascript
运行
复制
systemctl disable firewalld --now

如果启用,则需要禁用nm云设置并重新启动节点:

代码语言:javascript
运行
复制
systemctl disable nm-cloud-setup.service nm-cloud-setup.timer
reboot

在我禁用它之后,服务可以通过我的Config中的dns名称相互调用。

仍然在寻找更好的方法,然后禁用防火墙,但这取决于k3s项目的开发人员。

票数 1
EN

Stack Overflow用户

发布于 2021-03-03 19:02:29

你是否有理由试图缩短这个地址:

代码语言:javascript
运行
复制
curl http://nginx-service2.pwk3spi-vraptor:85

这不是应该是:

代码语言:javascript
运行
复制
curl http://nginx-service2:85
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66463181

复制
相关文章

相似问题

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