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
  • The instance type must have sufficient resources for Turbonomic to manage your environment. For guidance on the required resources based on the size of your environment, see this topic.

  • Do not use spot instances. Spot instances can be taken down at any time, which can then result in loss of access to Turbonomic.

  • Instance types running ARM-based processors (for example, AWS Graviton) are not supported.

  • Instance types running AWS Fargate are not recommended .
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.
Note:

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.

Next step

Install Turbonomic on AWS EKS.