3.6. 创建 initdata
您可以创建一个 initdata.toml
文件,并将其转换为 gzip 格式的 Base64 编码字符串。
对于特定 pod,您可以将此字符串指定为对等 pod 配置映射中的 INITDATA
值、全局配置或作为注解。
如果在 kbs-config
配置映射中配置 insecure_http = true
,您必须删除 kbs_cert
设置。
流程
运行以下命令,获取红帽构建的 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}'
$ 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 Copied! Toggle word wrap Toggle overflow 输出示例
192.168.122.22
192.168.122.22
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来获取端口:
oc get svc kbs-service -n trustee-operator-system
$ oc get svc kbs-service -n trustee-operator-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kbs-service NodePort 172.30.116.11 <none> 8080:32178/TCP 12d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kbs-service NodePort 172.30.116.11 <none> 8080:32178/TCP 12d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
initdata.toml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<trustee-url
> : 指定红帽构建的 Trustee IP 地址和端口,例如https://192.168.122.22:32178
。 -
<kbs_certificate
> : 为 attestation 代理指定 Base64 编码的 TLS 证书。 -
kbs_cert
: 如果您在kbs-config
配置映射中配置insecure_http = true
,请删除kbs_cert
设置。
-
运行以下命令,将
initdata.toml
文件转换为 gzip 格式的 Base64 编码字符串:cat initdata.toml | gzip | base64 -w0 > initdata.txt
$ cat initdata.toml | gzip | base64 -w0 > initdata.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为对等 pod 配置映射或对等 pod 清单记录此字符串。
运行以下命令,计算
initdata.toml
文件的 SHA-256 哈希,并将其值分配给hash
变量:hash=$(sha256sum initdata.toml | cut -d' ' -f1)
$ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将 32 字节 0s 分配给
initial_pcr
变量:initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
$ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,计算哈希和
initial_pcr
的 SHA-256哈希
,并将其值分配给PCR8_HASH
变量:PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
$ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录下
PCR8_HASH
值的.运行以下命令,计算initdata.toml
文件的 SHA-256 哈希,并将其值分配给hash
变量:hash=$(sha256sum initdata.toml | cut -d' ' -f1)
$ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将 32 字节 0s 分配给
initial_pcr
变量:initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
$ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,计算哈希和
initial_pcr
的 SHA-256哈希
,并将其值分配给PCR8_HASH
变量:PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
$ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录 RVPS 配置映射的
PCR8_HASH
值。