本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
-
必要:是
類型:清單
-
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"