跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 分享一个腾讯云 Kubernetes 独有的神奇 bug 和 debug 过程
未分類
1 4 月 2020

分享一个腾讯云 Kubernetes 独有的神奇 bug 和 debug 过程

分享一个腾讯云 Kubernetes 独有的神奇 bug 和 debug 过程

資深大佬 : MiaRunis 31

某小伙伴迫于腾讯投资不得不把服务器迁移至腾讯云,然后发现爬虫总是能绕过防火墙爬到内容。LB 上已经限制了仅 cdn 源能访问,甚至还加了 waf 层,也不能阻止爬虫。只得在程序上写了屏蔽。随后就开始遭受攻击。

疯狂 debug 找不到原因,正好我最近也在做 K8S 于是一起 debug 。腾讯云各种骚操作早有耳闻,(比如超售后急忙迁移硬盘删掉用户全部数据,比如客服不声不响升级用户 redis 版本导致宕机,比如 cfs 各种不稳定等的)。但是没想到他到处都是坑。

问题也不复杂,腾讯云的公网模型还停留在上世代,其他公有云早八辈子已经抽象化网络层,腾讯云的公网还是得直接接 cvm 的 node 。

node 启动时分配公网带宽,会默认给一个公网 ip 。而他 k8s 的 node 默认的安全组又对 0.0.0.0/0 放开了高位端口访问。cvm 创建时默认给一个公网 ip,直接导致 k8s 服务的实际端口向公网暴露。

解决也简单,立刻在有公网带宽的 node 机器上撤掉了公网 ip,检查确定那台机器上除了 nginx 外没有敏感服务(如 redis/mysql ),检查确认是否有被入侵,看起来没有。保存了日志,镜像(供日后分析)。然后尽快重写了 YAML 文件,确认创建 node 时不再分配公网 ip,销毁这个 node 重建。解决!

这件事,腾讯云独有的莫名构架和朋友不仔细阅读文档都要负一定责任,不过我认为问题根子还是在腾讯云这个公网绑定 cvm 上。其他各家公有云都已经完成了网络层的完全解耦(比如 aws 的 ENI ),LB 公网各项操作都可以只做在 LB 上。不知道为什么腾讯云还维持在机房主机时代网络拓扑。

大佬有話說 (3)

  • 主 資深大佬 : MiaRunis

    对了,再补一个腾讯云关于 redis 的骚操作。

    他服务不稳,于是 redis 部署时强制开启双实例主从,想要开单实例 redis 必须工单申请,非常麻烦。

    双实例主从,读写分离也行,但主从却必须部署到同一个可用区。无法分区部署。用户如果想要追求高可用,只能是上 3 的整倍数个 redis cluster 模式,付至少 3 倍 /6 倍的钱。 于是他 redis 虽然看着比其他家便宜一截,但算上倍数费用比其他各家都要贵不少。

  • 資深大佬 : scukmh

    羡慕腾讯投资。

  • 資深大佬 : beordle

    不是对应团队的,但说两句。其实你说的抽象网络层已经有了,计费跟 IP 走。 据我了解呢新增的用户已经灰度了,所以你说的问题我们其实是知道的,没生效的具体原因可能得找人分析下,需要的话你可以留个邮箱,我发给你对应产品经理的微信号。

    ps 话说你应该发到云计算专栏,那边老板可能有关注.. so 也会帮助我们把产品做得越来越好,你懂得。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具