AWS.Compute。EKSSelfManagedNode - AWS 電信網路建置器

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS.Compute。EKSSelfManagedNode

AWS TNB 支援 Amazon EKS自我管理節點,以自動化 Amazon Kubernetes 叢集節點 (Amazon EC2執行個體) EKS 的佈建和生命週期管理。若要建立 Amazon EKS節點群組,請執行下列動作:

  • 提供 的 ID,為您的叢集工作者節點選擇 Amazon Machine Images (AMI)AMI。

  • 提供 Amazon EC2金鑰對以供SSH存取。

  • 確保您的節點群組與 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 EKS自我管理節點運算參數的屬性,例如 Amazon EC2執行個體類型和 Amazon EC2執行個體AMIs。

ami_id

用來啟動執行個體的 AMI ID。 AWS TNB 支援使用 的執行個體IMDSv2。如需詳細資訊,請參閱IMDS 版本

必要:是

類型:字串

instance_type

執行個體大小。

必要:是

類型:字串

key_pair

啟用SSH存取的 Amazon EC2金鑰對。

必要:是

類型:字串

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 EKS自我管理節點擴展參數的屬性,例如所需的 Amazon EC2執行個體數量,以及節點群組中 Amazon EC2執行個體數量的下限和上限。

desired_size

此 中的執行個體數目 NodeGroup。

必要:是

類型:整數

min_size

此 中的執行個體數目下限 NodeGroup。

必要:是

類型:整數

max_size

此 中的執行個體數目上限 NodeGroup。

必要:是

類型:整數

屬性

node_role

連接至 Amazon EC2執行個體IAM的角色ARN的 。

必要:是

類型:字串

tags

要連接至資源的標籤。標籤將傳播到資源建立的執行個體。

必要:否

類型:清單

要求

cluster

AWS.Compute.EKS 節點。

必要:是

類型:字串

subnets

AWS.Networking.Subnet 節點。

必要:是

類型:清單

network_interfaces

AWS.Networking.ENI 節點。確保網路介面和子網路設定為相同的可用區域,否則實例會失敗。

當您設定 時network_interfaces, AWS TNB如果您在 AWS.Compute. EKS節點中包含 multus 屬性, ENIs 會從 multus_role 屬性取得 的相關許可。否則, ENIs 會從 node_role 屬性 AWS TNB取得與 相關的許可。

必要:否

類型:清單

security_groups

AWS.Networking.SecurityGroup 節點。

必要:否

類型:清單

placement_group

tosca.nodes AWS.Compute.PlacementGroup 節點。

必要:否

類型:字串

user_data

tosca.nodes AWS.Compute.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"