一些 pod 在工作节点和控制平面节点之间的路由存在问题

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

先决条件:

具有两个节点的 K8s 裸机集群 - 控制平面 + worker

这两个节点通过 wireguard vpn 连接,两台主机上的接口名称为 wg0。

集群已经在 vpn 接口上初始化,kubelet 也通过 —node-ip starting args 在 vpn ip 地址上运行。初始化是通过以下方式完成的:

kubeadm init --pod-network-cidr 10.244.0.0/16 --cri-socket /run/cri-dockerd.sock --apiserver-advertise-address 192.168.1.10

作为 CRI,我使用 cri-dockerd,作为 CNI,我使用 calico。

问题:

到目前为止一切顺利,我初始化了集群并加入了 worker,标记了我的 worker 并安装了 CNI,所以我已经运行了 coredns,这很好。

接下来,我安装了 metrics-server 和 tigera operator + calico,配置为 10.244.0.0/24 - 这是 pod 网络 CIDR。然后,我安装了 metallb(模式:ipvs,strictARP:true),但是当我尝试创建 IPAddressPool 资源时出现以下错误:

Error from server (InternalError): error when creating "ip_address_pool.yaml": Internal error occurred: failed calling webhook "ipaddresspoolvalidationwebhook.metallb.io": failed to call webhook: Post "https://webhook-service.metallb-system.svc:443/validate-metallb-io-v1beta1-ipaddresspool?timeout=10s": dial tcp 10.101.43.183:443: connect: no route to host

这显然是路由问题,但是 10.101.0.0/16 和 10.244.0.0/16 的所有路由都是通过 wireguard 接口配置的,如下所示:

ip route add 10.101.0.0/16 via 192.168.1.10

ip route add 10.244.0.0/16 via 192.168.1.10
1.10
- 控制平面)

我对指标服务器也有问题:我通过 kubectl 执行的每个命令我都有来自指标服务器的以下错误(日志中没有):

E0315 22:34:44.714978   70047 memcache.go:255] couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request E0315 22:34:44.781363   70047 memcache.go:106] couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request E0315 22:34:44.988999   70047 memcache.go:255] couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request E0315 22:34:45.080287   70047 memcache.go:106] couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable to handle the request

主要想法是通过 wireguard VPN 创建 k8s 集群,主要问题是:这可能吗?我应该考虑哪些时刻?我尝试在 worker 和 master 上创建部署并从另一个节点 ping pod - 我没有到主机错误的路由,DNS 也不适用于 pod,因为它们在 master 上运行

kubernetes bare-metal calico metallb
© www.soinside.com 2019 - 2024. All rights reserved.