《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(2) https://developer.aliyun.com/article/1231170?groupCode=aliyun_linux
步骤二:安装Confifidential computing Operator
Confifidential computing Operator 提供了一种在 Kubernetes 集群上部署和管理 Confifidential Containers Runtime 的方法。具体信息请参考指南。
前提条件
1、确保 Kubernetes 集群节点至少有 8GB RAM 和 4 个 vCPU
2、当前 CoCo 版本仅支持基于 containerd 运行时的 Kubernetes 集群
3、确保 SELinux 被禁用或未强制执行 (confifidential-containers/operator#115)
部署Operator
Operator目前有3个版本,这里默认安装最新版v0.3.0版本。 通过运行以下命令部署Operator:
kubectl apply -k github.com/confifidential-containers/operator/confifig/release?ref=v0.3.0
cc-operator-controller-manager 资源依赖国外的镜像,可能拉不下来,请参考以下步骤对镜像进行修改:
kubectl edit deploy cc-operator-controller-manager -n confifidential-containers-system # 将gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0替换成 image: quay.io/brancz/kube-rbac-proxy:v0.13.0
查看节点状态:
kubectl get pods -n confifidential-containers-system --watch
预期结果如下。注意这三个pod都要存在,且STATUS都要为Running。
NAME READY STATUS RESTARTS AGE cc-operator-controller-manager-56cb4d5ffff5-lqd9x 2/2 Running 0 167m cc-operator-daemon-install-rg8s9 1/1 Running 0 154m cc-operator-pre-install-daemon-7jhnw 1/1 Running 0 154m
创建custom resource
创建 custom resource 会将所需的 CC runtime安装到集群节点中并创建 RuntimeClasses。操作如下:
kubectl apply -k github.com/confifidential-containers/operator/confifig/samples/ccruntime/ default?ref=v0.3.0
检查创建的 RuntimeClasses。
kubectl get runtimeclass
预期结果如下:
NAME HANDLER AGE kata kata 154m kata-clh kata-clh 154m kata-clh-tdx kata-clh-tdx 154m kata-qemu kata-qemu 154m kata-qemu-sev kata-qemu-sev 154m kata-qemu-tdx kata-qemu-tdx 154m
卸载Operator(非必要步骤)
如果您想更新Operator的版本,或者您的安装出现问题,可以先卸载,再回到上面的步骤重新安装。具体
操作请参考链接。
kubectl delete -k github.com/confifidential-containers/operator/confifig/samples/ccruntime/default? ref=<RELEASE_VERSION> kubectl delete -k github.com/confifidential-containers/operator/confifig/release?ref=$ {RELEASE_VERSION}
《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(4) https://developer.aliyun.com/article/1231168?groupCode=aliyun_linux