Kubernetes 的 Linux 系统要求
运行 Kubernetes 集群可能会消耗大量系统资源,具体取决于集群的大小、正在运行的服务、扩展所需的副本数量以及您决定启动哪种类型的集群(例如 kubeadm 或迷你库贝)。不过,小集群可能几乎不消耗任何资源。由于 Kubernetes 集群之间存在很大差异,因此很难确定运行集群的系统要求。
在本教程中,我们将为您提供一些有关在 Linux 系统上运行 Kubernetes 的系统要求的指南。我们不可能涵盖所有场景,但我们至少可以帮助您了解基础知识并了解 Kubernetes 如何消耗系统资源。让我们看看下面一些最有可能的初学者场景。
在本教程中您将学习:
kubeadm、minikube 和 MicroK8s Kubernetes 集群的系统要求
Kubernetes 的 Linux 系统要求
我们将在下面介绍一些不同的场景,让您了解各种 Kubernetes 集群设置的最低系统要求。
kubeadm 最低要求
运行 kubeadm 的最低要求是:
每个节点 2 GB RAM
2个CPU核心或更多
节点之间的网络连接(主节点必须能够与工作节点通信)
每个节点都有唯一的主机名和 MAC 地址(在使用虚拟化节点时很容易意外忽略这一点)
为您计划运行的任何服务打开端口(例如,用于 Web 服务器集群的 HTTP 端口 80)
容器化层(Docker 是最流行的选择)
Linux 机器必须禁用其交换空间
这些硬件规格应该为运行 kubeadm 提供足够的开销,同时仍然留有足够的资源来运行已部署的应用程序。当然,如果您计划扩展大量副本或托管各种不同的应用程序和服务,那么您将需要相应地调整硬件。
您知道吗?
您应该始终监控节点上的 CPU 使用率和 RAM 使用率,以查看是否需要为它们分配更多硬件资源。还可以监控集群中 Pod 的 CPU 和 RAM 使用情况。
minikube 最低要求
minikube 的要求大致相同,但从经验来看,我可以告诉你,它对系统资源的要求比 kubeadm 宽容得多。 Minikube 不是生产就绪的引导程序,更适合测试或学习 Kubernetes。因此,自然地,系统硬件不需要那么强大。
运行 minikube 的最低要求是:
2 GB 内存
2个CPU核心或更多
20 GB 可用磁盘空间
互联网连接(仅在最初运行 minikube 时需要)
容器化层(Docker 是最流行的选择)
Minikube 创建单节点集群,因此您无需担心与其他机器的连接。您只需要满足计划使用 minikube 的主机的系统要求。请记住,您的硬件资源将需要随着您计划在 minikube 中启动的应用程序或副本的数量而扩展。
注意 – 启动 minikube
这里是控制您想要专用于 minikube 的 CPU 和 RAM 的提示。从命令行启动 minikube 时,请使用 --memory
和 --cpus
选项来控制您想让 Kubernetes 使用多少资源。例如:
$ minikube start --driver=docker --memory 6000 --cpus=5
MicroK8s 最低要求
MicroK8s 是可用的最轻的 Kubernetes 部署之一,占用空间非常小。这使得它非常适合部署在边缘设备或轻量级机器(例如 Raspberry Pi 或虚拟机)上。它可以在非常小规模的生产环境中使用,但可能主要因其在开发和测试中的使用而闻名。
运行 MicroK8 的最低要求是:
Ubuntu 或其他可以访问 Snap 包管理器的 Linux 发行版(这是安装 MicroK8s 的唯一方法)
540 MB RAM(最低限度)
互联网连接
虽然 MicroK8s 从技术上讲可以在上面列出的规格上运行,但运行 MicroK8s 的建议系统要求是:
4 GB 内存
20 GB 可用磁盘空间
与任何 Kubernetes 集群一样,您的硬件能力必须随着您计划在 MicroK8 内使用的应用程序和副本的数量而扩展。
结束语
在本教程中,我们了解了在 Linux 系统上运行 Kubernetes 的系统要求。现在您已经了解了 kubeadm、minikube 和 MicroK8s 的硬件要求,您可以决定您的系统能够处理哪一个。这应该是常识,但请始终记住,如果您计划在 Kubernetes 集群中启动大量应用程序或副本,您的硬件必须能够满足更强大的要求。监控您的资源使用情况以确保您有足够的资源。