该项目旨在简化机密计算环境的搭建流程,提供了基于国产TEE的机密容器构建与部署脚本,支持在OpenFuyao平台的K8s集群中快速部署,并配套相关文档。
机密容器部署指南
本项目提供基于国产硬件的机密容器(Confidential Containers)安装部署能力,支持海光 CSV 和鲲鹏 virtCCA 两种硬件场景。两种方案均基于 Kata Containers 和 Confidential Containers 社区技术,通过 CoCo Operator 在 Kubernetes 集群中部署机密容器运行时。
| 场景 | 硬件 | 架构 | TEE 技术 | RuntimeClass |
|---|---|---|---|---|
| 海光 CSV | 海光 CPU | x86 | CSV(国密 SM4 内存加密) | kata-qemu-csv |
| 鲲鹏 virtCCA | 鲲鹏 CPU | ARM | virtCCA | kata-qemu-virtcca |
目录结构
├── build/
│ ├── csv/ # 海光 CSV 组件构建(build.sh / Makefile / 12步脚本)
│ └── kunpeng/ # 鲲鹏 virtCCA 组件构建(build.sh)
├── deploy/
│ ├── csv/ # CSV 环境配置与部署文档
│ └── kunpeng/ # virtCCA 环境部署文档
├── docs/ # 功能验证文档
└── test/
版本信息
| 组件 | 海光 CSV | 鲲鹏 virtCCA |
|---|---|---|
| Kata Containers | 3.13.0 | v3.15.0 |
| Trustee | 0.11.0 | v0.12.0 |
| Guest Components | 0.10.0 | v0.12.0 |
| CoCo Operator | v0.12.0 | v0.13.0 |
| Trustee Operator | 0.3.0 | v0.3.0 |
| virtCCA SDK | — | v0.1.37 |
环境要求
通用:K8s 集群、containerd ≥ v1.7、git/make/openssl/docker
| 项目 | 海光 CSV | 鲲鹏 virtCCA |
|---|---|---|
| 硬件 | 海光 CPU 物理机/裸金属 | 鲲鹏处理器服务器 |
| 操作系统 | RHEL 系(BCLinux/openEuler),x86 | ARM Linux,内核 ≥ v5.0 |
| 内核 | 支持 CSV(5.10 或 6.6) | 随 Kata 版本 |
| 特殊要求 | BIOS 启用 SMEE;内核参数 kvm-amd.sev=1 sev_es=1;导入 HGSC 证书 |
virtCCA SDK |
快速开始
海光 CSV
# 1. 配置 CSV 环境(BIOS/内核/证书),参考 deploy/csv/配置海光CSV环境.md
hag general check # 验证 CSV: enabled
# 2. 组件构建
cd build/csv
sudo make all # 或 sudo ./build.sh,支持 --only-steps/--skip-steps
# 3. 部署运行时
git clone https://gitee.com/hanliyang-kata-coco/operator.git -b 0.12.0-hygon-arch-sig coco-operator
cd coco-operator && kubectl apply -k config/release
kubectl apply -k config/samples/ccruntime/default
kubectl label nodes $NODE_NAME node.kubernetes.io/worker=
# 4. 创建机密容器(runtimeClassName: kata-qemu-csv)
鲲鹏 virtCCA
# 1. 组件构建
cd build/kunpeng
./build.sh prepare_src # 准备源码并应用补丁
./build.sh compile_kdeploy_all # 编译 kata-deploy 镜像
./build.sh compile_coco # 编译 RVPS/KBS/AS 镜像
./build.sh compile_trustee_operator # 编译 trustee-operator
# 2. 部署运行时
ctr -n k8s.io i import kata-deploy_3.15.0.tar
kubectl apply -k github.com/confidential-containers/operator/config/release?ref=v0.13.0
kubectl apply -f virtcca-kata-deploy.yaml # 从 virtCCA_sdk 获取,注意修改 payloadImage
# 3. 部署远程证明服务
ctr -n k8s.io i import trustee-operator_v0.3.0.tar
kubectl apply -f deploy.yaml
kubectl apply -f kbsconfig.yaml
# 4. 创建机密容器(runtimeClassName: kata-qemu-virtcca)
相关文档
海光 CSV
鲲鹏 virtCCA
参考链接
联系我们
Introduction
该项目旨在简化机密计算环境的搭建流程,提供了基于国产TEE的机密容器构建与部署脚本,支持在OpenFuyao平台的K8s集群中快速部署,并配套相关文档。
Customize your domain