文章目录
- Terminal 简介
- 启用 Terminal
-
- 第 1 步:启用 UI
- 第 2 步:设置 Role 或 ClusterRole
- 第 3 步:授权 API
- 扩展知识 - ArgoCD RBAC
-
- ArgoCD 内置用户
- 内置角色
- 匿名/已认证用户 Policy
- RBAC 模型结构
- 应用相关 Policy
- 项目级别配置
-
- 页面配置
- ArgoCD CLI 配置
- 扩展
-
- argocd-cm 示例
- argocd-rbac-cm 示例
- 参考
Terminal 简介
自 v2.4 版本起,Argo CD 提供了一个基于 Web 的终端,允许用户在 Pod 中执行命令,就像 kubectl exec
命令一样。出于安全考虑,默认是禁用的。
有了这个强大功能,只要应用有 exec/create
权限,就能进入到 Pod 容器内执行任意代码啦。😁
启用 Terminal
🚀 步骤很简单,由全局到具体。
- 启用 UI: 全局启用 Terminal 的 UI
- 启用 API:全局启用 Terminal 的 API
- 授权 API:给特定 Role 授予 API 权限
第 1 步:启用 UI
在 ArgoCD 官方写到:
- 将
exec.enabled
设置为true
,即可开启 Terminal 的 UI,默认是禁用的 exec.shells
用于指定哪些 shell 是允许使用的,默认 bash、sh、powershell、cmd 都支持