如何与k3s Cube-VIP交友?

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

下午好,我正在尝试提升 k3s 集群,但遇到了无法将 kube-VIP 连接到 k3s 的问题。 最初,我建立了一个由 1 个 master 和 3 个 Hard Workers 组成的集群,一切正常,但是当我尝试连接其他 master 时,什么也没有出现,我痛苦了几天,但仍然不起作用。 之后,我遇到了 K3Sup,一个可以自动化一切的脚本,我认为它可能会起作用。 我在主服务器上安装了 K3Sup,从中运行脚本,将其安装在其中一个 k3s 向导上,下一步是配置 kube-VIP,然后问题就开始了。 我安装 kube-VIP 所用的命令,我是在向导上安装的

kubectl apply -f https://kube-vip.io/manifests/rbac.yaml
ctr image pull docker.io/plndr/kube-vip:latest
alias kube-vip="ctr run --rm --net-host docker.io/plndr/kube-vip:latest vip /kube-vip"

之后,我创建了一个守护进程(这里我指定了静态ip,但动态ip也没有关系)

kube-vip manifest daemonset \ --arp \ --interface eth0 \ --address 192.168.0.55 \ --controlplane \ -- leaderElection \ -- taint \ --inCluster | tee /var/lib/rancher/k3s/server/manifests/kube-vip.yaml

之后我看了他的状况,原来他还没有准备好上班

root@master-node-1:~/.kube# kubectl get ds -A
NAMESPACE     NAME                     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
kube-system   kube-vip-ds              1         1         0       1            0           <none>          22m
kube-system   svclb-traefik-62df3696   1         1         1       1            1           <none>          23m

当然,地址 192.168.0.55 没有被 ping 通(该地址肯定是静态的,绝对没有被占用)。

kubernetes devops k3s k3sup
1个回答
0
投票

尝试以下故障排除步骤,这可能有助于解决您面临的问题:

验证负载均衡或 VIP 配置(负载均衡器/HAProxy):添加新的主节点时,使用负载均衡器或 VIP 在它们之间传输流量。检查负载均衡器或 VIP 是否已正确设置以将请求路由到所有主节点。

例如:HAProxy 要求您设置 VIP 以将流量中继到端口 6443(默认 Kubernetes API 服务器端口)上的所有控制平面节点。检查 VIP 是否响应 API 查询并设置为在主节点丢失时正确进行故障转移。

检查 Etcd 集群配置:添加新的主节点时,请确保 Etcd 集群已正确扩展和配置。要添加新的主节点,请使用新的节点地址更新您的 etcd 集群。确保新的master已添加到etcd集群中。所有主节点都更新了其 etcd 配置以反映新成员。 etcdctl 命令连接并列出所有集群节点(成员列表)。

检查 Kubernetes API 服务器配置:每个主节点必须正确配置其 API 服务器。确保新的主节点共享相同的 Kubernetes 凭据。新主节点的 kube-apiserver 配置现在包含 VIP 或负载均衡器 IP 地址。新主机上的 kube-apiserver 服务可以正常运行,没有任何问题。

网络连接:检查没有防火墙或网络规则阻止节点之间的通信(例如,etcd 的端口 2379、API 服务器的端口 6443 以及主节点间通信的端口)。检查网络配置的状态,尤其是 VIP 和网络故障转移系统。

日志和诊断:检查所有主节点上的 kube-apiserver、etcd 和 kube-controller-manager 日志是否有错误。例如,在新的主节点上,运行journalctl -u kube-apiserver以搜索API服务器日志中的错误。如果您使用 kubectl,请确保您的配置指向 VIP,而不是单个主节点的 IP 地址。

使用高可用性工具:如果您手动配置集群,请考虑在 HA 工具(KubeSpray 或 RE)中使用 kubeadm 来管理配置 HA Kubernetes 控制平面的复杂性。这些工具经常自动执行各种任务,包括控制 stcd 集群、配置负载均衡器和建立 API 服务器。

请参阅类似 issue1issue2 的 Reddit 社区以及 kube-vip 上的 Github 文档,了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.