
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Crossplanes GitLab Provider是基于Crossplanes框架构建的云服务提供商(Provider)组件,旨在将GitLab资源纳入Kubernetes控制平面。通过该Provider,用户可使用Kubernetes API以声明式方式定义、部署和管理GitLab资源(如项目、用户、组、CI/CD变量等),实现GitLab资源与Kubernetes生态的无缝集成。
api、read_user、write_repository等,具体权限取决于管理的资源类型)。1. 安装Provider CRD
通过Crossplanes CLI或直接应用Provider清单部署:
bash# 使用Crossplanes CLI安装(推荐) kubectl crossplane install provider crossplane/provider-gitlab:v0.1.0 # 或直接应用Provider YAML kubectl apply -f - <<EOF apiVersion: pkg.crossplane.io/v1 kind: Provider metadata: name: provider-gitlab spec: package: crossplane/provider-gitlab:v0.1.0 EOF
2. 验证Provider部署
确认Provider Pod运行正常:
bashkubectl get pods -n crossplane-system | grep provider-gitlab
1. 创建ProviderConfig
ProviderConfig用于配置GitLab API连接信息,需包含GitLab地址及认证令牌:
yamlapiVersion: gitlab.crossplane.io/v1beta1 kind: ProviderConfig metadata: name: default spec: baseUrl: https://gitlab.com/api/v4 # 自托管GitLab需替换为实际地址(如https://gitlab.example.com/api/v4) credentials: source: Secret secretRef: namespace: crossplane-system name: gitlab-creds key: token
2. 创建认证密钥
创建包含GitLab API令牌的Kubernetes Secret:
bashkubectl create secret generic gitlab-creds -n crossplane-system --from-literal=token=your-gitlab-pat-token
以管理GitLab项目为例,创建Kubernetes CR定义项目期望状态:
示例:创建GitLab项目
yamlapiVersion: project.gitlab.crossplane.io/v1alpha1 kind: Project metadata: name: demo-project spec: forProvider: name: demo-project # GitLab项目名称 path: demo-project # GitLab项目路径(URL中的路径部分) visibility: public # 可见性:public/private/internal description: "Created via Crossplanes GitLab Provider" initializeWithReadme: true # 初始化README文件 mergeRequestsEnabled: true # 启用合并请求 providerConfigRef: name: default # 关联前述ProviderConfig
应用上述CR后,Provider将调用GitLab API创建项目,并同步状态至CR的status.atProvider字段:
bashkubectl get projects.project.gitlab.crossplane.io demo-project -o yaml
| 参数名 | 类型 | 描述 | 默认值 |
|---|---|---|---|
baseUrl | string | GitLab API基础URL(自托管实例需指定,如https://gitlab.example.com/api/v4) | https://gitlab.com/api/v4 |
credentials.secretRef.name | string | 存储GitLab API令牌的Secret名称 | - |
credentials.secretRef.namespace | string | Secret所在命名空间 | crossplane-system |
credentials.secretRef.key | string | Secret中存储令牌的key | token |
所有GitLab资源CR均包含以下通用配置:
spec.forProvider:资源的具体配置字段(因资源类型而异,详见资源API文档)。spec.providerConfigRef:关联的ProviderConfig名称。spec.writeConnectionSecretToRef(可选):将资源连接信息(如项目ID)写入Secret。status.atProvider:资源实际状态字段,由Provider同步自GitLab API。| Crossplanes 版本 | GitLab Provider 版本 | 兼容GitLab API版本 | 兼容Kubernetes版本 |
|---|---|---|---|
| v1.10+ | v0.1.0+ | v4 | v1.21+ |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务