
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个测试版本。gitlab2rbac在正式发布前仍在进行最终测试。
gitlab2rbac确保Kubernetes集群用户拥有与GitLab上相同的权限。它以GitLab项目权限为输入,在Kubernetes内部生成RBAC对象。
在使用gitlab2rbac之前,需要满足以下条件:
gitlab2rbac需要命名空间、集群角色和集群角色绑定。通过以下命令创建:
sh$ kubectl apply -f https://raw.githubusercontent.com/numberly/gitlab2rbac/master/deploy/configuration.yaml
然后需要创建包含gitlab2rbac所需信息的ConfigMap:
shcat <<EOF | kubectl create -f - apiVersion: v1 kind: ConfigMap metadata: name: gitlab2rbac namespace: gitlab2rbac data: GITLAB_URL: https://{{ 你的GitLab实例URL }} GITLAB_PRIVATE_TOKEN: {{ 你的GitLab私有令牌 }} KUBERNETES_LOAD_INCLUSTER_CONFIG: "True" EOF
最后应用manifest文件:
sh$ kubectl apply -f https://raw.githubusercontent.com/numberly/gitlab2rbac/master/deploy/gitlab2rbac.yaml
这将把gitlab2rbac部署到集群的gitlab2rbac命名空间下。manifest中的组件包括:
即使不在Kubernetes内部运行,gitlab2rbac也需要存在集群角色的集群。创建方式:
sh$ kubectl apply -f https://raw.githubusercontent.com/numberly/gitlab2rbac/master/deploy/configuration.yaml
然后克隆仓库、安装依赖并运行:
sh$ git clone https://github.com/numberly/gitlab2rbac.git $ cd gitlab2rbac $ virtualenv .venv && source .venv/bin/activate (.venv) $ pip install -r requirements.txt (.venv) $ GITLAB_URL={{ 你的GitLab实例URL }} GITLAB_PRIVATE_TOKEN={{ 你的GitLab私有令牌 }} python gitlab2rbac.py
| 角色 | 使用场景 | 典型示例 |
|---|---|---|
| Guest | 参考用途 | 其他团队成员 |
| Reporter | 完整概览、测试 | 项目经理、市场人员 |
| Developer | 部署、调试 | 工程师、技术项目经理 |
| Maintainer | 敏感配置管理 | 主管/高级工程师 |
R和W的定义基于Kubernetes API动词:
R):get、list、watchW):create、update、patch、delete、deletecollection集群范围
任何已认证用户都可访问以下集群范围资源:
GitLab上的任何管理员都是Kubernetes集群的管理员。
工作负载
| 资源 | Guest | Reporter | Developer | Maintainer |
|---|---|---|---|---|
| cronjobs | R | R | R+W | R+W |
| daemonsets | R | R | R+W | R+W |
| deployments | R | R | R+W | R+W |
| horizontalpodautoscalers | R | R | R+W | R+W |
| ingresses | R | R | R+W | R+W |
| jobs | R | R | R+W | R+W |
| pods | R | R | R+W | R+W |
| replicasets | R | R | R+W | R+W |
| replicationcontrollers | R | R | R+W | R+W |
| services | R | R | R+W | R+W |
| statefulsets | R | R | R+W | R+W |
| verticalpodautoscalers | R | R | R+W | R+W |
| events | R | R | R+W |
操作
| 资源 | Guest | Reporter | Developer | Maintainer |
|---|---|---|---|---|
| pods/log | R+W | R+W | R+W | |
| pods/portforward | R+W | R+W | R+W | |
| deployments/rollback | R+W | R+W | ||
| deployments/scale | R+W | R+W | ||
| pods/attach | R+W | R+W | ||
| pods/exec | R+W | R+W | ||
| replicasets/scale | R+W | R+W | ||
| replicationcontrollers/scale | R+W | R+W | ||
| statefulsets/scale | R+W | R+W |
设置
| 资源 | Guest | Reporter | Developer | Maintainer |
|---|---|---|---|---|
| configmaps | R | R | R+W | R+W |
| endpoints | R | R | R+W | R+W |
| networkpolicies | R | R | R+W | R+W |
| persistentvolumeclaims | R | R | R+W | R+W |
| persistentvolumeclaims/status | R | R | R+W | R+W |
| poddisruptionbudgets | R | R | R+W | R+W |
| poddisruptionbudgets/status | R | R | R+W | R+W |
| serviceaccounts | R | R | R+W | R+W |
| certificates | R+W | R+W | ||
| secrets | R+W | R+W | ||
| limitranges | R | R+W | ||
| resourcequotas | R | R+W | ||
| rolebindings | R | R+W | ||
| roles | R | R+W |
gitlab2rbac支持多个环境变量用于高级配置:
| 标志 | 描述 | 默认值 |
|---|---|---|
GITLAB2RBAC_FREQUENCY | 更新间隔(秒) | 60 |
GITLAB_ADMINS_GROUP | 基于GitLab命名空间设置K8s管理员(None表示GitLab管理员) | None |
GITLAB_GROUPS_SEARCH | 限制到指定组(逗号分隔,空表示所有组) | gitlab2rbac |
GITLAB_NAMESPACE_GRANULARITY | 从GitLab项目还是组获取权限 | project |
GITLAB_PRIVATE_TOKEN | 配置GitLab API令牌 | |
GITLAB_TIMEOUT | GitLab操作超时时间(秒) | 10 |
GITLAB_URL | 配置GitLab API目标地址 | |
KUBERNETES_AUTO_CREATE | 将GitLab组/项目复制为Kubernetes命名空间 | False |
KUBERNETES_LOAD_INCLUSTER_CONFIG | 当gitlab2rbac作为Pod运行时,加载Kubernetes内部配置 | False |
KUBERNETES_TIMEOUT | Kubernetes操作超时时间(秒) | 10 |
MIT
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务