阿里云 ECS 搭建 k8s 高可用集群踩坑记录

之前使用过 minikube 搭建过 k8s 玩具集群,最近想尝试一下搭建高可用集群。由于高可用集群至少需要三台 2C2G 的机器,一开始尝试使用本机的虚拟机搭建,但后面搭建过程中三台较高配的虚拟机高负载运行导致电脑死机。后面把目光转向云服务。阿里云和华为云都提供抢占式按时付费的 ECS,而腾讯云则没有,比较一下价格阿里云总体价格最便宜,所以就决定以阿里云抢占式 ECS 为基础尝试搭建一个 k8s 高可用集群。

总体架构

总体的架构就是在一个专用网络上 ECS 的互通来搭建集群。

在这里插入图片描述

原本以为这个和在本地使用虚拟机以及本地机器连同一样简单,没想到有一堆的坑在等着我。

专有网络(VPC)坑

Keepalived 广播模式不能使用

VPC 是不支持组播和广播的,一开始 Keepalived 使用默认配置用的是广播方式,按照默认的配置会导致所有主机都认为自己是 Master。

默认情况下 VIP 不可达

没有在 VPC 上注册的 IP 都不可达,HaVip 是公测功能,需要单独开通, HaVip 需要绑定到机器上才能使得 VIP 可达,而且 HaVip 只能绑定两台机器,限制很大。

SLB 坑

由于上面 VPC 的坑,我就放弃了自己用 keepalived + haproxy 搭建负载均衡的想法,打算直接使用阿里云自带的 SLB 做负载均衡,没想到又从一个坑掉到另一个坑。

SLB 做以下的负载均衡
在这里插入图片描述

SLB 不能回环访问

搭好了 SLB 并配置好之后,就开始搭建,然后在 10.0.0.1 上 ping SLB 是能够 ping 通的,然后使用 telnet SLB 监听端口则不通。最终就导致了,我在负载均衡的机器上不能通过负载均衡来访问自身服务。在网上找到一些资料说这是 SLB 的一些限制。而且 SLB 的调试手段并不友好,基本的网络调试工具也没有。

这个限制我觉得非常限制我的系统,所以放弃了使用 SLB。

最终方法

单独申请了 HaVip,本以为申请很麻烦,要审批什么的,没想到很挺快,随申随用。

使用 Keepalived 的单播模式(就是指定 unicast_src_ip 和 unicast_peer)加上自己搭建 HaProxy 的方式自己搭建 SLB。自己搭建的 SLB 能够回环访问,十分的方便。

在这里插入图片描述

最终也没搞明白为什么阿里云的 SLB 不允许回环访问。

总结

上云需谨慎,实施时真的要找相关云的专家做方案评审,不然浪费时间又出不了效果。

像 VPC 宣传时说可以完全掌握自己的专有网络,一开始就想是不是就是一个专属的 vSwitch 自己怎么玩都行,没想过它既不支持广播和组播。自己动态配置的 IP 都是不可达的,一定要使用 HaVip 绑定才行。

还有 SLB,一般的 SLB 就是四层的负载均衡器, LVS + Haproxy 搭建,如果自己搭建的也不会想到限制回环访问这种操作。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若即

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值