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