5.8. 创建 initdata


您可以创建 initdata 以在运行时安全地初始化带有敏感或特定于工作负载的数据的 pod,从而避免需要在虚拟机镜像中嵌入此数据。这种方法通过降低公开机密信息的风险并消除自定义镜像构建需求来提供额外的安全性。

您可以为 pod 配置映射中指定 initdata,对于全局配置,或者在 pod 清单中为特定 pod 指定。pod 清单中的 initdata 值覆盖 pod 配置映射中设置的值。

重要

在生产环境中,您必须创建 initdata 来覆盖默认的 permissive Kata 代理策略。

您可以在 pod 清单中为特定 pod 指定 initdata。

重要

如果您在红帽构建的 Trustee 的 kbs-config 配置映射中配置 insecure_http = true,则必须删除 kbs_cert 设置。

流程

  1. 运行以下命令,获取红帽构建的 Trustee IP 地址:

    $ oc get node $(oc get pod -n trustee-operator-system \
      -o jsonpath='{.items[0].spec.nodeName}') \
      -o jsonpath='{.status.addresses[?(@.type=="InternalIP")].address}'
    Copy to Clipboard Toggle word wrap

    输出示例

    192.168.122.22
    Copy to Clipboard Toggle word wrap

  2. 运行以下命令来获取端口:

    $ oc get svc kbs-service -n trustee-operator-system
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    kbs-service  NodePort    172.30.116.11   <none>        8080:32178/TCP   12d
    Copy to Clipboard Toggle word wrap

  3. 创建 initdata.toml 文件:

    algorithm = "sha384"
    version = "0.1.0"
    
    [data]
    "aa.toml" = '''
    [token_configs]
    [token_configs.coco_as]
    
    url = '<trustee_url>'
    
    [token_configs.kbs]
    url = '<trustee_url>'
    '''
    
    "cdh.toml" = '''
    socket = 'unix:///run/confidential-containers/cdh.sock'
    credentials = []
    
    [kbc]
    name = 'cc_kbc'
    url = '<trustee_url>'
    kbs_cert = """
    -----BEGIN CERTIFICATE-----
    <kbs_certificate>
    -----END CERTIFICATE-----
    """
    [image]
    image_security_policy_uri = 'kbs:///default/<secret-policy-name>/<key>
    '''
    Copy to Clipboard Toggle word wrap
    url
    指定红帽构建的 Trustee
    <kbs_certificate>
    为 attestation 代理指定 Base64 编码的 TLS 证书。
    kbs_cert
    如果您在红帽构建的 Trustee 的 kbs-config 配置映射中配置 insecure_http = true,请删除 kbs_cert 设置。
    image_security_policy_uri
    可选,只有在启用了容器镜像签名验证策略时。将 <secret-policy-name > 和 <key> 替换为 创建 KbsConfig 自定义资源中指定 的 secret 名称和密钥。
  4. 运行以下命令,将 initdata.toml 文件转换为 gzip 格式的 Base64 编码字符串:

    $ cat initdata.toml | gzip | base64 -w0 > initdata.txt
    Copy to Clipboard Toggle word wrap

    记录此字符串,以便在 pod 清单中使用。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat