/tf-aws-eks-gitlab-ci

Configures AWS EKS to provide a fully managed Kubernetes service for GitLab CI runners

Primary LanguageHCLMIT LicenseMIT

Elastic Kubernetes Service (EKS) Cluster for GitLab CI Runners

Configures an Amazon Elastic Kubernetes Service (EKS) cluster for GitLab CI runners using Terraform.

Amazon EKS Cluster Service Role

The main.tf file configures an Amazon IAM Role and attaches the AmazonEKSClusterPolicy. This allows the deployment of one or more EKS Clusters into your AWS account as documented here.

Check out this video to see the process in action!

Below is a diagram showing how the EKS cluster service role works:

Amazon EKS Cluster Service Role

GitLab Cross-Account Role

The gitlab.tf file configures an Amazon IAM Cross-Account Role that allows GitLab to deploy and manage an EKS cluster for CI runners to execute pipeline jobs.

Note: You can remove the gitlab.tf file, and related variable configurations, if you only wish to deploy the EKS Cluster Service Role without using GitLab.

Below is a diagram showing how the GitLab cross-account role works:

GitLab Cross-Account Role