This manual provides step-by-step instructions for deploying an Amazon EKS (Elastic Kubernetes Service) cluster using Terraform. It includes the configuration of essential components such as AWS credentials, infrastructure provisioning, EBS CSI driver installation, and Kubernetes environment setup.
Before starting the deployment, you will need the following:
Compressed folder: oneconnecEKS.zip
AWS credentials (IAM user):
Access Key ID
Secret Access Key
Region name where the deployment will take place (e.g., us-east-1
)
Required software (either pre-installed or with installation instructions):
Terraform (version _____)
AWS CLI (version _____)
kubectl (version _____)
Key pair for access authentication
Run the following command:
Then enter the following when prompted:
Access Key ID
Secret Access Key
Default region name (must match your target deployment region)
Output format: leave it blank (press Enter)
Wait for the process to complete (this may take a few minutes).
Ensure there are no error messages in red before proceeding.
Review the summary output — it should indicate how many resources will be created.
If any error messages appear, stop the process and contact the technical team before continuing.
Go to: https://console.aws.amazon.com
terraform apply
(usually your currently logged-in user)terraform apply
(usually your currently logged-in user)Add the following policies:
AmazonEKSAdminPolicy
AmazonEKSClusterAdminPolicy
Update your kubectl
configuration with the following command:
Then verify the connection:
If the connection is successful, you'll see a list of the nodes in your EKS cluster.
Run the following commands in your terminal:
Take note of these values — you’ll need them in the next steps.
aws-ebs-csi-driver-trust-policy.json
with the following content:Replace the following placeholders:
TU_AWS_ACCOUNT_ID
: Your AWS Account ID from step 7.1
TU_REGION
: Your AWS region (e.g., us-east-1
)
TU_OIDC_ID
: The OIDC ID from step 7.1
To create a new IAM role, run:
If the role already exists and you need to update it, run:
Open the oneconnect.env
file with a text editor (e.g., nano
) and update the environment variables as needed for your deployment:
Modify the values according to your infrastructure, credentials, and environment-specific settings.
setup.sh
Script