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

容器服务

复制全文
下载 pdf
存储
使用 FSXSet 实现客户端按需创建
复制全文
下载 pdf
使用 FSXSet 实现客户端按需创建
FSXSet 是容器服务提供的自定义资源(CRD),用于实现 FSX 客户端的精细化调度与解耦管理。本文介绍如何使用 FSXSet 实现客户端的按需创建。​
说明​
更多 FSXSet 资源介绍,请参见 FSXSet 资源介绍。​
场景介绍​
在容器服务集群中,FSX 客户端会运行在使用集群节点上,并持续占用节点的 CPU、内存等资源。在部分场景下,还会进一步申请 vRDMA、ENI 等稀缺资源。因此,FSX 客户端的创建时机需要在业务启动效率与节点资源占用之间做取舍,在节点规模较大、业务分布不均或节点池频繁弹性扩缩容的场景下尤为重要。​
容器服务集群提供了如下几种客户端创建策略,可根据业务对资源效率和启动时延的偏好进行选择。​
​
创建策略​
策略说明​
主要问题​
适用场景​
按需创建(WaitForFirstConsumer)​
节点上首次部署依赖的业务时,才会创建 FSX 客户端。​
业务 Pod 首次调度到节点时,必须等待 FSX 客户端创建并初始化完成后才能挂载 FSX 存储卷。这会导致业务启动时间变长,在节点池频繁弹性扩容且业务对启动速度敏感的场景下尤为明显。​
适用于只有少量节点使用 FSX 存储卷,或者节点规模较大、希望尽量降低额外资源占用的场景。一般作为通用场景下的默认选择。​
注意​
跨租户挂载场景下,必须使用该策略。​
立即创建(Immediate)​
FSXSet 选择范围内的节点将立即创建 FSX 客户端。​
即使节点上没有任何业务依赖 FSX,也会常驻 FSX 客户端,持续消耗节点的调度容量,在资源紧张或成本敏感的集群中可能挤占业务 Pod 的可用资源。​
适用于节点池经常发生弹性扩容,且业务对新节点启动速度非常敏感(如在线推理、实时任务等)的场景。​
​
​​​
前提条件​
  • 已安装 csi-fsx 组件,并升级至 v1.0.0 及以上版本。详情请参见 csi-fsx。​
  • (可选)已通过 kubectl 连接目标集群。具体操作说明,请参见 连接集群。​
场景一:按需创建​
操作步骤​
创建或更新 FSXSet 配置时,使用createMode参数指定 FSX 客户端的创建策略。配置代码示例如下:​
​
apiVersion: csi.vke.volcengine.com/v1alpha1​
kind: FSXSet​
metadata:​
name: doc-demo # FSXSet 资源名称​
spec:​
groupName: doc​
createMode: WaitForFirstConsumer # FSX 客户端创建策略,本例中取值为 WaitForFirstConsumer,表示按需创建​
template:​
parameterTemplate:​
image: vke-cn-beijing.cr.volces.com/vke/fsx-agent:v1.3.4.286​
resources:​
requests:​
cpu: 100m​
memory: 128Mi​
limits:​
cpu: 2000m​
memory: 2Gi​
​
结果验证​
  1. 创建节点池,并基于fsx.csi.volcengine.com/group=doc将节点归属于当前分组后。执行以下命令,查看集群中的 FSX 客户端概要信息。​
  • ​
    kubectl get fsxset -o wide​
    ​
  • 预期结果如下,由于遵循了按需创建(WaitForFirstConsumer)策略,集群中不存在已创建的 FSX 客户端。​
  • ​
    NAME GROUP DESIREDREVISION DESIRED CURRENT READY AVAILABLE UPDATED MATCHED AGE​
    default default 3f2d716d885**** 78m​
    doc-demo doc 8dec430c7ed**** 39m​
    ​
  1. 创建业务 Pod 并挂载 FSX 存储卷。以挂载 TOS 静态存储卷为例,详情请参见 通过 FSX 客户端使用 TOS 静态存储卷。​
  1. 再次执行以下命令,查看集群中的 FSX 客户端信息。​
  • ​
    kubectl get fsxset -o wide​
    ​
  • 预期结果如下,对应节点中的 FSX 客户端已创建。​
  • ​
    NAME GROUP DESIREDREVISION DESIRED CURRENT READY AVAILABLE UPDATED MATCHED AGE​
    default default 3f2d716d885**** 78m​
    doc-demo doc 8dec430c7ed**** 1 1 1 1 1 1 39m​
    ​
  1. 执行以下命令,查看集群中的 FSX 客户端详情。其中,doc-demo为 FSXSet 资源名称。​
  • ​
    kubectl get pod -n kube-system -l addon.vke.volcengine.com/fsxset=doc-demo --show-labels​
    ​
  • 预期结果如下,可以查看已创建的 FSX 客户端。​
  • ​
    NAME READY STATUS RESTARTS AGE LABELS​
    fsx-agent-doc-demo-d5*** 1/1 Running 0 2m33s addon.vke.volcengine.com/fsxset-revision=b5e31ff826***,addon.vke.volcengine.com/fsxset=doc-demo,app.kubernetes.io/instance=fsx-agent,app.kubernetes.io/managed-by=fsxset,app.kubernetes.io/name=agent,app.kubernetes.io/node=192.168.2.246,app.kubernetes.io/version=v1.3.4.286,container-image.agent.fsx/tag=v1.3.4.286​
    ​
