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
-
此值会在运行
KataConfig
CR 时填充,使用基于集群凭证的 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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow