Connectors CSI Driver
目录
概述快速开始1. 创建 ConnectorClass2. 创建 Connector3. 创建使用 CSI Driver 的 Pod内置配置CSI 卷参数配置文件渲染可用变量内置函数关于代理服务配置示例概述
Connectors CSI Driver 是一个基于 Container Storage Interface (CSI) 规范实现的存储驱动程序。它可以将 Connector 中的配置挂载为卷到 Kubernetes 工作负载中。主要特性包括:
- 将 Connector 中的配置文件挂载到 Pod
- 支持在配置文件中进行动态变量渲染,以自动注入运行时信息
- 支持同时挂载多个配置文件
所有配置数据都来自与 Connector 关联的 ConnectorClass 配置。
快速开始
1. 创建 ConnectorClass
首先,创建一个包含 Git 配置的 ConnectorClass:
2. 创建 Connector
然后,创建一个连接到 GitHub 的 Connector:
3. 创建使用 CSI Driver 的 Pod
创建一个挂载配置的 Pod:
验证已挂载的文件:
内置配置
CSI Driver 会自动提供始终挂载到 Pod 中的内置配置文件。
正向代理用法:
反向代理用法:
CSI 卷参数
卷参数
卷属性
示例
挂载单个配置:
挂载多个配置:
注意:
- 如果省略
configuration.names,则只会挂载内置配置 - 当多个配置包含同名文件时,后面的配置会覆盖前面的配置
配置文件渲染
CSI Driver 在挂载配置文件时会执行变量渲染,使用 Go template 语法。
可用变量
内置函数
支持的函数请参见 sprig
例如:b64enc:字符串的 Base64 编码
关于代理服务
Connectors 为每个 Connector 提供一个代理服务,使客户端能够访问目标资源,而无需保存原始凭据。更多详细信息,请参见 connectors-proxy。
配置示例
固定内容
使用 connector.spec.params
以下 ConnectorClass 定义了一个参数 sslVerify,用于控制 git clone 期间的 SSL 验证。
使用代理服务和令牌
以下 ConnectorClass 提供了一个名为 .gitconfig 的文件,它会在 git clone 期间通过使用代理服务和令牌自动注入请求头并替换 git URL。