该项目旨在简化机密计算环境的搭建流程,提供了基于国产TEE的机密容器构建与部署脚本,支持在OpenFuyao平台的K8s集群中快速部署,并配套相关文档。
鲲鹏机密容器部署指南
概述
本项目提供基于华为鲲鹏处理器的机密容器解决方案,利用virtCCA提供的TEE(可信执行环境)技术,实现容器的机密计算能力。主要包含以下核心组件:
- Kata Containers: 机密容器运行时,支持virtCCA后端
- Trustee: 远程证明服务组件,包括KBS、AS、RVPS
目录结构
├── build/kunpeng/ # 组件构建
│ ├── build.sh # 自动化构建脚本
│ ├── docker/ # Dockerfile目录
│ │ ├── rvps/Dockerfile
│ │ ├── kbs/Dockerfile
│ │ └── as/Dockerfile
│ └── 鲲鹏机密容器组件构建.md
├── deploy/kunpeng/ # 环境部署
│ └── 鲲鹏机密容器环境部署.md
└── docs/kunpeng/ # 验证文档
└── 鲲鹏机密容器验证.md
版本信息
| 组件 | 版本 |
|---|---|
| Kata Containers | v3.15.0 |
| Trustee | v0.12.0 |
| Guest Components | v0.12.0 |
| virtCCA SDK | v0.1.37 |
环境要求
- 操作系统: ARM架构Linux系统
- 内核版本: v5.0及以上
- 容器运行时: containerd v1.7及以上
- 必要工具: git、make、openssl、docker
快速开始
1. 组件构建
# 克隆仓库
git clone https://gitcode.com/openFuyao/confidential-containers-deployment.git
cd confidential-containers-deployment/build/kunpeng
# 准备源码
./build.sh prepare_src
# 编译kata-deploy镜像
./build.sh compile_kdeploy_all
# 编译远程证明组件镜像
./build.sh compile_coco
详细构建说明请参考 鲲鹏机密容器组件构建。
2. 环境部署
# 部署cc-operator
kubectl apply -k github.com/confidential-containers/operator/config/release?ref=v0.13.0
# 部署CcRuntime
kubectl apply -f virtcca-kata-deploy.yaml
# 部署trustee-operator
kubectl apply -f deploy.yaml
kubectl apply -f kbsconfig.yaml
详细部署说明请参考 鲲鹏机密容器环境部署。
3. 功能验证
支持以下验证场景:
- 远程证明服务配置
- 容器镜像加解密
- 容器镜像签名验签
详细验证步骤请参考 鲲鹏机密容器验证。
构建产物
| 产物 | 说明 | 路径 |
|---|---|---|
| kata-deploy_3.15.0.tar | Kata运行时部署镜像 | ./kata-containers/tools/packaging/kata-deploy/ |
| rvps-grpc_v0.12.0.tar | 参考值提供服务镜像 | ./kata-containers/build/trustee/output/ |
| kbs-grpc-as_v0.12.0.tar | 密钥代理服务镜像 | ./kata-containers/build/trustee/output/ |
| as-grpc_v0.12.0.tar | 远程证明服务镜像 | ./kata-containers/build/trustee/output/ |
build.sh 命令说明
# 查看帮助
./build.sh compile_kdeploy_components help
# 可用命令
./build.sh prepare_src # 准备源码
./build.sh compile_kdeploy_all # 编译所有kata-deploy组件
./build.sh compile_kdeploy_components <组件名> # 单点编译
./build.sh compile_coco # 编译远程证明组件
# 可编译组件
kernel # 内核
kernel-virtcca-confidential # virtCCA机密内核
nydus # Nydus镜像服务
shim-v2 # Shim-v2运行时
virtiofsd # Virtiofsd文件系统服务
qemu # QEMU虚拟机
qemu-virtcca-experimental # virtCCA QEMU
agent # Kata Agent
pause-image # Pause镜像
coco-guest-components # 机密计算Guest组件
rootfs-image # Rootfs镜像
rootfs-image-experimental # 实验性Rootfs镜像
merge-builds # 合并构建