观点:小心这些Kubernetes陷阱
极客时间编辑部
讲述:丁婵大小:2.27M时长:04:57
有人称,Kubernetes 是一项伟大的技术,如果使用得当,它将带来巨大的好处。但如果有人把 Kubernetes 视为万能药方,那么他对 Kubernetes 并没有客观的认识。下面列出一些在使用 Kubernetes 策略时需要注意的事情。
1. 被 Kubernetes 管理也并不能保证万全
Kubernetes 是一个由许多协同工作的软件组成的系统。不管你是直接管理还是选择管理 Kubernetes,事情都可能会出错。被管理下的 Kubernetes 在其各种组成部分中出现问题并不罕见,所以不要仅仅因为 Kubernetes 控制平面是由云提供商管理的,就认为它不会出错。
你可以在 GitHub 上找几个云提供商提供的 Kubernetes 问题看看。当出现问题时,你可能仍然需要联系支持人员,以便解决问题,但这可能会导致停机。另外,因为控制平面中的 Kubernetes 组件只创建和监视容器,如果它们出现问题,通常不会影响已经运行的容器。
2.Kubernetes 上的有状态应用程序仍在演变
Kubernetes 的用途是创建和销毁像短命昆虫一样的容器,它可以创建许多容器来响应通信量的激增,并在恢复正常后销毁这些容器。意味着这将是一个非常动态的环境,在这里,服务器被真正地进行集群处理。从这个意义上说,Kubernetes 对数据库等有状态的应用程序的支持似乎有点滞后。 与其他领域相比,假如 Kubernetes 下的有状态应用程序的工作方式继续发生相对快速的变化,人们不应该感到惊讶。
有一种方式是以云提供商中立的方式分配持久性卷,以便在 Kubernetes 本地支持的有状态应用程序中使用。
另外,如果你想使用底层云提供商管理的有状态服务 ( 比如: RDS、DynamoDB 等),可以使用 Kubernetes 提供的原生方法 Service Catalog,这使得使用云提供商的托管服务变得更容易。
3.Kubernetes 升级
通过 Web 搜索引擎应该会找到很多关于 Kubernetes 集群升级的恐怖故事,使你放弃更新并继续使用现有的集群设置。其实最好的方法可能是重新创建一个具有与生产集群相同版本的集群,并在其中安装关键应用程序,然后升级这个集群,在继续升级到生产集群上的新版本 Kubernetes 之前,检查是否一切正常。事实上,如果你认真对待 Kubernetes 及其带来的好处,那么集群升级是不可避免的。所以,做好计划并执行。
4. 可移动组件
虚拟化是一个很常见的抽象概念,一个我们经常使用的抽象产品,而当有人提到“机器”或“服务器”时,他们很可能指的是虚拟机。对于应用来说,Kubernetes 极有可能成为新的标准基片。一个新的抽象层次,将成为新的常态。然而,对于虚拟机,由于大多数大型系统都标准化于 Linux 的 KVM 技术,它在很大程度上是操作系统层的一部分。尽管涉及到其他组件,但它们的级别相当低。它与 Kubernetes 非常不同,Kubernetes 中有十几个服务在一组机器之间相互通信,处理相当复杂的计算、存储、网络和自动伸缩功能。
当问题出现时,有时我们往往会深入研究 Kubernetes 去搞明白出了什么问题。 其实我们只需要假设 Kubernetes 使用的所有这些组件的不同版本在某种程度上相互协调,至少这是云提供商给我们做了保障的。
5. 留住 Kubernetes 人才
如果你渴望大力使用 Kubernetes,但可用人力却很少,就表示这样做是有风险的。如果 Kubernetes 对你的项目有价值,那么让整个 DevOps 团队在 Kubernetes 上进行培训或自我培训是非常有必要的。毕竟,开发者也希望通过培训的机会,掌握一项炙手可热的技术。
从安全的角度来说,重要的是要有一个能够很好地处理 Kubernetes 的团队,这样才能保证在某个关键的 Kubernetes 员工离开后,你的 Kubernetes 项目还能保持连续性。
一份好的计划会充分考虑清楚风险,以上就是使用 Kubernetes 策略可能遇到的陷阱,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论