为 KubeEdge 上的机密工作负载添加 RuntimeClass 支持
<!-- 请在提供尽可能多信息的同时使用此模板。谢谢! --> **您希望添加/修改什么: ** KubeEdge 目前不为在边缘节点上运行的工作负载提供完整的 RuntimeClass 支持。 本次增强旨在使 KubeEdge 中实现端到端的 RuntimeClass 支持,并通过机密容器运行时进行验证。 提出的范围包括: - 研究 Kubernetes RuntimeClass 工作流程,并确定 KubeEdge 中缺失的组件。 - 支持从云端到边缘节点的 RuntimeClass 资源同步。 - 使边缘工作负载能够使用 `spec.runtimeClassName`。 - 确保 Edged 能够正确选择配置的容器运行时处理程序。 - 使用替代运行时(如 Kata Containers、机密容器生态系统运行时)对 RuntimeClass 进行验证。 实现时应考虑: - CloudCore - EdgeCore - MetaManager - MetaServer - Edged - Container Runtime Interface 集成 可选验证可能包括在适当基础设施可用时使用 Intel TDX 等机密计算平台。 **为什么需要此项: ** 机密计算和工作负载隔离对于边缘场景变得越来越重要。 Kubernetes 已经通过 RuntimeClass 作为选择不同运行时环境的标准机制,但 KubeEdge 的边缘工作负载目前无法充分利用此功能。 支持 RuntimeClass 将为边缘提供安全和隔离的工作负载基础,从而实现诸如机密容器、更强的工作负载隔离和硬件辅助安全等场景。 **预期结果/验收标准: ** - Kubernetes 控制平面和 KubeEdge 边缘节点之间的 RuntimeClass 资源同步工作。 - 边缘工作负载可以通过 `spec.runtimeClassName` 来指定和使用 RuntimeClass。 - 在边缘节点上可以正确选择替代运行时处理程序。 - 缺失或无效的 RuntimeClass 配置将被优雅地处理。 - 添加单元测试和端到端测试。 - 提供文档,描述如何在 KubeEdge 上部署基于 RuntimeClass 的工作负载。 - 在可用时演示机密容器运行时验证。 **参考资料: ** - #6334 v1.20 kubeedge do not support the runtimeclass - #4416 RuntimeClass support discussion
内容来源: kubeedge/kubeedge