本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

可用于生产用途集群的检查清单

在本节中,我们推荐创建能够运行您的应用程序和服务的可用于生产用途Kubernetes集群的最佳实践。

有关集群的要求列表,包括操作系统/Docker、硬件和网络的要求,请参阅节点要求部分。

这是我们强烈推荐的所有生产集群的最佳实践的简短列表。

有关我们推荐的所有最佳实践的完整列表,请参阅最佳实践部分

节点要求

  • 确保您的节点满足所有节点要求,包括端口要求。

备份etcd

  • 启用etcd快照。验证快照是否正在创建,并运行灾难恢复场景以验证快照的有效性。etcd是存储集群状态的位置,丢失etcd数据意味着丢失集群。确保为您的集群配置etcd的定期快照,并确保快照也存储在外部(节点外)。

集群架构

  • 节点应具有以下角色配置之一:

    • etcd

    • controlplane

    • etcd`和`controlplane

    • worker(`worker`角色不应在具有`etcd`或`controlplane`角色的节点上使用或添加)

  • 至少有三个具有`etcd`角色的节点,以便在失去一个节点时仍能存活。增加此数量以提高节点容错,并将它们分布在(可用性)区域,以提供更好的容错。

  • 为主组件高可用性分配两个或更多节点具有`controlplane`角色。

  • 为节点故障时的工作负载重新调度分配两个或更多节点具有`worker`角色。

有关每个角色的用途的更多信息,请参阅Kubernetes中节点的角色部分。

有关每个Kubernetes角色所需节点数量的更多信息,请参阅推荐架构部分。

记录和监控

  • 为Kubernetes组件(系统服务)配置警报/通知。

  • 为集群分析和事后分析配置日志记录。

可靠性

  • 对您的集群进行负载测试,以验证其硬件是否能够支持您的工作负载。

网络

  • 最小化低延迟。Rancher建议最小化etcd节点之间的延迟。heartbeat-interval`的默认设置为`500election-timeout`的默认设置为`5000。这些 etcd调优设置允许etcd在大多数网络中运行(除了延迟非常高的网络)。

  • 集群节点应位于同一区域内。大多数云服务提供商在一个区域内提供多个可用区,可以用来为您的集群创建更高的可用性。对于任何角色的节点,使用多个可用区是可以的。如果您使用Kubernetes Cloud Provider资源,请查阅文档以了解任何限制(例如,区域存储限制)。