为企业选择Kubernetes服务时要考虑的六大标准
即将开播:5月14日,Jenkins在K8S下的三种部署流程和实战演示
为什么是Kubernetes?它是一种强大、开放且非专有的应用系统,已被广泛采用,但又提供了很大的灵活性,降低了成本。它可以协调多个主机上的容器,使公司能够实时扩展资源和应用程序,并通过更高效地使用硬件来优化基础架构资源,让公司可以节省资金。
不过有个地方要注意:许多拥抱Kubernetes的企业到头来面临太多孤立的、单独管理的Kubernetes部署系统。这会造成严重的低效率和复杂性,给IT人员带来更大的负担,并使安全合规人员极难管控。企业应料到Kubernetes会广泛采用并积极接受,不过要准备好处理管理、保护和控制孤立的部署系统方面的问题——它们变得对原始团队来说无法处理时更是如此。如果没有统一且一致的方式来管理非破坏性升级、版本控制、高可用性、合规、控制、监督以及全部的管理功能,企业就会发现提高速度和敏捷性的新方法成为额外的负担。
应关注Kubernetes服务中的哪些部分?虽说贵企业的Kubernetes部署系统没有一种完美的算法,但在做出Kubernetes服务方面的决策之前,你应评估以下六大标准。
开放和混合多云:不同的公共云和私有云各有优缺点。为了确保你在需要时始终可以将应用程序放在所需的地方,因而避免锁定问题,要寻找一种中立的开放混合多云解决方案,使你能够更新改造现有的应用程序,并构建新的应用程序。它应该为跨各大云提供商部署、管理和监控企业级Kubernetes集群提供可靠的服务。
集中式指挥和控制:无论操作环境如何,要寻找界面直观的多云仪表板和功能强大的API以管理K8s集群生命周期。它应该使你的开发人员和运维人员可以获得跨公共云、私有云和本地环境都能高效运行所需的灵活性。考虑集中式RBAC和访问管理的重要性,以及用详细的审核日志功能查询活动的功能,这有助于改进管理决策和合规操作。你应该能够从直观的仪表板实时查看和调试应用程序日志。它应支持你在主节点上调度工作负载的功能,以便充分利用可用资源,并在小型环境中提高效率。一致、集中式的指挥和控制有助于加快关键应用程序的开发。
端到端部署:寻找可通过内置的、与云无关的、CNCF认证的企业级Kubernetes发行版,端到端管理Kubernetes部署系统的服务。它应部署纯粹的上游Kubernetes,无需任何专有定制,并支持最新的稳定版,以便你可以将其他工具快速顺畅地集成到自己的生态系统中。
高可用性Kubernetes集群:K8s服务应该让你在需要时,只需点击几下鼠标,即可跨可用区配置高可用性Kubernetes集群,并拥有集中式用户访问、控制和日志功能。部署的集群应支持自我修复、非破坏性升级,并根据需求扩大和缩小规模,而集成的智能自动扩展可降低成本,并缩短贵企业运营的停运时间。此外,环境应与业界领先的云原生工具集成起来,包括Prometheus、Calico、Istio和KNative。
治理和合规遵从:确保你的Kubernetes服务有统一的仪表板,以实现集中管理和集中审查的策略(治理)。能够控制应用程序和数据,并确定数据中心、地理位置或托管服务提供商中的着陆区(landing zone),意味着开发人员可以构建数据流管道,从而限制违反合规或法规要求的能力。你需要集中式监控和警报机制,以便贵企业的运营团队可以改善(缩短)响应时间和恢复时间。
其他关键功能:寻找能够添加GPU实例、抢占式实例和竞价型实例的选项,以及在主节点上调度工作负载以利用可用资源的功能。执行滚动式工作负载更新以确保最长正常运行时间的功能至关重要,从公共或私有容器注册中心无缝地部署应用程序,并通过自动同步的SSH密钥管理控制集群节点访问的功能也至关重要。
Kubernetes成为企业级容器、集群和DevOps环境的事实上的标准有很多原因。你应该确保所选择的Kubernetes服务将帮助贵企业加快采用云原生基础架构,在遵循行业最佳实践的同时完全支持你的多云策略。
它应该使你能更好地控制云支出、优化现有资源以及为开发人员和运维人员提供协作式环境。它应该通过集中控制来提高效率,同时仍支持各部门的部署——通过强行使用唯一获批准的发行版本来提供一种确保安全和合规的实用方法。