---
title: 机密容器与OpenClaw实例部署
description: "1. 部署cc-operator-controller-manager。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_zjsj_openclaw_013.html
sourcePath: /source/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_zjsj_openclaw_013.html
indexId: 4cfc5e7121efe11aa791f67c0eb3f2a81f2d48368190cda6d86f5f4546f8444e75
---
# 机密容器与OpenClaw实例部署

1. 部署cc-operator-controller-manager。

```
wget https://raw.gitcode.com/openeuler/virtCCA_sdk/raw/master/kata-v3.15.0/conf/cc-operator.yaml
kubectl apply -f cc-operator.yaml
```


2. 部署CcRuntime。

  a. 获取virtCCA的CcRuntime部署yaml配置文件。

```
wget https://raw.gitcode.com/openeuler/virtCCA_sdk/raw/master/kata-v3.15.0/conf/virtcca-kata-deploy.yaml
```


  b. 修改yaml配置文件中的label。
    matchLabels字段可通过kubectl get nodes --show-labels查看，修改为对应label，具体以下图为例，node-role.kubernetes.io/worker表示键，worker为值，和matchLabels字段下键值对保持一致。

    payloadImage字段指定了kata-deploy镜像路径，可直接使用默认镜像：swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/virtcca-kata-deploy:latest。

  c. 镜像拉取方式修改为host pull。

```
sed -i '/- name: kata-qemu-virtcca/{n;s/pulltype: .*/pulltype: ""/;n;s/snapshotter: .*/snapshotter: ""/}' virtcca-kata-deploy.yaml
```


  d. 启动deploy部署。

```
kubectl apply -f virtcca-kata-deploy.yaml
```


    创建成功后confidential-containers-system命名空间下有一个cc-operator-controller和两个DaemonSet管理的Pod。

```
kubectl get pod -n confidential-containers-system -owide
```


    如果部署confidential-container-operator失败，且operator Pod日志中的关键错误为“Get "https://x.x.x.x:443/api/v1": dial tcp x.x.x.x:443: i/o timeout”时，可按照以下思路进行排查。 确认组件和iptables状态，网络组件是DaemonSet，确认当前系统默认iptables后端。 kubectl -n kube-system get ds -o wide 显式设置Calico使用nft后端。 kubectl -n kube-system set env daemonset/calico-node FELIX_IPTABLESBACKEND=NFT kubectl -n kube-system rollout status daemonset/calico-node --timeout=180s 清理legacy表残留规则，legacy filter默认策略设为ACCEPT，并验证legacy清理状态。 重建cc-operator Pod并验证恢复。 kubectl delete pod -n confidential-containers-system -l control-plane=controller-manager kubectl -n confidential-containers-system wait --for=condition=Ready pod -l control-plane=controller-manager --timeout=180s kubectl -n confidential-containers-system get pod -o wide

3. K8s集群中已注册virtCCA对应的RuntimeClass。

```
kubectl get runtimeclass
```


4. 修改“/opt/kata/share/defaults/kata-containers/configuration-qemu-virtcca.toml”配置文件，将共享文件系统协议修改为virtio-fs，默认vcpu数量修改为2，默认内存大小修改为3072M，可根据实际需求针对性调整。建议内存改成4096M以上。

```
sed -i 's/shared_fs = "none"/shared_fs = "virtio-fs"/; s/default_vcpus = 1/default_vcpus = 2/; s/default_memory = 2048/default_memory = 4096/' /opt/kata/share/defaults/kata-containers/configuration-qemu-virtcca.toml
```


5. 重启containerd。

```
systemctl restart containerd
```


6. 目前支持容器模板构建OpenClaw应用，直接支持OpenClaw的机密容器镜像目前还在构建中。

  a. 创建openclaw.yaml。

```
vi ./openclaw.yaml
```


  b. 按“i”进入编辑模式，参考    OpenClaw配置文件(https://gitee.com/kunpeng_compute/KunpengRAG/blob/master/openfuyao_deployment/openclaw.yaml)
，将内容输入至创建的yaml文件。
  c. 以同样的方式，参考    openfuyao部署手册(https://gitee.com/kunpeng_compute/KunpengRAG/blob/master/openfuyao_deployment/MemorySystem_Deployment_Guide_for_OpenFuyao.md)
和    openclaw-configmap.yaml(https://gitee.com/kunpeng_compute/KunpengRAG/blob/master/openfuyao_deployment/openclaw.yaml)
，将openclaw.json的模型配置相关内容输入至文件相关位置。

```
vi ./openclaw.yaml
```


  d. 创建一键部署脚本    quick-start-single.sh(https://gitee.com/kunpeng_compute/KunpengRAG/blob/master/openfuyao_deployment/quick-start-single.sh)
。

```
vi ./quick-start-single.sh
```


  e. 部署configmap。

```
./quick-start-single.sh COMPONENT=openclaw-configmap \
OPENCLAW_LLM_BASE_URL=<LLM基础URL> \
OPENCLAW_LLM_API_KEY=<LLM对应的API Key> \
OPENCLAW_LLM_MODEL=<模型名称> \
OPENCLAW_GATEWAY_TOKEN=<任意非空值> \
OPENVIKING_ROOT_API_KEY=<任意非空值>
```


  f. 部署openclaw实例。

```
./quick-start-single.sh COMPONENT=openclaw \
OPENCLAW_LLM_BASE_URL=<LLM基础URL> \
OPENCLAW_LLM_API_KEY=<LLM对应的API Key> \
OPENCLAW_LLM_MODEL=<模型名称> \
OPENCLAW_GATEWAY_TOKEN=<任意非空值> \
OPENVIKING_ROOT_API_KEY=<任意非空值>
```


- OpenClaw网关当前按部署联调场景开启了以下配置。

```
"allowInsecureAuth": true,
"dangerouslyDisableDeviceAuth": true
```


  当前配置降低了网关认证保护强度，便于在容器平台中直接访问控制UI。生产环境如需更严格的设备认证，应在openclaw-configmap.yaml中关闭上述选项，并同步调整访问方式。

- 手动部署或者多实例部署可参考  OpenClaw openFuyao对接操作文档(https://gitee.com/kunpeng_compute/KunpengRAG/blob/master/openfuyao_deployment/MemorySystem_Deployment_Guide_for_OpenFuyao.md)
与对应脚本代码。
- OpenClaw工作目录默认持久化映射至宿主机/home/openclaw-data目录，可通过部署脚本参数OPENCLAW_DATA_ROOT_DIR修改。


7. 访问http://<集群节点IP地址>:30000，即可访问OpenClaw Web UI进行验证。
