EKS Agentless Setup

Sedai independently connects to each Elastic Kubernetes Service (EKS) cluster within an AWS account. EKS uses IAM for authentication and Kubernetes Role Based Access Control (RBAC) for authorization.

To connect an EKS cluster to Sedai, follow these steps:

Once complete, you can integrate the cluster within Sedai and connect its monitoring data.


Step 1: Configure IAM

AWS Identity and Access Management (IAM) authentication requires you to do the following:

Step 2: Set up EKS API access

When you create a cluster, Amazon EKS creates an endpoint for the managed Kubernetes API server that you can use to communicate with your cluster using Kubernetes management tools such as kubectl.

By default, this API server endpoint is public, and access to the API server is secured using a combination of IAM and native Kubernetes Role Based Access Control (RBAC).

You can enable private access to the Kubernetes API server so all communication between your nodes and the API server stays within your Virtual Private Cloud (VPC). You can also limit the IP addresses that can access your API server from the internet or completely disable internet access to the API server.

Depending on your organization's setup, proceed with any of the following connectivity options:

Step 3: Set up Kubernetes RBAC

Next, set up the Kubernetes RBAC for Authorization. Use the IAM User/Role created in Step 1.

Create ClusterRole and ClusterRoleBinding

Based on your Sedai IAM Policy selection, download and apply the ClusterRole and ClusterRoleBindings:

Confirm kubectl access to your cluster and apply the following ClusterRole and ClusterRoleBinding:

curl -O https://raw.githubusercontent.com/SedaiEngineering/sedai-onboarding/main/eks/sedai-autonomous-mode-clusterrole.yaml
kubectl apply -f sedai-autonomous-mode-clusterrole.yaml

Update EKS aws-auth ConfigMap

The group name in the configuration from the previous step is sedai-service-account. Next you will map the IAM Role (or User) to this group by updating the aws-auth configMap.

Take the backup of your current ConfigMap:

kubectl -n kube-system get configmaps aws-auth -o yaml > aws-auth_before-sedai-integration-`date +%F`.yaml

Open aws-auth ConfigMap for editing:

kubectl -n kube-system edit configmaps aws-auth

Add the following snippet under mapUsers

Update the IAM Role ARN below (1111222233) to your unique Role ARN you created.

mapRoles: | 
- rolearn: arn:aws:iam::111122223333:role/SedaiAWSIntegrationRole
  username: arn:aws:iam::111122223333:role/SedaiAWSIntegrationRole
  groups:
    - sedai-service-account

Step 4: Fetch EKS cluster details

Access the following details to connect your EKS cluster to Sedai. When you're done, navigate to Settings > Integrations and select the Add Cloud button. Follow the prompts to add an EKS cluster.

In the cluster integration screens, Sedai automatically generates Helm and kubectl commands to deploy the Smart Agent within your cluster. Underneath the commands is an option to switch to agentless setup.

From your AWS Console, navigate to your EKS cluster and select Configurations to access the following details:

  • EKS Cluster Name

  • Region

  • Cluster URL (endpoint)

  • Cluster Authority Certificate

Last updated