AWS EKS requirements for Turbonomic
This topic provides guidelines for the AWS EKS cluster that will be used for your Turbonomic installation.
Assumptions
This topic assumes the following:
-
You are familiar with AWS EKS clusters and associated resources, such as the EBS CSI driver and EKS load balancers. You know how to deploy and manage these clusters and resources, and troubleshoot any issues that are not related to your Turbonomic installation.
-
The AWS EKS cluster for your Turbonomic installation has been created and is running.
General requirements
To install Turbonomic, your environment must meet certain requirements. Before proceeding, be sure to review the requirements outlined in this topic.
IAM OIDC provider for the AWS EKS cluster
Your cluster must have an associated OpenID Connect (OIDC) issuer URL.
To use AWS Identity and Access Management (IAM) roles for Turbonomic, an IAM OIDC provider must exist for your cluster’s OIDC issuer URL.
AWS EKS cluster
The AWS EKS cluster that you use for your Turbonomic installation must meet the following requirements:
Item | Requirements |
---|---|
Cluster service role |
Your EKS cluster must be assigned an IAM role that includes the following policies: |
Virtual Private Cloud (VPC) and subnets | Use the default or create a new one. |
AWS EKS cluster nodes
The nodes in the AWS EKS cluster must meet the following requirements:
Item | Requirements |
---|---|
Amazon Machine Image (AMI) type |
Turbonomic recommends nodes with the Managed Linux node type, which runs Amazon Linux applications on Amazon EC2 instances. |
Node IAM role |
The nodes must be assigned an IAM role that includes the following policies: |
Instance type |
|
Available storage for persistent volumes (PVs) | At least 150 GB is required to support all PVs. |
Node group scaling configuration |
The cluster to which you install Turbonomic must have at least three worker nodes. For guidance on the number of nodes to create based on the size of your environment, see this topic. |
Amazon EBS CSI driver for AWS EKS
Amazon Elastic Block Store (EBS) provides a EBS Container Storage Interface (CSI) driver, an add-on for
AWS EKS that manages the lifecycle of EBS volumes that you create for Kubernetes. The Amazon EKS
add-on name is aws-ebs-csi-driver
. The CSI driver creates Amazon EBS volumes for
Kubernetes generic ephemeral volumes and persistent volumes (PV).
Turbonomic requires the CSI driver to be assigned an IAM role that
includes the AmazonEBSCSIDriverPolicy
policy.
Custom storage class
The custom storage class must meet the following requirements.
Item | Requirements |
---|---|
Binding mode | Set to WaitForFirstConsumer . |
Reclaim policy | Set to Retain . |
Volume expansion | Set to true . |
Security context does not need to be annotated. You can give Turbonomic the name of a specific security context to use.
The following example shows a YAML resource that meets the requirements.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: gp3-new
provisioner: ebs.csi.aws.com
parameters:
fsType: ext4
type: gp3
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
For more information, see this topic.
AWS EKS load balancer
By default, Turbonomic sets up an NGINX service with a type of Elastic Load Balancer. However, it is recommended that you leverage one of the load balancers that is offered by AWS, such as Network Load Balancer or Application Load Balancer, and then configure the service annotations available for the chosen load balancer in the Turbonomic Custom Resource.
For more information, see this topic.
Other requirements
If you are planning to add AWS targets in Turbonomic to optimize the performance of workloads, you must set up an IAM role or IAM user for the target connection.
For more information, see Setting up an AWS IAM user or IAM role.