node 无法 curl 通 master

2022-06-20 17:35:35 +08:00
 wcyl

刚学 k8s, 准备将之前走 idocker 上部署的服务迁移到 k3s 上, 发现 node 无法连接 master, 找了好几天也不是知道原因, 特来求助

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
    sh -s - server \
    --docker \
    --kube-apiserver-arg advertise-address=$master_ip \
    --node-external-ip $master_ip \
    --tls-san=$master_ip
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
    K3S_TOKEN=$master_k3s_token \
    K3S_URL=https://$master_ip:6443 \
    sh -s - agent \
    --docker \
    --node-external-ip $node_ip

目前问题:

我在 master 部署了 harbor 但是在 node 上无法访问 提示连接超时

但是 ping 是可以成功的

1414 次点击
所在节点    Kubernetes
11 条回复
wcyl
2022-06-20 17:43:24 +08:00
他俩之间的通信问题, 大佬们不用考虑, 我是让他们互相全开放的

这也是实在找不到原因才这样干的
zzl22100048
2022-06-20 18:04:25 +08:00
这是走公网创建的集群?你说的无法访问是 worker 机器上不能访问,还是 worker 的 pod 内部不能访问 harbor
wcyl
2022-06-20 18:07:04 +08:00
@zzl22100048 #2 对的

是 worker 机器无法 curl 访问 master 上部署的服务, 哪怕是单纯的 curl master ip 也不行

而在部署 k3s 之前 是返回的默认的 404 的
wcyl
2022-06-20 18:07:49 +08:00
@zzl22100048 #2 2 台云服务一台是腾讯云 一台是华为云 所以只能通过公网创建集群
m4d3bug
2022-06-20 18:13:38 +08:00
跨公网的得去改 k3s 的 systemd 给它写个变量吧,可以去看基基杨的博客,他也是玩的跨云 k3s ,不过就多了个 WireGuard
wcyl
2022-06-20 18:19:32 +08:00
@m4d3bug #5 确实是有看到很多博客用 WireGuard, 说是加密服务器间的信息, 对我没太必要.

是米开朗基杨吗? 能指条路路吗 我去看看
m4d3bug
2022-06-20 19:19:21 +08:00
@wcyl 是他,好像是 fuckcloudnative.io
m4d3bug
2022-06-20 19:24:26 +08:00
@wcyl 主要是很多 vps 没有把公网 ip 绑到网卡吧,这对 k8s 本身设计的工作场景有区别,WireGuard 弥补了这一区别,倒不是说非得加密
wcyl
2022-06-23 11:01:55 +08:00
@zzl22100048 @m4d3bug

node 之间通信是通过 flannel, 和 wg 关系不大

[内网不互通的解决办法]( https://icloudnative.io/posts/deploy-k3s-cross-public-cloud/#6-内网不互通的解决办法), 这里修改了所有 node 的 flannel 的公网 ip 并重启了`所有`node 的 k3s 服务, 就可以了

我之前以为启动 k3s 加了 `node-external-ip`就可以覆写 flannel 的内网 ip (文档上说 flannel 会优先使用 EXTERNAL-IP) 但是不行.

tips: 覆写 flannel 的 ip 后光重启 master 的 k3s 服务是不够的, 还要重启 worker 的 k3s-agent 服务, 这里停滞了好久
wcyl
2022-06-23 11:03:21 +08:00
特别感谢 2 位的帮助 最终解决了这个问题
m4d3bug
2022-06-23 13:26:20 +08:00
@wcyl good job !

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX