Kubernetes安装和部署指南,请收下这份关键功能清单!

薛正华 2018-03-20

随着越来越多的企业在生产中使用Kubernetes,有一些关键特性和功能需要使Kubernetes解决方案适用于企业和生产环境。本文提供了Kubernetes安装和部署的关键功能的清单。

Kubernetes安装和部署指南,请收下这份关键功能清单!

使用Kubernetes安装在企业生产环境的准备,就绪意味着你可以在长时间的密集使用情况下,安全地重复部署,管理和维护多个集群。你需要什么来实现这一目标?

Kubernetes部署所需的关键功能

下面是一个清单,解释Kubernetes解决方案对企业和生产准备的意义,这些是需要的关键功能:

Kubernetes安装和部署指南,请收下这份关键功能清单!

1.灵活的部署选项:尽管许多企业都喜欢云部署的简单性,但最终在生产中他们可能希望将其集群托管在自己的硬件上。让他们拥有这种灵活性并在任何他们想要的任何地方部署集群的解决方案都非常重要,它具有统一的管理窗口,使他们能够管理在本地和云中运行的集群。

2.高度可用的控制平面:为确保Kubernetes API始终可用且功能正常,控制平面的高可用性是必要的,因为这是API运行的地方。Kubernetes解决方案对节点故障等问题具有弹性,因此如果主节点停机,则API保持运行状态,这一点非常重要。真正的生产准备要求可以在不中断应用程序和生产计划的情况下升级该控制平面。这也意味着解决方案应该提供一个灾难恢复机制,以防整个控制平面发生故障,并且在灾难发生时能够从备份中恢复。

3.选择性数据平面升级:数据平面也非常重要,因为这是工作节点和实际应用程序的运行环境。Kubernetes解决方案应该能够执行数据平面的滚动升级,以便节点一次从维护中取消。这允许应用程序继续运行并暂停,以便实时重新调度并保持应用程序的高可用性。

4.策略驱动的安全性,大多数企业的另一个重点是安全性,可分为三个关键领域:

  • 安全的容器镜像:用于运行容器的Docker镜像的安全性非常重要,需要确保这些镜像不含恶意软件。有几种技术和工具可以执行这种检查。

  • 多租户访问:希望这些群集可供多个组,团队和用户访问,因此解决方案在集群上启用Kubernetes基于角色的访问控制(RBAC)非常重要。

  • 网络安全:支持Kubernetes网络策略至关重要。网络策略允许指定描述名称空间或应用程序之间允许或不允许的连接类型的规则。这是隔离集群上运行的不同租户的一种方法。

5.支持关键Kubernetes功能,每个生产级部署需要支持的关键Kubernetes功能:

  • 弹性存储:Kubernetes解决方案必须提供可用于支持Pod的数据卷的弹性存储层,因为数据卷对于数据库等有状态应用程序至关重要。

  • 应用负载平衡:在许多情况下,你希望能够将集群上运行的应用程序到外部。能够依靠负载均衡技术是非常重要的,负载均衡可以处理所有传入的流量并将其路由到合适的节点。

6.监控和可见性。监控并了解集群中发生的情况非常重要:

  • 日志收集,聚合和分析:解决方案必须能够收集日志,将它们聚合并使其可用于分析。这使你可以通过在这些日志中执行搜索或查看模式来捕捉各种类型的问题。

  • 网络性能:了解网络流量以解决瓶颈问题或查看网络流量模式至关重要。可以看到哪些应用或哪些服务正在受到请求的爆发,并能够响应这些问题。

  • 应用性能监控:这可确保应用按计划运行,并识别出任何纠正异常。

内部Kubernetes安装具有挑战性

Kubernetes生态系统日益庞大,并且有丰富的开源工具,技术和插件可以让用户将他们自己的Kubernetes解决方案拼凑在一起。然而,这是相当复杂的,特别是配置它以获得最佳性能。

Kubernetes安装和部署指南,请收下这份关键功能清单!

企业在尝试建立生产就绪时采用DIY Kubernetes装置进行这些活动可能会遇到挑战:

部署集群:存在众多的Kubernetes部署工具,包括这些众所周知的开源手段:kops,kubespray,kubicorn,Rancher Kubernetes Engine(RKE)

监控:应用程序使用Prometheus,Sysdig或Datadog,而网络使用Istio

日志:使用Fluentd和ELK Stack

确保HA:这是一个复杂的话题。对于控制平面,kops适合在AWS上安装Kubernetes

多租户:Kubernetes以namespace和RBAC的形式提供多租户。使用网络策略和基于Layer-2的SDN(如Contrail)等技术,网络层也存在MT隔离。另外,像Kata Containers这样的项目可以帮助改善容器/虚拟机级别的租户隔离。

相关推荐