我们都知道,Kubernetes是一个开源容器编排引擎,您可以选择在自己的硬件或虚拟机上运行Kubernetes,也可以在本地建立一个计算集群,手动部署Kubernetes。但是,如果选择本地部署,会带来大量的复杂性。Kubernetes的本质是自动化,本意是让部署容器化的应用简单并且高效,这也是Kubernetes存在的***意义。但实际上,对于Kubernetes自身部署来说,却是一件非常困难的事,以至于很多企业更愿意选择在托管的Kubernetes服务上运行容器工作负载。
那么,对于初次使用Kubernetes的企业来说,如果选择租用,应该有哪些注意事项?以下五个关键点,或能带来更多借鉴作用!
1. 通过免费服务***化试用,是一个不错的选择。
大多数Kubernetes服务提供商都提供了不同程度的试用服务,这些试用项无疑是了解Kubernetes的***途径。当然,他们提供的试用版,都是最简单应用。但是,这些免费版提供了各种各样的工具来管理集群,其中一些工具提供了与包不同的特性。考虑到容器编排技术具有快速变化的特点,每个服务提供的功能随时迭代,使用托管服务可能会更有安全感。
2. 了解安装、配置Kubernetes集群以及进行故障排查的方法。
并不是所有服务的主节点都具有高可用性,有些方法要靠我们自己来摸索。另外,每个服务都要提供不同类型的故障诊断工具和性能日志,并不是说要对比哪种方法更好或更差,只是为了确保系统在运行之后不出现意外。
3. 了解高可用性的额外成本。
虽然我们已经定了要选择哪家的Kubernetes,还要让对方以不同的服务方式处理主节点。但是到了生产环境后,我们运行的节点可能会是2个,甚至3个以上,这意味着我们主服务器的收费会更多。
4. 要具有多云环境的管理能力。
使用托管的Kubernetes服务,意味着我们的服务要运行在公有云环境中。比如:使用谷歌的托管Kubernetes,那么我们的节点就会运行在谷歌云中;使用亚马逊的服务,我们的节点会运行在AWS等等。那么,如果我们希望在多个服务上(或混合配置中)运行节点,则需要明确对方是否能够支持。例如:OpenShift或Heptio Kubernetes Subscription (HKS),设置会更加复杂,但是在安全性和容错性方面有很好的优势。
5. 交钥匙工程也是一种选择。
企业可能不愿意将集群的密钥交给云服务提供商,而Stackpoint或Containership Kubernetes Engine (CKE)等交钥匙服务采用“一键式按钮”的方式,在公有云上部署自己的集群,企业可以更称心如意地创建集群。但需要注意的是,企业需要了解维护和排除这类集群故障所涉及的内容,因为在设计上,它的维护和更新方式与托管服务不同。云端运维能力可能决定了这家托管服务提供商是否具备竞争优势,是否能够满足企业特定的需求。
总之,在使用托管的Kubernetes时,我们一定要考察云服务商的综合实力,确保业务的强一致性,并且要保证在使用托管服务时开发的应用,以及用于部署的容器,可以无缝地迁移或者部署到本地。