ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Argo Workflows 中的 AzureDiskVolumeSource:在 Workflow 中挂载 Azure 数据盘的字段详解与使用指南

Argo Workflows 中的 AzureDiskVolumeSource:在 Workflow 中挂载 Azure 数据盘的字段详解与使用指南 Argo Workflows 中的 AzureDiskVolumeSource在 Workflow 中挂载 Azure 数据盘的字段详解与使用指南【免费下载链接】argo-workflowsWorkflow Engine for Kubernetes项目地址: https://gitcode.com/gh_mirrors/ar/argo-workflows本篇指南围绕 Argo Workflows 的卷Volume配置体系中的azureDisk字段展开详细解析AzureDiskVolumeSource这一源自 Kubernetes core/v1 API 的数据结构在 Workflow 定义中的全部字段、默认值与约束。读完本文你将能够在 Argo Workflows 的 Workflow 清单中正确声明 Azure 数据盘卷、理解各字段的语义与隐式默认值并掌握该字段在 Kubernetes 生态中已进入弃用状态后的迁移方向。AzureDiskVolumeSource 在 Argo Workflows 中的定位Argo Workflows 的 Workflow 清单允许为任务 Pod 声明任意 Kubernetes 卷。其中spec.volumes[].azureDisk字段对应的就是AzureDiskVolumeSource类型其官方语义为AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.也就是说它描述的是将一块 Azure 数据盘挂载到宿主机再以 bind mount 方式绑定到 Pod的卷来源。该字段直接引用了 Kubernetes 核心 v1 类型io.k8s.api.core.v1.AzureDiskVolumeSource这一点可以在仓库的 JSON Schema 定义 中确认azureDisk字段以$ref指向#/definitions/io.k8s.api.core.v1.AzureDiskVolumeSource。该类型在 Argo Workflows 中出现在多个环节Workflow / WorkflowTemplate / ClusterWorkflowTemplate / CronWorkflow的spec.volumes中用于为任务 Pod 声明卷字段参考文档docs/fields.md 中azureDisk被列为AzureDiskVolumeSource类型executor swagger 文档docs/executor_swagger.md 中同样收录了该结构体及其属性表。字段完整参考表AzureDiskVolumeSource共包含 6 个字段其中diskName与diskURI为必填项其余均为可选。以下表格完整覆盖原文档内容并补充了默认值与必需性标注默认值与必需项依据仓库中的 CRD 定义确认字段名类型是否必填默认值描述cachingModeString可选无由 Azure 平台决定主机缓存Host Caching模式None、Read Only、Read Write。diskNameString必填无数据盘在 Blob 存储中的名称Name of the data disk in the blob storage。diskURIString必填无数据盘在 Blob 存储中的 URIURI of data disk in the blob storage。fsTypeString可选ext4挂载使用的文件系统类型必须是宿主机操作系统支持的类型例如ext4、xfs、ntfs未指定时隐式推断为ext4。kindString可选shared磁盘类型可选值为Shared每个存储账户多个 blob 磁盘、Dedicated每个存储账户单个 blob 磁盘、ManagedAzure 托管数据盘仅用于托管可用性集。readOnlyBoolean可选false是否只读挂载默认false读写置为true时会强制 VolumeMount 中的 ReadOnly 设置。说明以上必填/默认值信息在原文档中仅以[optional]标注仓库中的 CRD 定义则进一步明确diskName、diskURI被列入required列表fsType默认ext4、readOnly默认false详见 argoproj.io_workflows.yaml 中的azureDisk属性定义。逐字段语义详解cachingMode主机缓存模式cachingMode控制宿主机对磁盘 I/O 的缓存策略可选值严格限定为三种None不缓存、Read Only只读缓存、Read Write读写缓存。该字段对应 Kubernetes 中AzureDataDiskCachingMode枚举类型见 docs/executor_swagger.md 中的类型标注。对于写入频繁或对数据一致性要求高的场景应谨慎选择缓存模式。diskName 与 diskURI必填的磁盘标识diskName数据盘在 Azure Blob 存储中的名称用于标识具体的 VHD 文件diskURI该数据盘在 Blob 存储中的完整 URI即 VHD 的访问地址。两者共同唯一确定一块磁盘是声明azureDisk卷时必须同时提供的两个字段缺少任何一个都会导致卷定义校验失败。fsType文件系统类型fsType指定挂载到容器中的文件系统类型取值必须被宿主机操作系统支持常见如ext4、xfs、ntfs。当该字段缺省时系统会隐式推断为ext4——这一默认行为同时出现在 CRD 的default: ext4声明与字段描述中。kind磁盘类型kind的合法值及含义如下取值含义Shared每个存储账户包含多个 blob 磁盘Dedicated每个存储账户仅包含单个 blob 磁盘ManagedAzure 托管数据盘仅适用于托管可用性集默认值为shared即未显式声明时按Shared处理。注意文档描述中该默认值为小写shared而合法取值枚举为大写形式实际使用时应参考 Kubernetes 对该枚举的解析规则建议显式使用枚举值以避免歧义。readOnly只读挂载readOnly默认false表示以读写方式挂载。当设置为true时会强制将对应的volumeMounts视为只读——即该字段会覆盖并强制VolumeMount中的只读设置即使 mount 声明为读写也无效。在 Workflow 中声明 azureDisk 卷在 Argo Workflows 中azureDisk卷与其他卷类型一样声明在spec.volumes下并通过任务模板的volumeMounts挂载到容器。以下是一个完整的 Workflow 示例基于上述字段语义构造的示意清单展示全部字段的用法apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: azure-disk-example- spec: entrypoint: main volumes: - name: azure-data azureDisk: diskName: mydata.vhd diskURI: https://storage-account.blob.core.windows.net/vhds/mydata.vhd cachingMode: Read Only fsType: ext4 kind: Managed readOnly: true templates: - name: main container: image: alpine:3.20 command: [sh, -c, ls /data sleep 3600] volumeMounts: - name: azure-data mountPath: /data该清单中azureDisk段的字段与上文表格一一对应diskName、diskURI必填cachingMode、fsType、kind、readOnly均为可选且带有各自的默认行为。关于卷的更多通用用法如其他卷类型、emptyDir、PVC 等可参阅 docs/fields.md 中volumes一节该文档对 Argo Workflows 支持的全部卷来源类型做了逐字段索引。重要提示in-tree azureDisk 已弃用在声明与使用azureDisk卷之前需要特别留意仓库文档与 CRD 中反复出现的弃用声明。CRD 中azureDisk的官方描述为Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.即 Kubernetes 内置in-tree的azureDisk卷类型已进入弃用状态其全部操作已被重定向至disk.csi.azure.comCSI 驱动。这一弃用声明同时存在于 docs/fields.md、api/jsonschema/schema.json 以及各 CRD 清单如 argoproj.io_workflows.yaml中因此存量清单已在使用的azureDisk卷仍可继续工作但不应再作为新工作负载的默认选择新建工作负载建议迁移到基于disk.csi.azure.com的 CSI 卷声明通过存储类StorageClass动态或静态供给 Azure 磁盘以获得长期支持与更完整的存储能力。相关资源索引如需进一步深入可在当前仓库中查看以下资源字段参考文档AzureDiskVolumeSource 章节azureDisk字段与类型的一站式索引CRD 定义azureDisk 属性段diskName/diskURI必填约束与fsType/readOnly默认值的权威来源JSON Schema 定义azureDisk与 Kubernetes core/v1 类型的$ref对应关系executor swagger 文档AzureDiskVolumeSource 章节含 Go 类型映射与可选字段默认值说明。【免费下载链接】argo-workflowsWorkflow Engine for Kubernetes项目地址: https://gitcode.com/gh_mirrors/ar/argo-workflows创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表