7.6. ピア Pod の更新 config map
Confidential Containers のピア Pod config map を更新する必要があります。
セキュアブートをデフォルトで有効にするには、これを true
に設定します。デフォルト値は false
で、これはセキュリティー上のリスクがあります。
手順
Azure インスタンスから以下の値を取得します。
Azure リソースグループを取得して記録します。
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\""
Copy to Clipboard Copied! Azure VNet 名を取得し、記録します。
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)
Copy to Clipboard Copied! この値は、Azure サブネット ID を取得するために使用されます。
Azure サブネット 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_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\""
Copy to Clipboard Copied! 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_NSG_ID=$(az network nsg list --resource-group ${AZURE_RESOURCE_GROUP} --query "[].{Id:id}" --output tsv) && echo "AZURE_NSG_ID: \"$AZURE_NSG_ID\""
Copy to Clipboard Copied! Azure リージョンを取得して記録します。
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\""
Copy to Clipboard Copied!
以下の例に従って
peer-pods-cm.yaml
マニフェストファイルを作成します。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"
Copy to Clipboard Copied! - 1
- インスタンスサイズがワークロードで定義されていない場合、
"Standard_DC2as_v5"
値がデフォルトになります。インスタンスタイプが信頼できる環境をサポートすることを確認します。デフォルトの"Standard_DC2as_v5"
値は、AMD SEV-SNP 用です。TEE が Intel TDX の場合は、Standard_EC4eds_v5
を指定します。 - 2
- Pod の作成時に指定できるすべてのインスタンスサイズを一覧表示します。これにより、メモリーと CPU をあまり必要としないワークロードには小さいインスタンスサイズを定義したり、ワークロードが大きい場合は大きいインスタンスサイズを定義したりすることができます。Intel TDX の場合は、
"Standard_EC4eds_v5, Standard_EC8eds_v5, Standard_EC16eds_v5"
を指定します。 - 3
- 取得した
AZURE_SUBNET_ID
値を指定します。 - 4
- 取得した
AZURE_NSG_ID
値を指定します。 - 5
- オプション: デフォルトでは、この値は、クラスターの認証情報に基づく Azure イメージ ID を使用して
KataConfig
CR を実行するときに入力されます。独自の Azure イメージを作成する場合は、正しいイメージ ID を指定します。 - 6
- 取得した
AZURE_REGION
値を指定します。 - 7
- 取得した
AZURE_RESOURCE_GROUP
値を指定します。 - 8
- ノードごとに作成できるピア Pod の最大数を指定します。デフォルト値は
10
です。 - 9
- Pod 仮想マシンインスタンスの
key:value
ペアとしてカスタムタグを設定して、ピア Pod のコストを追跡したり、異なるクラスター内のピア Pod を識別したりできます。 - 10
initdata.txt
ファイルで作成した Base64 でエンコードされた文字列を指定します。- 11
- セキュアブートをデフォルトで有効にするには
true
を指定します。
以下のコマンドを実行して config map を作成します。
oc apply -f peer-pods-cm.yaml
$ oc apply -f peer-pods-cm.yaml
Copy to Clipboard Copied! 次のコマンドを実行して、
ds/osc-caa-ds
デーモンセットを再起動します。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)"
Copy to Clipboard Copied!