测验:平台 API 与自助服务
将 v1 和 v1alpha1 设置为服务,仅将 v1 设置为存储。如果我只将容量CEL放入v1,我应该检查什么?
- 由于只有一个保存的版本,因此我们只需要检查 v1 的健康请求。
- 您还应该检查 v1alpha1 路径中是否拒绝禁止的输入。
- 如果您还将 v1alpha1 设置为存储,验证将自动复制。
- 如果两个版本的输出列相同,则请求合约也将相同。
我没有使用 optionalOldSelf,而是将规则 self == oldSelf 添加到规范中。这与仅修复层级的意图有何不同?
- 第一次创建时,它会与空的 oldSelf 进行比较,因此所有创建都会被阻止。
- 状态也会自动比较,因此仅拒绝观察状态的更改。
- 由于比较了整个规范,因此即使对正常副本的更改也会被拒绝。
- 不支持对象比较,所以CRD注册总是会失败
用户将 status.phase=Ready 作为常规 PATCH 发送到 AppClaim,并打开状态子资源。正确的解释是什么?
- 状态更改将被忽略,并且不能证明服务实际上已就绪。
- 如果您有权修改规范,则状态和外部服务也已准备好。
- 禁止存在称为状态的字段,并删除 CRD。
- 将创建一个单独的状态对象,并且只有该对象才计入 ResourceQuota。
我删除了从 AppClaim-only 角色获取的机密,但仍然允许来自同一主题的查询。接下来怎么办?
- 从 CRD 的层枚举中删除与密钥相关的字符串。
- 通过减少 ResourceQuota 中的 AppClaims 数量来限制视图
- 向狭窄角色添加拒绝动词以取消其他权限
- 验证主体的其他约束范围和最终许可决定
租户只有角色创建权限,没有提升的权限或要添加的升级。就这样我可以创建一个高权限角色吗?
- 角色创建和立即绑定一起进行,以授予管理员权限。
- 创建超出现有权限的角色需要接受单独的权限升级预防检查。
- 因为Role是一个文档,所以它自由地包含所有权限,但仅在执行时进行检查。
- 如果 ResourceQuota 仅允许角色数量,则自动允许高权限内容。
正常的 get 查询是 yes/退出代码 0,但删除 can-i 查询是连接错误、空 stdout 和退出代码 1。报告说什么?
- 由于退出代码为 1,我们记录 no 该策略阻止了删除。
- 由于之前的get成功了,所以假设当前的delete也被允许。
- 删除的决定尚未得到确认。检查连接问题并重试
- 如果AppClaims的数量为2,则报告中可以省略删除权限。
紧接着CRD之后,配额spec.hard为2,但status.used为空。如果尚未调查原因,下一步正确的行动是什么?
- 检查已建立·发现·实际数量·状态并诊断反射和控制器
- 没有使用就代表0,所以我们继续以普通请求的方式发送第三个请求
- 由于配额再生是唯一的恢复,所以我们先明确上限
- 这说明保存的版本不正确,所以先重新生成CRD和命名空间。
此练习可防止删除租户。关于其他平台的删除设计,哪种说法是正确的?
- Kubernetes 禁止用户删除所有自定义资源
- 只需添加终结器键,外部资源删除代码就会自动生成。
- 对象计数配额涵盖外部资源成本并确保清理完成
- 允许用户删除和基于终结器的清理的设计也是可能的,并且需要控制器