场景二:立即创建​
操作步骤​
创建或更新 FSXSet 配置时,使用createMode参数指定 FSX 客户端的创建策略。配置代码示例如下:​
​
apiVersion: csi.vke.volcengine.com/v1alpha1​
kind: FSXSet​
metadata:​
name: doc-demo # FSXSet 资源名称​
spec:​
groupName: doc​
createMode: WaitForFirstConsumer # FSX 客户端创建策略,本例中取值为 Immediate,表示节点归属后立即创建 FSX 客户端​
template:​
parameterTemplate:​
image: vke-cn-beijing.cr.volces.com/vke/fsx-agent:v1.3.4.286​
resources:​
requests:​
cpu: 100m​
memory: 128Mi​
limits:​
cpu: 2000m​
memory: 2Gi​
​
结果验证​
  1. 创建节点池,并基于fsx.csi.volcengine.com/group=doc将节点归属于当前分组后。执行以下命令,查看集群中的 FSX 客户端概要信息。​
  • ​
    kubectl get fsxset -o wide​
    ​
  • 预期结果如下,由于遵循了立即创建(Immediate)策略,节点池中的所有节点(本例中为 4 个)均已经完成 FSX 客户端创建。​
  • ​
    NAME GROUP DESIREDREVISION DESIRED CURRENT READY AVAILABLE UPDATED MATCHED AGE​
    default default 3f2d716d885**** 78m​
    doc-demo doc 8dec430c7ed**** 4 4 4 4 4 4 39m​
    ​
  1. 执行以下命令,查看集群中的 FSX 客户端详情。其中,doc-demo为 FSXSet 资源名称。​
  • ​
    kubectl get pod -n kube-system -l addon.vke.volcengine.com/fsxset=doc-demo --show-labels​
    ​
  • 预期结果如下,可以查看已创建的所有 FSX 客户端。​
  • ​
    NAME READY STATUS RESTARTS AGE LABELS​
    fsx-agent-doc-demo-cj*** 1/1 Running 0 76s addon.vke.volcengine.com/fsxset-revision=6c356a68629c9591,addon.vke.volcengine.com/fsxset=doc-demo,app.kubernetes.io/instance=fsx-agent,app.kubernetes.io/managed-by=fsxset,app.kubernetes.io/name=agent,app.kubernetes.io/node=192.168.1.58,app.kubernetes.io/version=v1.3.4.286,container-image.agent.fsx/tag=v1.3.4.286​
    fsx-agent-doc-demo-d5*** 1/1 Running 0 3m43s addon.vke.volcengine.com/fsxset-revision=b5e31ff826ab03c2,addon.vke.volcengine.com/fsxset=doc-demo,app.kubernetes.io/instance=fsx-agent,app.kubernetes.io/managed-by=fsxset,app.kubernetes.io/name=agent,app.kubernetes.io/node=192.168.2.246,app.kubernetes.io/version=v1.3.4.286,container-image.agent.fsx/tag=v1.3.4.286​
    fsx-agent-doc-demo-pz*** 1/1 Running 0 7m28s addon.vke.volcengine.com/fsxset-revision=b5e31ff826ab03c2,addon.vke.volcengine.com/fsxset=doc-demo,app.kubernetes.io/instance=fsx-agent,app.kubernetes.io/managed-by=fsxset,app.kubernetes.io/name=agent,app.kubernetes.io/node=192.168.1.45,app.kubernetes.io/version=v1.3.4.286,container-image.agent.fsx/tag=v1.3.4.286​
    fsx-agent-doc-demo-zg*** 1/1 Running 0 5m25s addon.vke.volcengine.com/fsxset-revision=b5e31ff826ab03c2,addon.vke.volcengine.com/fsxset=doc-demo,app.kubernetes.io/instance=fsx-agent,app.kubernetes.io/managed-by=fsxset,app.kubernetes.io/name=agent,app.kubernetes.io/node=192.168.2.253,app.kubernetes.io/version=v1.3.4.286,container-image.agent.fsx/tag=v1.3.4.286​
    ​
最近更新时间:2026.07.24 14:54:19
这个页面对您有帮助吗?
有用
有用
无用
无用