热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

之前使用过minikube搭建过k8s玩具集群,最近想尝试一下搭建高可用集群。由于高可用集群至少需要三台2C2G的机器,一开始尝试使用本机的虚拟机搭建&

之前使用过 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 搭建,如果自己搭建的也不会想到限制回环访问这种操作。


推荐阅读
  • 【Linux332】LVS的DR配置详解(ipvsadm+arptables)
    文章目录1.DR简 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • java大数据量调优(超赞值得收藏)
    从总体上来看,对于大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节: ... [详细]
  • 了解_Istio是啥?一文带你彻底了解!
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Istio是啥?一文带你彻底了解!相关的知识,希望对你有一定的参考价值。 ... [详细]
  • k8s之Service介绍
    1、Service是什么?​Service是一种k8s集群中访问pod的一种策略。k8s中的pod具有生命周期,且不可复活。每个pod有着自己的IP地址,pod的销毁与创建都会创新 ... [详细]
  • helm V3版本
    1、引入(1)之前方式部署应用基本过程*编写yaml文件**deployment**Service**Ingress(负载均衡、 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • ZeroMQ在云计算环境下的高效消息传递库第四章学习心得
    本章节深入探讨了ZeroMQ在云计算环境中的高效消息传递机制,涵盖客户端请求-响应模式、最近最少使用(LRU)队列、心跳检测、面向服务的队列、基于磁盘的离线队列以及主从备份服务等关键技术。此外,还介绍了无中间件的请求-响应架构,强调了这些技术在提升系统性能和可靠性方面的应用价值。个人理解方面,ZeroMQ通过这些机制有效解决了分布式系统中常见的通信延迟和数据一致性问题。 ... [详细]
  • LVS-DR数据包流向分析介绍
    下文给大家带来LVS-DR数据包流向分析介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍, ... [详细]
  • Linux负载均衡LVS(IPVS)
    一、LVS简介LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,现在已经是Linux ... [详细]
  • 目录结构如下:Nginx基础知识NginxHTTP服务器的特色及优点Nginx的主要企业功能Nginx作为web服务器的主要应用场景包括:Nginx的安装安装环境 ... [详细]
author-avatar
狂风DKC想毕业321
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有