搜索

3.2. OpenShift Container Platform 节点主机的推荐做法

download PDF

OpenShift Container Platform 节点配置文件包含重要的选项,如 iptables 同步周期、SDN 网络的最大传输单元(MTU)和 proxy-mode。要配置节点,请修改适当的节点配置映射

注意

不要直接编辑 node-config.yaml 文件。

节点配置文件允许您将参数传递给 kubelet(节点)过程。您可以通过运行 kubelet --help 来查看可能的选项列表。

注意

并非所有 kubelet 选项都由 OpenShift Container Platform 支持,并在上游 Kubernetes 中使用。这意味着特定的选项处于有限的支持。

注意

如需了解每个 OpenShift Container Platform 版本的最大支持限制,请参阅集群最大限制

/etc/origin/node/node-config.yaml 文件中,两个参数控制可以调度到节点的 pod 的最大数量:pod-per-coremax-pods。当两个选项都被使用时,这两个选项中的较小的限制为节点上的 pod 数量。超过这些值可导致:

  • OpenShift Container Platform 和 Docker 的 CPU 使用率增加。
  • 减慢 pod 调度的速度。
  • 潜在的内存不足情况(取决于节点中的内存量)。
  • 耗尽 IP 地址池。
  • 资源过量使用,导致用户应用程序性能变差。
注意

在 Kubernetes 中,包含单个容器的 pod 实际使用两个容器。第二个容器用来在实际容器启动前设置联网。因此,运行 10 个 pod 的系统实际上会运行 20 个容器。

pods-per-core 根据节点上的处理器内核数来设置节点可运行的 pod 数量。例如,如果将一个有 4 个处理器内核的节点上的 pod-per-core 设置为 10,则该节点上允许的最大 pod 数量为 40。

kubeletArguments:
  pods-per-core:
    - "10"
注意

pods-per-core 设置为 0 可禁用这个限制。

max-pods 把节点可以运行的 pod 数量设置为一个固定值,而不需要考虑节点的属性。集群限制 记录 max-pods 的最大支持值。

kubeletArguments:
  max-pods:
    - "250"

使用上例时,pod-per-core 的默认值为 10max-pods 的默认值为 250。这意味着,除非节点有 25 个或更多内核,否则 pod-per-core 默认是限制因素。

如需了解 OpenShift Container Platform 集群的建议限制,请参阅安装文档中的 大小注意事项 部分。OpenShift Container Platform 和容器引擎协调容器状态更新的建议大小帐户。这种协调会对主机和容器引擎进程造成 CPU 压力,这些压力可包括编写大量日志数据。

kubelet 与 API 服务器进行交互的频率取决于 qps 和 burst 值。如果每个节点上运行的 pod 有限,默认值就足够了。如果节点上有足够 CPU 和内存资源,可以在 /etc/origin/node/node-config.yaml 文件中调整 qps 和 burst 值:

kubeletArguments:
  kube-api-qps:
  - "20"
  kube-api-burst:
  - "40"
注意

以上 qps 和 burst 值是 OpenShift Container Platform 的默认值。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.