本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Crossplanes GitLab Provider是基于Crossplanes框架构建的云服务提供商(Provider)组件,旨在将GitLab资源纳入Kubernetes控制平面。通过该Provider,用户可使用Kubernetes API以声明式方式定义、部署和管理GitLab资源(如项目、用户、组、CI/CD变量等),实现GitLab资源与Kubernetes生态的无缝集成。
api、read_user、write_repository等,具体权限取决于管理的资源类型)。通过Crossplanes CLI或直接应用Provider清单部署:
# 使用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
确认Provider Pod运行正常:
kubectl get pods -n crossplane-system | grep provider-gitlab
ProviderConfig用于配置GitLab API连接信息,需包含GitLab地址及认证令牌:
apiVersion: gitlab.crossplane.io/v1beta1 kind: ProviderConfig metadata: name: default spec: baseUrl: [***] # 自托管GitLab需替换为实际地址(如[***] credentials: source: Secret secretRef: namespace: crossplane-system name: gitlab-creds key: token
创建包含GitLab API令牌的Kubernetes Secret:
kubectl create secret generic gitlab-creds -n crossplane-system --from-literal=token=your-gitlab-pat-token
以管理GitLab项目为例,创建Kubernetes CR定义项目期望状态:
apiVersion: 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字段:
kubectl get projects.project.gitlab.crossplane.io demo-project -o yaml
| 参数名 | 类型 | 描述 | 默认值 |
|---|---|---|---|
baseUrl | string | GitLab API基础URL(自托管实例需指定,如[***]) | [***] |
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+ |
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429