📚 系列:亚马逊云科技上的 databricks(第三部分)
- 在亚马逊云科技上构建 databricks 人工智能平台
- 基于功能角色组的基于角色的访问控制
- 计算治理:实例池、策略、集群 ← 您当前位置
- 引导超时之谜
- 通过亚马逊云科技私有链接修复问题
- 我们如何组织 terraform 代码
基于角色的访问控制决定用户是谁。计算治理决定他们被允许启动什么硬件。以下是实例池、集群策略和权限门控如何将“任何人都可以启动一个 128 核图形处理器盒子”转变为“您只能获得您的角色所允许的确切资源”。
在第二部分中,我们构建了基于角色的访问控制模型:用户映射到功能角色,功能角色映射到访问角色,访问角色获得授权。这控制了某人可以接触哪些数据。
但还有第二个维度,直到云账单到来时才会被提及:计算。如果缺乏治理,一位好奇的分析师可能在凌晨两点启动一个由 r6i.4xlarge 节点(每个节点 16 核,128 GB 内存)组成的集群,却忘记关闭它,然后在周一给您带来一个五位数的账单惊喜。治理就是答案,而在 databricks 中,它分为三个层级。
三个层级,从上到下
将其想象为一个漏斗。每一层都限制了用户实际可以执行的操作:
| 层级 | 作用 | 影响对象 |
|---|---|---|
| 实例池 | 预热的虚拟机等待被占用 — 更快的集群启动速度 | 所有人(透明地) |
| 集群策略 | 规则:哪些实例类型、大小、自动终止时间、运行时版本 | 创建集群的工程师 |
| 权限门控 |
每个组的 allow_cluster_create 开启/关闭 |
非管理员(被阻止) |
除此之外,还有为那些根本不应该创建任何内容的人员提供的共享、预建集群。
让我们逐层讲解。
第一层:实例池 — 预热的虚拟机
在亚马逊云科技上冷启动集群意味着:请求弹性计算云容量 → 等待实例就绪 → 安装 databricks 运行时 → 加入集群。这需要用户盯着加载图标等待几分钟。
实例池 保持一组预先获取(或准备快速获取)的虚拟机,以便集群附加到这些虚拟机上,而不是从头配置。这纯粹是为了提高速度和成本可预测性 — 实例池本身并不限制任何内容。
对于我们的工作区,我们定义了六个池,按中央处理器/图形处理器和大小划分:
| 池名称 | 实例类型 | 容量 | 标签 |
|---|---|---|---|
ip_cpu_small |
m6g.large (2 虚拟中央处理器 / 8 GB) | 10 | cpu/small |
ip_cpu_medium |
m6g.xlarge (4 虚拟中央处理器 / 16 GB) | 15 | cpu/medium |
ip_cpu_large |
r6i.2xlarge (8 虚拟中央处理器 / 64 GB) | 15 | cpu/large |
ip_cpu_xlarge |
r6i.4xlarge (16 虚拟中央处理器 / 128 GB) | 20 | cpu/xlarge |
ip_gpu_small |
g5.xlarge (1× A10G) | 10 | gpu/small |
ip_gpu_large |
g5.2xlarge (1× A10G) | 20 | gpu/large |
重要的配置参数在所有池中都是共享的:
-
min_idle_instances = 0— 我们不支付费用来让虚拟机全天候保持预热状态;池按需启动,并且免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。