00:15:11 - Hierarchical Namespace Overview
- 随着事件的推移,Team 和 Namespace 之间的关系可能会更改。由一对一的关系,转变为一对多的关系。
- 你希望在创建 Namespace Y 的时候,可以从Namespace X 继承一些资源,比如 ResourceQuota、NetworkPolicy、Role、RoleBinding 等。
- 随着事件的推移,你希望这个“继承关系”依然有效。当然,你还希望自定义自己的一部分行为。
- 实现一个 NamespaceCreator,它拥有自己的CRD对象
- NamespaceCreator 监听该对象。
- 一旦 CRD 对象被创建,NamespaceCreator 将它转移成相应的Manifest。
- Manifest被创建后,无法控制它们直接被原地修改。NamespaceCreator 更像是一次性操作。
00:30:05 - Installing HNC and the Plugin
- 由两个组件组成:一个是 HNC Controller,另一个是 kubectl plugin。
- Manifest 组成:Namespace,CRD、Role、ClusterRole、RoleBinding、MutatingWebhookConfiguration、Deployment。
- 该项目是由 kubebuilder 作为框架来构建的。