3.4. 피어 Pod 구성 맵 생성
피어 Pod 구성 맵을 생성해야 합니다.
사전 요구 사항
- 클러스터 인증 정보를 기반으로 기본 AMI ID를 사용하지 않는 경우 AMI(Amazon Machine Image) 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
-
이 값은 클러스터 인증 정보를 기반으로 AMI ID를 사용하여
KataConfig
CR을 실행할 때 채워집니다. 고유한 AMI를 생성하는 경우 올바른 AMI ID를 지정합니다. - TAGS
-
사용자 정의 태그를 Pod VM 인스턴스의
키:값
쌍으로 구성하여 피어 Pod 비용을 추적하거나 다른 클러스터에서 피어 Pod를 식별할 수 있습니다. - PEERPODS_LIMIT_PER_NODE
-
이 값을 늘리면 노드에서 더 많은 피어 Pod를 실행할 수 있습니다. 기본값은
10
입니다. - ROOT_VOLUME_SIZE
- 더 큰 컨테이너 이미지를 사용하여 Pod의 이 값을 늘릴 수 있습니다. Pod VM의 루트 볼륨 크기(GB)를 지정합니다. 기본 및 최소 크기는 6GB입니다.
다음 명령을 실행하여 구성 맵을 생성합니다.
oc create -f peer-pods-cm.yaml
$ oc create -f peer-pods-cm.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow