You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/karpenter/README.md
+40-3Lines changed: 40 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Karpenter Example
2
2
3
-
Configuration in this directory creates an AWS EKS cluster with [Karpenter](https://karpenter.sh/) provisioned for managing compute resource scaling. In the example provided, Karpenter is running on EKS Fargate yet Karpenter is providing compute in the form of EC2 instances.
3
+
Configuration in this directory creates an AWS EKS cluster with [Karpenter](https://karpenter.sh/) provisioned for managing compute resource scaling. In the example provided, Karpenter is provisioned on top of an EKS Managed Node Group.
You should see a new node named `karpenter.sh/provisioner-name/default` eventually come up in the console; this was provisioned by Karpenter in response to the scaled deployment above.
28
+
Validate if the Amazon EKS Addons Pods are running in the Managed Node Group and the `inflate` application Pods are running on Karpenter provisioned Nodes.
| <aname="input_create_iam_role"></a> [create\_iam\_role](#input\_create\_iam\_role)| Determines whether an IAM role is created |`bool`|`true`| no |
136
138
| <aname="input_create_instance_profile"></a> [create\_instance\_profile](#input\_create\_instance\_profile)| Whether to create an IAM instance profile |`bool`|`false`| no |
137
139
| <aname="input_create_node_iam_role"></a> [create\_node\_iam\_role](#input\_create\_node\_iam\_role)| Determines whether an IAM role is created or to use an existing IAM role |`bool`|`true`| no |
140
+
| <aname="input_create_pod_identity_association"></a> [create\_pod\_identity\_association](#input\_create\_pod\_identity\_association)| Determines whether to create pod identity association |`bool`|`false`| no |
138
141
| <aname="input_enable_irsa"></a> [enable\_irsa](#input\_enable\_irsa)| Determines whether to enable support for IAM role for service accounts |`bool`|`false`| no |
139
142
| <aname="input_enable_pod_identity"></a> [enable\_pod\_identity](#input\_enable\_pod\_identity)| Determines whether to enable support for EKS pod identity |`bool`|`true`| no |
140
143
| <aname="input_enable_spot_termination"></a> [enable\_spot\_termination](#input\_enable\_spot\_termination)| Determines whether to enable native spot termination handling |`bool`|`true`| no |
@@ -153,6 +156,7 @@ No modules.
153
156
| <aname="input_irsa_assume_role_condition_test"></a> [irsa\_assume\_role\_condition\_test](#input\_irsa\_assume\_role\_condition\_test)| Name of the [IAM condition operator](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) to evaluate when assuming the role |`string`|`"StringEquals"`| no |
154
157
| <aname="input_irsa_namespace_service_accounts"></a> [irsa\_namespace\_service\_accounts](#input\_irsa\_namespace\_service\_accounts)| List of `namespace:serviceaccount`pairs to use in trust policy for IAM role for service accounts |`list(string)`| <pre>[<br> "karpenter:karpenter"<br>]</pre> | no |
155
158
| <aname="input_irsa_oidc_provider_arn"></a> [irsa\_oidc\_provider\_arn](#input\_irsa\_oidc\_provider\_arn)| OIDC provider arn used in trust policy for IAM role for service accounts |`string`|`""`| no |
159
+
| <aname="input_namespace"></a> [namespace](#input\_namespace)| Namespace to associate with the Karpenter Pod Identity |`string`|`"kube-system"`| no |
156
160
| <aname="input_node_iam_role_additional_policies"></a> [node\_iam\_role\_additional\_policies](#input\_node\_iam\_role\_additional\_policies)| Additional policies to be added to the IAM role |`map(string)`|`{}`| no |
157
161
| <aname="input_node_iam_role_arn"></a> [node\_iam\_role\_arn](#input\_node\_iam\_role\_arn)| Existing IAM role ARN for the IAM instance profile. Required if `create_iam_role` is set to `false`|`string`|`null`| no |
158
162
| <aname="input_node_iam_role_attach_cni_policy"></a> [node\_iam\_role\_attach\_cni\_policy](#input\_node\_iam\_role\_attach\_cni\_policy)| Whether to attach the `AmazonEKS_CNI_Policy`/`AmazonEKS_CNI_IPv6_Policy` IAM policy to the IAM IAM role. WARNING: If set `false` the permissions must be assigned to the `aws-node` DaemonSet pods via another method or nodes will not be able to join the cluster |`bool`|`true`| no |
@@ -168,6 +172,7 @@ No modules.
168
172
| <aname="input_queue_managed_sse_enabled"></a> [queue\_managed\_sse\_enabled](#input\_queue\_managed\_sse\_enabled)| Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys |`bool`|`true`| no |
169
173
| <aname="input_queue_name"></a> [queue\_name](#input\_queue\_name)| Name of the SQS queue |`string`|`null`| no |
170
174
| <aname="input_rule_name_prefix"></a> [rule\_name\_prefix](#input\_rule\_name\_prefix)| Prefix used for all event bridge rules |`string`|`"Karpenter"`| no |
175
+
| <aname="input_service_account"></a> [service\_account](#input\_service\_account)| Service account to associate with the Karpenter Pod Identity |`string`|`"karpenter"`| no |
171
176
| <aname="input_tags"></a> [tags](#input\_tags)| A map of tags to add to all resources |`map(string)`|`{}`| no |
172
177
173
178
## Outputs
@@ -182,11 +187,13 @@ No modules.
182
187
| <aname="output_instance_profile_id"></a> [instance\_profile\_id](#output\_instance\_profile\_id)| Instance profile's ID |
183
188
| <aname="output_instance_profile_name"></a> [instance\_profile\_name](#output\_instance\_profile\_name)| Name of the instance profile |
184
189
| <aname="output_instance_profile_unique"></a> [instance\_profile\_unique](#output\_instance\_profile\_unique)| Stable and unique string identifying the IAM instance profile |
190
+
| <aname="output_namespace"></a> [namespace](#output\_namespace)| Namespace associated with the Karpenter Pod Identity |
185
191
| <aname="output_node_access_entry_arn"></a> [node\_access\_entry\_arn](#output\_node\_access\_entry\_arn)| Amazon Resource Name (ARN) of the node Access Entry |
186
192
| <aname="output_node_iam_role_arn"></a> [node\_iam\_role\_arn](#output\_node\_iam\_role\_arn)| The Amazon Resource Name (ARN) specifying the node IAM role |
187
193
| <aname="output_node_iam_role_name"></a> [node\_iam\_role\_name](#output\_node\_iam\_role\_name)| The name of the node IAM role |
188
194
| <aname="output_node_iam_role_unique_id"></a> [node\_iam\_role\_unique\_id](#output\_node\_iam\_role\_unique\_id)| Stable and unique string identifying the node IAM role |
189
195
| <aname="output_queue_arn"></a> [queue\_arn](#output\_queue\_arn)| The ARN of the SQS queue |
190
196
| <aname="output_queue_name"></a> [queue\_name](#output\_queue\_name)| The name of the created Amazon SQS queue |
191
197
| <aname="output_queue_url"></a> [queue\_url](#output\_queue\_url)| The URL for the created Amazon SQS queue |
198
+
| <aname="output_service_account"></a> [service\_account](#output\_service\_account)| Service Account associated with the Karpenter Pod Identity |
0 commit comments