如何在Kubernetes上部署SGX应用程序?

如何在Kubernetes上部署SGX应用程序?,kubernetes,sgx,confidential,Kubernetes,Sgx,Confidential,我最近了解到,Intel SGX处理器能够加密磁盘持久存储的飞地。在此之后,我开始编写我的第一个SGX应用程序,现在我想知道是否有机会在Kubernetes上部署它们?您的问题可以分为多个步骤: 拥有一个Kubernetes群集,向您的应用程序公开SGX 您需要具有支持SGX的CPU的Kubernetes节点。Kubernetes在SGX中处理特殊设备的方式。Kubernetes有多个SGX设备插件: 英特尔: 蔚蓝: 一旦您为一个节点配备了这样一个插件,它们就会为您提供一种机制,将SGX设备暴

我最近了解到,Intel SGX处理器能够加密磁盘持久存储的飞地。在此之后,我开始编写我的第一个SGX应用程序,现在我想知道是否有机会在Kubernetes上部署它们?

您的问题可以分为多个步骤:

拥有一个Kubernetes群集,向您的应用程序公开SGX 您需要具有支持SGX的CPU的Kubernetes节点。Kubernetes在SGX中处理特殊设备的方式。Kubernetes有多个SGX设备插件:

英特尔: 蔚蓝: 一旦您为一个节点配备了这样一个插件,它们就会为您提供一种机制,将SGX设备暴露到您的容器中

为Kubernetes构建SGX应用程序并访问SGX资源 您需要将enclave捆绑到一个容器中,并编写Kubernetes资源定义。云本地应用程序最常用的语言可能是Go。基于EdgelessRT Go运行时和SDK的机密微服务应用程序有一个很好的例子,它使用Azure设备插件将SGX暴露到容器中:

为您的SGX应用程序管理认证、密封等 在Kubernetes上部署SGX应用程序时,最有趣的一点可能是特定于SGX的编排。虽然Kubernetes处理所有常规编排,但SGX特定的任务(如部署的远程认证、迁移和机密管理)需要单独处理。MarblerRun服务网格处理这些任务,即:

您的服务证明: 迁移和恢复: 机密管理: