Step 1: After successfully creating the infrastructure, add and install the Nginx Ingress Controller and repository using the following Helm commands:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install ingress-nginx ingress-nginx/ingress-nginx --version 4.10.0 --namespace ingress-nginx --create-namespace --set controller.service.annotations."service\.beta\.kubernetes\.io/aws-load-balancer-ssl-cert"="acm-cert-arn" -f nginx-config.yaml
You can also customize the Nginx value: [https://github.com/kubernetes/ingress-nginx]
Step 2: Run a bash script to create and authenticate CodeBuild with AWS EKS and update the EKS cluster's aws-auth ConfigMap with the new role.
- chmod +x
iam-role-autenticate-eks.sh
./iam-role-autenticate-eks.sh
Name | Version |
---|---|
terraform | >= 0.15.0 |
aws | >= 4.29.0 |
random | >= 3.6.0 |
template | >= 2.2.0 |
Name | Version |
---|---|
aws | 5.47.0 |
Name | Source | Version |
---|---|---|
acm_backend | terraform-aws-modules/acm/aws | 4.0.1 |
acm_cf | terraform-aws-modules/acm/aws | 4.0.1 |
ui | terraform-aws-modules/s3-bucket/aws | 3.3.0 |
ui-cf | terraform-aws-modules/cloudfront/aws | 3.4.0 |
Name | Description | Type | Default | Required |
---|---|---|---|---|
cluster_config | Configuration for the cluster, detailing specifics like size, type, and other cluster-related settings. | any |
n/a | yes |
ecr_names | Names of the Elastic Container Registry repositories required for the deployment. | any |
n/a | yes |
env | The deployment environment name, e.g., 'prod', 'dev', or 'test'. | string |
n/a | yes |
ui_conf | UI configuration settings, which may include theming, layout, and feature toggles. | any |
n/a | yes |
vpc_config | Configuration parameters for the VPC including subnets, CIDR blocks, and other network-related settings. | any |
n/a | yes |
Name | Description |
---|---|
acm_arn | n/a |
cloudfront_url | The URL of the CloudFront distribution. |
dynamodb_table_name | The name of the DynamoDB table. |
ecr_repository_details | Details of the ECR repositories including URLs and ARNs |
eks_values_private_nodes_01 | Values related to the AWS EKS managed node group for private-nodes-01 |
eks_values_private_nodes_02 | Values related to the AWS EKS managed node group for private-nodes-02 |
s3_bucket_name | The name of the S3 bucket. |
vpc_details | Details of the main VPC |
You can find the video at https://youtu.be/Uxx3Mkgc58k .