3.4. 创建对等 pod 配置映射
您必须创建对等 pod 配置映射。
先决条件
- 如果没有根据集群凭证使用默认 AMI ID,则具有 Amazon Machine Image (AMI) ID。
流程
从 AWS 实例获取以下值:
检索并记录实例 ID:
INSTANCE_ID=$(oc get nodes -l 'node-role.kubernetes.io/worker' \ -o jsonpath='{.items[0].spec.providerID}' | sed 's#[^ ]*/##g')$ INSTANCE_ID=$(oc get nodes -l 'node-role.kubernetes.io/worker' \ -o jsonpath='{.items[0].spec.providerID}' | sed 's#[^ ]*/##g')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这用于检索 secret 对象的其他值。
检索并记录 AWS 区域:
AWS_REGION=$(oc get infrastructure/cluster \ -o jsonpath='{.status.platformStatus.aws.region}') \ && echo "AWS_REGION: \"$AWS_REGION\""$ AWS_REGION=$(oc get infrastructure/cluster \ -o jsonpath='{.status.platformStatus.aws.region}') \ && echo "AWS_REGION: \"$AWS_REGION\""Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索并记录 AWS 子网 ID:
AWS_SUBNET_ID=$(aws ec2 describe-instances --instance-ids ${INSTANCE_ID} \ --query 'Reservations[*].Instances[*].SubnetId' --region ${AWS_REGION} \ --output text) && echo "AWS_SUBNET_ID: \"$AWS_SUBNET_ID\""$ AWS_SUBNET_ID=$(aws ec2 describe-instances --instance-ids ${INSTANCE_ID} \ --query 'Reservations[*].Instances[*].SubnetId' --region ${AWS_REGION} \ --output text) && echo "AWS_SUBNET_ID: \"$AWS_SUBNET_ID\""Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索并记录 AWS VPC ID:
AWS_VPC_ID=$(aws ec2 describe-instances --instance-ids ${INSTANCE_ID} \ --query 'Reservations[*].Instances[*].VpcId' --region ${AWS_REGION} \ --output text) && echo "AWS_VPC_ID: \"$AWS_VPC_ID\""$ AWS_VPC_ID=$(aws ec2 describe-instances --instance-ids ${INSTANCE_ID} \ --query 'Reservations[*].Instances[*].VpcId' --region ${AWS_REGION} \ --output text) && echo "AWS_VPC_ID: \"$AWS_VPC_ID\""Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检索并记录 AWS 安全组 ID:
AWS_SG_IDS=$(aws ec2 describe-instances --instance-ids ${INSTANCE_ID} \ --query 'Reservations[*].Instances[*].SecurityGroups[*].GroupId' \ --region $AWS_REGION --output json | jq -r '.[][][]' | paste -sd ",") \ && echo "AWS_SG_IDS: \"$AWS_SG_IDS\""$ AWS_SG_IDS=$(aws ec2 describe-instances --instance-ids ${INSTANCE_ID} \ --query 'Reservations[*].Instances[*].SecurityGroups[*].GroupId' \ --region $AWS_REGION --output json | jq -r '.[][][]' | paste -sd ",") \ && echo "AWS_SG_IDS: \"$AWS_SG_IDS\""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
根据以下示例创建
peer-pods-cm.yaml清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow PODVM_INSTANCE_TYPE- 定义在工作负载对象中没有定义实例类型时使用的默认实例类型。
PODVM_INSTANCE_TYPES- 指定允许的实例类型,没有空格,用于创建 pod。您可以为需要较少的内存和更少的 CPU 或更大实例类型的工作负载定义较小的实例类型。
PODVM_AMI_ID-
此值会在运行
KataConfigCR 时填充,使用基于集群凭证的 AMI ID。如果您创建自己的 AMI,请指定正确的 AMI ID。 标签-
您可以将自定义标签配置为 pod 虚拟机实例的
key:value对,以跟踪对等 pod 成本或标识不同集群中的对等 pod。 PEERPODS_LIMIT_PER_NODE-
您可以增加这个值以在节点上运行更多对等 pod。默认值为
10。 ROOT_VOLUME_SIZE- 您可以为带有更大容器镜像的 pod 增加这个值。指定 pod 虚拟机的 root 卷大小,以 GB 为单位。默认和最小大小为 6 GB。
运行以下命令来创建配置映射:
oc create -f peer-pods-cm.yaml
$ oc create -f peer-pods-cm.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow