AWS.Compute.EKSSelfManagedNode - AWS 통신 네트워크 빌더

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS.Compute.EKSSelfManagedNode

AWS TNB 는 Amazon EKS 자체 관리형 노드를 지원하여 Amazon EKS Kubernetes 클러스터용 노드(Amazon EC2 인스턴스)의 프로비저닝 및 수명 주기 관리를 자동화합니다. Amazon EKS 노드 그룹을 생성하려면 다음을 수행합니다.

  • 의 ID를 제공하여 클러스터 작업자 노드에 대한 Amazon Machine Images(AMI)를 선택합니다AMI.

  • SSH 액세스를 위한 Amazon EC2 키 페어를 제공합니다.

  • 노드 그룹이 Amazon EKS 클러스터와 연결되어 있는지 확인합니다.

  • 인스턴스 유형과 원하는 크기, 최소 크기 및 최대 크기를 제공합니다.

  • 작업자 노드의 서브넷을 제공합니다.

  • 선택적으로 보안 그룹, 노드 레이블 및 배치 그룹을 노드 그룹에 연결합니다.

구문

tosca.nodes.AWS.Compute.EKSSelfManagedNode: capabilities: compute: properties: ami_id: String instance_type: String key_pair: String root_volume_encryption: Boolean root_volume_encryption_key_arn: String scaling: properties: desired_size: Integer min_size: Integer max_size: Integer properties: node_role: String tags: List requirements: cluster: String subnets: List network_interfaces: List security_groups: List placement_group: String user_data: String labels: List

기능

compute

Amazon EC2 인스턴스 유형 및 Amazon 인스턴스 와 같은 Amazon EKS 자체 관리형 노드의 컴퓨팅 파라미터를 정의하는 속성입니다EC2AMIs.

ami_id

인스턴스를 시작하는 데 사용되는 AMI ID입니다. AWS TNB 는 를 활용하는 인스턴스를 지원합니다IMDSv2. 자세한 내용은 IMDS 버전 단원을 참조하십시오.

필수 항목 여부: 예

유형: String

instance_type

인스턴스의 크기입니다.

필수 항목 여부: 예

유형: String

key_pair

SSH 액세스를 활성화하는 Amazon EC2 키 페어입니다.

필수 항목 여부: 예

유형: String

root_volume_encryption

Amazon EBS 루트 볼륨에 대해 Amazon EBS 암호화를 활성화합니다. 이 속성이 제공되지 AWS TNB 않으면 는 기본적으로 Amazon EBS 루트 볼륨을 암호화합니다.

필수 항목 여부: 아니요

기본값: true

타입: 부울

root_volume_encryption_key_arn

AWS KMS 키ARN의 . AWS TNB 는 일반 키 ARN, 다중 리전 키 ARN 및 별칭 를 지원합니다ARN.

필수 여부: 아니요

유형: 문자열

참고
  • root_volume_encryption 가 false인 경우 를 포함하지 마십시오root_volume_encryption_key_arn.

  • AWS TNB 는 Amazon EBS지원 의 루트 볼륨 암호화AMI를 지원합니다.

  • AMI의 루트 볼륨이 이미 암호화된 경우 루트 볼륨을 다시 암호화하려면 root_volume_encryption_key_arn에 대한 AWS TNB 를 포함해야 합니다.

  • AMI의 루트 볼륨이 암호화 AWS TNB되지 않은 경우 는 root_volume_encryption_key_arn를 사용하여 루트 볼륨을 암호화합니다.

    를 포함하지 않는 경우 root_volume_encryption_key_arn AWS TNB는 AWS Managed Services 를 사용하여 루트 볼륨을 암호화합니다.

  • AWS TNB 는 암호화된 를 복호화하지 않습니다AMI.

scaling

원하는 Amazon EC2 인스턴스 수, 노드 그룹의 최소 및 최대 Amazon EC2 인스턴스 수와 같은 Amazon EKS 자체 관리형 노드의 조정 파라미터를 정의하는 속성입니다.

desired_size

이 의 인스턴스 수입니다 NodeGroup.

필수 여부: 예

유형: 정수

min_size

이 의 최소 인스턴스 수입니다 NodeGroup.

필수 여부: 예

유형: 정수

max_size

이 의 최대 인스턴스 수입니다 NodeGroup.

필수 여부: 예

유형: 정수

속성

node_role

Amazon EC2 인스턴스에 연결된 IAM 역할ARN의 입니다.

필수 항목 여부: 예

유형: String

tags

리소스에 연결할 태그입니다. 태그는 리소스에서 생성한 인스턴스에 전파됩니다.

필수 여부: 아니요

유형: 목록

요구 사항

cluster

AWS.Compute.EKS 노드입니다.

필수 항목 여부: 예

유형: String

subnets

AWS.Networking.Subnet 노드입니다.

필수 여부: 예

유형: 목록

network_interfaces

AWS.Networking.ENI 노드입니다. 네트워크 인터페이스와 서브넷이 동일한 가용 영역으로 설정되어 있는지 확인하세요. 그렇지 않으면 인스턴스화가 실패합니다.

를 설정하면 AWS TNB.Compute. 노드에 multus_role 속성을 포함하면 가 multus 속성ENIs에서 와 관련된 권한을 network_interfaces얻습니다. AWSEKS 그렇지 않으면 는 node_role 속성ENIs에서 와 관련된 권한을 AWS TNB얻습니다.

필수 여부: 아니요

유형: 목록

security_groups

AWS.Networking.SecurityGroup 노드입니다.

필수 여부: 아니요

유형: 목록

placement_group

tosca.nodes.AWS.컴퓨팅 노드.PlacementGroup

필수 여부: 아니요

유형: 문자열

user_data

tosca.nodes.AWS.컴퓨팅UserData 노드 참조. 사용자 데이터 스크립트는 자체 관리형 노드 그룹에서 시작한 Amazon EC2 인스턴스로 전달됩니다. 사용자 지정 사용자 데이터를 실행하는 데 필요한 권한을 노드 그룹에 전달된 node_role에 추가합니다.

필수 여부: 아니요

유형: 문자열

labels

노드 레이블 목록입니다. 노드 레이블에는 이름과 값이 있어야 합니다. 다음 기준을 사용하여 레이블을 생성합니다.

  • 이름과 값은 로 구분해야 합니다=.

  • 이름과 값은 각각 최대 63자까지 가능합니다.

  • 레이블에는 문자(A~Z, a~z), 숫자(0~9) 및 다음 문자가 포함될 수 있습니다. [-, _, ., *, ?]

  • 이름과 값은 영숫자, ?또는 * 문자로 시작하고 끝나야 합니다.

예제: myLabelName1=*NodeLabelValue1

필수 여부: 아니요

유형: 목록

SampleEKSSelfManagedNode: type: tosca.nodes.AWS.Compute.EKSSelfManagedNode capabilities: compute: properties: ami_id: "ami-123123EXAMPLE" instance_type: "c5.large" key_pair: "SampleKeyPair" root_volume_encryption: true root_volume_encryption_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" scaling: properties: desired_size: 1 min_size: 1 max_size: 1 properties: node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleNodeRole" tags: - "Name=SampleVPC" - "Environment=Testing" requirements: cluster: SampleEKSCluster subnets: - SampleSubnet network_interfaces: - SampleNetworkInterface01 - SampleNetworkInterface02 security_groups: - SampleSecurityGroup01 - SampleSecurityGroup02 placement_group: SamplePlacementGroup user_data: CustomUserData labels: - "sampleLabelName001=sampleLabelValue001" - "sampleLabelName002=sampleLabelValue002"