You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
存储
使用 FSXSet 实现客户端差异化配置
复制全文
下载 pdf
使用 FSXSet 实现客户端差异化配置
FSXSet 是容器服务提供的自定义资源(CRD),用于实现 FSX 客户端的精细化调度与解耦管理。本文介绍如何使用 FSXSet 实现客户端的差异化配置。​
说明​
更多 FSXSet 资源介绍,请参见 FSXSet 资源介绍。​
场景一:节点差异化管理​
场景介绍​
在容器服务集群中,节点池通常由不同规格、用途的 ECS 实例组成,例如:高并发读写需求的智算/GPU 节点、读写频率较低的通用计算节点等。不同规格节点由于承载的业务不同,对 FSX 客户端的资源配额、清理策略及特定能力的诉求也并不一致。因此,如果集群中的所有节点都使用同一套 FSX 客户端配置,会带来以下问题:​
  • 为满足高负载场景的资源需求时,支持将 FSX 客户端的资源(CPU、内存等)调高。但这会同时导致普通节点的资源被额外占用,从而挤占业务的调度容量,造成节点资源浪费。​
  • 需要节省集群整体资源时,可以将 FSX 客户端的资源(CPU、内存等)调低。但这会导致在高并发节点上出现性能瓶颈,为业务带来稳定性风险。​
为了解决上述问题,容器服务集群支持通过“节点标签 + FSXSet 分组”的方式实现节点差异化管理能力,允许基于节点标签将节点划分为不同分组,并为每个分组配置独立的 FSXSet,从而实现不同实例规格使用不同配置的目的。例如:您可以为某类节点(智算、GPU 节点)配置专属标签,将其固定到对应分组,再在该分组的 FSXSet 中调高 FSX 客户端的资源配额或关键参数。同时,其他未配置专属标签的节点会自动归属于系统默认分组,继续使用更轻量的默认配置。​
​​​
前提条件​
  • 已安装 csi-fsx 组件,并升级至 v1.0.0 及以上版本。详情请参见 csi-fsx。​
  • (可选)已通过 kubectl 连接目标集群。具体操作说明,请参见 连接集群。​
操作步骤​
说明​
本文以面向集群中的 GPU 节点配置专属 FSXSet 为例,介绍如何使用 FSXSet 实现不同节点的 FSX 客户端差异化管理。​
步骤一:创建专属配置​
当您在集群中安装 fsxset-controller 组件后,系统会自动同步安装 FSXSet 自定义资源,并生成默认配置。详情请参见 FSXSet 资源介绍。因此,需要为 GPU 节点创建 FSXSet 专属配置,并针对性地调高资源配置。​
​
通过控制台配置
通过 kubectl 配置
​
  1. 在左侧导航栏中,选择 集群,单击目标集群名称,进入集群管理页面。​
  1. 在左侧导航栏中,选择 组件管理,并选择 存储 页签。​
  1. 单击 csi-fsx 组件卡片右下角的... > 客户端配置。完成 GPU 节点专属客户端配置。包括:​
  • FSXSet 标签值:指定节点的标签值为,本例中为 gpu,表示 GPU 节点的专属配置。​
  • 资源配置:根据节点的性能需求,配置 FSX 客户端容器的 CPU 和内存的请求值和上限值。​
说明​
  • 更多配置详情和参数解释,请参见 csi-fsx。​
  • 本例中的 FSX 客户端资源配置仅为示例,实际配置时请根据节点规格和您的业务合理选择。​
  • ​​​
  1. 单击 确定,完成配置。​
​
步骤二:为节点添加标签​
​
通过节点池批量添加标签
手工为节点添加标签
​
注意​
  • 更新节点池上的节点标签,仅对后续扩容出的新节点生效,存量节点的标签不受影响。如有存量节点更新需求,请手工为存量节点添加对应的标签。​
  • 待添加标签的节点上,需要保证无存量的 FSX 客户端 Pod 存在。​
  1. 在左侧导航栏中,选择 节点管理 > 节点池。​
  1. 在节点池列表中选择目标节点池,单击 操作 栏中的 编辑。​
  1. 在 高级 配置中,单击 添加标签,在弹出的标签编辑框中,新增如下标签键值对:​
  • 键:固定键名为fsx.csi.volcengine.com/group。​
  • 值:输入 FSXSet 配置中的自定义标签值,本例中为gpu。​
  • ​​​
  1. 单击 确定,完成配置。​
​
结果验证​
配置完成后,您可以在集群使用 FSX 挂载存储卷,验证不同节点中 FSX 客户端的配置是否符合预期。​
  1. 在集群中创建工作负载,并使用 FSX 挂载存储卷。以挂载 TOS 静态存储卷为例,详情请参见 通过 FSX 客户端使用 TOS 静态存储卷。​
  1. 执行以下命令,查看 FSXSet 资源详情。​
  • ​
    kubectl get fsxset fsxset-gpu​
    ​
  • 预期结果如下,DESIRED和READY等于目标节点数,表示对应 GPU 节点中的 FSX 客户端已创建。​
  • ​
    NAME GROUP DESIREDREVISION DESIRED CURRENT READY AVAILABLE UPDATED MATCHED AGE​
    default default 3f2d716d885**** 5 5 5 5 5 5 19m​
    fsxset-gpu gpu 8dec430c7ed**** 2 2 2 2 2 2 17m​
    ​
  1. 执行以下命令,确认 FSX 客户端已在目标节点上运行。其中,fsxset-gpu为 FSXSet 资源名称。​
  • ​
    kubectl get pods -n kube-system -l addon.vke.volcengine.com/fsxset=fsxset-gpu -o wide​
    ​
  • 预期结果如下。​
  • ​
    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES​
    fsx-agent-fsxset-gpu-2m*** 1/1 Running 0 8m25s 192.168.1.39 192.168.1.39 <none> <none>​
    fsx-agent-fsxset-gpu-kg*** 1/1 Running 0 8m25s 192.168.2.242 192.168.2.242 <none> <none>​
    ​
场景二:POC 环境隔离​
场景介绍​
当集群进入稳定运行后,运维团队往往仍然需要持续验证并更新 FSX 客户端的新版本(例如:引入新特性或修复问题),并在真实业务负载下观察挂载/卸载以及读写表现。实践中通常需要在版本稳定性与功能演进之间取得平衡。一方面,生产环境需要优先保障存储挂载链路的稳定,避免因客户端版本变化引入兼容性、性能或可用性风险;另一方面,业务也需要及时验证新版本带来的功能增强、问题修复或性能优化,避免长期停留在旧版本导致能力演进受限。​
为了解决稳定运行与新特性验证之间的矛盾,容器服务集群支持通过“节点标签 + FSXSet 分组”的方式在同一集群内实现物理层面的环境隔离。即将少量节点指定为 POC 环境,仅在这些节点上运行新版本的 FSX 客户端;生产环境其余节点继续运行稳定版本,两套环境并行但相互隔离。在 POC 环境中完成业务负载下的挂载/卸载与读写验证后,再逐步扩大 POC 范围或推进分批升级。若 POC 结果不符合预期,只需将 POC 节点恢复到原分组即可回退到旧版本,生产环境不受影响。​
​​​
前提条件​
  • 已安装 csi-fsx 组件,并升级至 v1.0.0 及以上版本。详情请参见 csi-fsx。​
  • (可选)已通过 kubectl 连接目标集群。具体操作说明,请参见 连接集群。​
操作步骤​
步骤一:创建专属配置​
当您在集群中安装 fsxset-controller 组件后,系统会自动同步安装 FSXSet 自定义资源,并生成默认配置。详情请参见 FSXSet 资源介绍。因此,需要为 POC 节点创建 FSXSet 专属配置,并指定需要验证的版本。​
​
通过控制台配置
通过 kubectl 配置
​
  1. 在左侧导航栏中,选择 集群,单击目标集群名称,进入集群管理页面。​
  1. 在左侧导航栏中,选择 组件管理,并选择 存储 页签。​
  1. 单击 csi-fsx 组件卡片右下角的... > 客户端配置。在 客户端镜像 中选择需要进行 POC 验证的版本。​
说明​
更多配置详情和参数解释,请参见 csi-fsx。​
  • ​​​
  1. 单击 确定,完成配置。​
​
步骤二:为节点添加标签​
​
通过节点池批量添加标签
手工为节点添加标签
​
注意​
  • 更新节点池上的 ECS 实例标签,仅对后续扩容出的新节点生效,存量节点的标签不受影响。如有需求,请手工为存量节点添加标签。​
  • 待添加标签的节点上,需要无存量的 FSX 客户端 Pod 存在。​
  1. 在左侧导航栏中,选择 节点管理 > 节点池。​
  1. 在节点池列表中选择目标节点池,单击 操作 栏中的 编辑。​
  1. 在 高级 配置中,单击 添加标签,在弹出的标签编辑框中,新增如下标签键值对:​
  • 键:固定键名为fsx.csi.volcengine.com/group。​
  • 值:输入 FSXSet 配置中的自定义标签值,本例中为gpu。​
  • ​​​
  1. 单击 确定,完成配置。​
​
结果验证​
配置完成后,您可以在集群使用 FSX 挂载存储卷,验证不同节点中 FSX 客户端的配置是否符合预期。​
  1. 在集群中创建工作负载,并使用 FSX 挂载存储卷。以挂载 TOS 静态存储卷为例,详情请参见 通过 FSX 客户端使用 TOS 静态存储卷。​
  1. 执行以下命令,查看 FSXSet 资源详情。​
  • ​
    kubectl get fsxset fsxset-poc​
    ​
  • 预期结果如下,DESIRED和READY 等于目标节点数,表示对应 POC 节点中的 FSX 客户端已创建。​
  • ​
    NAME GROUP DESIREDREVISION DESIRED CURRENT READY AVAILABLE UPDATED MATCHED AGE​
    default default 3f2d716d885**** 5 5 5 5 5 5 19m​
    fsxset-poc poc 8dec430c7ed**** 2 2 2 2 2 2 17m​
    ​
  1. 执行以下命令,确认 FSX 客户端已在目标节点上运行。其中,fsxset-gpu为 FSXSet 资源名称。​
  • ​
    kubectl get pods -n kube-system -l addon.vke.volcengine.com/fsxset=fsxset-poc -o wide​
    ​
  • 预期结果如下。​
  • ​
    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES​
    fsx-agent-fsxset-poc-2m*** 1/1 Running 0 8m25s 192.168.1.39 192.168.1.39 <none> <none>​
    fsx-agent-fsxset-poc-kg*** 1/1 Running 0 8m25s 192.168.2.242 192.168.2.242 <none> <none>​
    ​
后续配置​
POC 业务验证​
完成配置后,建议在 POC 节点上运行真实业务负载,重点观察新版本 FSX 客户端在实际业务场景中的表现。验证时,建议重点关注以下内容:​
  • 挂载和卸载是否正常,耗时是否符合预期。​
  • 业务读写链路是否稳定,是否出现明显的延迟抖动、吞吐下降或错误率升高。​
  • 客户端日志、监控指标和业务侧告警是否存在异常。​
  • 与生产环境稳定版本相比,是否存在行为差异或兼容性问题。​
如果有条件,建议在 POC 环境中覆盖典型高峰流量、批量挂载和异常恢复等关键场景,以提高验证结论的可靠性。​
说明​
您可以在集群中开启云原生观测和 CSI 存储观测功能,确认相关指标是否正常。详情请参见 CSI 存储观测。​
POC 通过后升级​
如果 POC 验证结果符合预期,建议将生产环境和 POC 环境分别对应到两个范围相对固定的 FSXSet 分组中,并长期维护这两个分组的版本配置。​
在这种模式下,生产环境分组用于承载线上稳定业务,默认使用已验证的稳定版本;POC 分组用于承载新版本验证,默认使用待验证版本。完成验证后,您可以将生产环境分组对应的 FSXSet 版本更新为已通过验证的版本,从而完成线上升级。升级过程中,建议持续观察 FSXSet 状态、客户端 Pod 状态以及业务侧挂载、读写和监控指标,确认生产环境运行稳定。​
POC 失败回退​
如果 POC 验证未通过,建议直接将 POC 分组对应的 FSXSet 版本恢复为原稳定版本,而不是通过持续扩大 POC 分组的节点范围来推进升级。这样可以保持生产环境与 POC 环境的边界稳定,降低版本验证失败时的回退复杂度,并减少对线上业务的影响。​
最近更新时间:2026.07.24 14:54:19
这个页面对您有帮助吗?
有用
有用
无用
无用