7.6. 更新对等 pod 配置映射
您必须为机密容器更新对等 pod 配置映射。
注意
将安全引导设置为 true
以默认启用。默认值为 false
,这代表存在安全风险。
流程
从 Azure 实例获取以下值:
检索并记录 Azure 资源组:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AZURE_RESOURCE_GROUP=$(oc get infrastructure/cluster -o jsonpath='{.status.platformStatus.azure.resourceGroupName}') && echo "AZURE_RESOURCE_GROUP: \"$AZURE_RESOURCE_GROUP\""
$ AZURE_RESOURCE_GROUP=$(oc get infrastructure/cluster -o jsonpath='{.status.platformStatus.azure.resourceGroupName}') && echo "AZURE_RESOURCE_GROUP: \"$AZURE_RESOURCE_GROUP\""
检索并记录 Azure VNet 名称:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AZURE_VNET_NAME=$(az network vnet list --resource-group ${AZURE_RESOURCE_GROUP} --query "[].{Name:name}" --output tsv)
$ AZURE_VNET_NAME=$(az network vnet list --resource-group ${AZURE_RESOURCE_GROUP} --query "[].{Name:name}" --output tsv)
这个值用于检索 Azure 子网 ID。
检索并记录 Azure 子网 ID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AZURE_SUBNET_ID=$(az network vnet subnet list --resource-group ${AZURE_RESOURCE_GROUP} --vnet-name $AZURE_VNET_NAME --query "[].{Id:id} | [? contains(Id, 'worker')]" --output tsv) && echo "AZURE_SUBNET_ID: \"$AZURE_SUBNET_ID\""
$ AZURE_SUBNET_ID=$(az network vnet subnet list --resource-group ${AZURE_RESOURCE_GROUP} --vnet-name $AZURE_VNET_NAME --query "[].{Id:id} | [? contains(Id, 'worker')]" --output tsv) && echo "AZURE_SUBNET_ID: \"$AZURE_SUBNET_ID\""
检索并记录 Azure 网络安全组(NSG) ID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AZURE_NSG_ID=$(az network nsg list --resource-group ${AZURE_RESOURCE_GROUP} --query "[].{Id:id}" --output tsv) && echo "AZURE_NSG_ID: \"$AZURE_NSG_ID\""
$ AZURE_NSG_ID=$(az network nsg list --resource-group ${AZURE_RESOURCE_GROUP} --query "[].{Id:id}" --output tsv) && echo "AZURE_NSG_ID: \"$AZURE_NSG_ID\""
检索并记录 Azure 区域:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AZURE_REGION=$(az group show --resource-group ${AZURE_RESOURCE_GROUP} --query "{Location:location}" --output tsv) && echo "AZURE_REGION: \"$AZURE_REGION\""
$ AZURE_REGION=$(az group show --resource-group ${AZURE_RESOURCE_GROUP} --query "{Location:location}" --output tsv) && echo "AZURE_REGION: \"$AZURE_REGION\""
根据以下示例创建
peer-pods-cm.yaml
清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: ConfigMap metadata: name: peer-pods-cm namespace: openshift-sandboxed-containers-operator data: CLOUD_PROVIDER: "azure" VXLAN_PORT: "9000" AZURE_INSTANCE_SIZE: "Standard_DC2as_v5" AZURE_INSTANCE_SIZES: "Standard_DC2as_v5, Standard_DC4as_v5, Standard_DC8as_v5" AZURE_SUBNET_ID: "<azure_subnet_id>" AZURE_NSG_ID: "<azure_nsg_id>" PROXY_TIMEOUT: "5m" AZURE_IMAGE_ID: "<azure_image_id>" AZURE_REGION: "<azure_region>" AZURE_RESOURCE_GROUP: "<azure_resource_group>" PEERPODS_LIMIT_PER_NODE: "10" TAGS: "key1=value1,key2=value2" INITDATA: "<base64_encoded_initdata>" ENABLE_SECURE_BOOT: "true" DISABLECVM: "false"
apiVersion: v1 kind: ConfigMap metadata: name: peer-pods-cm namespace: openshift-sandboxed-containers-operator data: CLOUD_PROVIDER: "azure" VXLAN_PORT: "9000" AZURE_INSTANCE_SIZE: "Standard_DC2as_v5"
1 AZURE_INSTANCE_SIZES: "Standard_DC2as_v5, Standard_DC4as_v5, Standard_DC8as_v5"
2 AZURE_SUBNET_ID: "<azure_subnet_id>"
3 AZURE_NSG_ID: "<azure_nsg_id>"
4 PROXY_TIMEOUT: "5m" AZURE_IMAGE_ID: "<azure_image_id>"
5 AZURE_REGION: "<azure_region>"
6 AZURE_RESOURCE_GROUP: "<azure_resource_group>"
7 PEERPODS_LIMIT_PER_NODE: "10"
8 TAGS: "key1=value1,key2=value2"
9 INITDATA: "<base64_encoded_initdata>"
10 ENABLE_SECURE_BOOT: "true"
11 DISABLECVM: "false"
- 1
- 如果工作负载中没有定义实例大小,
"Standard_DC2as_v5"
值是默认值。确保实例类型支持可信环境。默认的"Standard_DC2as_v5"
值用于 AMD SEV-SNP。如果您的 TEE 是 Intel TDX,请指定Standard_EC4eds_v5
。 - 2
- 列出创建 pod 时可以指定的所有实例大小。这可让您为大型工作负载需要较少的内存和更小的实例大小的工作负载定义较小的实例大小。对于 Intel TDX,指定
"Standard_EC4eds_v5、Standard_EC8eds_v5、Standard_EC16eds_v5
"。 - 3
- 指定您检索的
AZURE_SUBNET_ID
值。 - 4
- 指定您检索的
AZURE_NSG_ID
值。 - 5
- 可选:默认情况下,这个值会在运行
KataConfig
CR 时填充,使用基于集群凭证的 Azure 镜像 ID。如果创建自己的 Azure 镜像,请指定正确的镜像 ID。 - 6
- 指定您检索到的
AZURE_REGION
值。 - 7
- 指定您检索的
AZURE_RESOURCE_GROUP
值。 - 8
- 指定每个节点可以创建的对等 pod 的最大数量。默认值为
10
。 - 9
- 您可以将自定义标签配置为 pod 虚拟机实例的
key:value
对,以跟踪对等 pod 成本或标识不同集群中的对等 pod。 - 10
- 指定您在
initdata.txt
文件中创建的 Base64 编码字符串。 - 11
- 指定
true
以启用安全引导。
运行以下命令来创建配置映射:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f peer-pods-cm.yaml
$ oc apply -f peer-pods-cm.yaml
运行以下命令重启
ds/osc-caa-ds
守护进程集:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc set env ds/osc-caa-ds \ -n openshift-sandboxed-containers-operator REBOOT="$(date)"
$ oc set env ds/osc-caa-ds \ -n openshift-sandboxed-containers-operator REBOOT="$(date)"