All Projects → iplabs → terraform-kubernetes-alb-ingress-controller

iplabs / terraform-kubernetes-alb-ingress-controller

Licence: MPL-2.0 license
Terraform module to ease deployment of the AWS ALB Ingress Controller

Programming Languages

HCL
1544 projects

Projects that are alternatives of or similar to terraform-kubernetes-alb-ingress-controller

terraform-aws-lb-s3-bucket
Terraform module to provision an S3 bucket with built in IAM policy to allow AWS Load Balancers to ship access logs
Stars: ✭ 29 (-47.27%)
Mutual labels:  alb, terraform-module
terraform-aws-ecs-alb-service-task
Terraform module which implements an ECS service which exposes a web service via ALB.
Stars: ✭ 108 (+96.36%)
Mutual labels:  alb, terraform-module
terraform-aws-ecs-web-app
Terraform module that implements a web app on ECS and supports autoscaling, CI/CD, monitoring, ALB integration, and much more.
Stars: ✭ 175 (+218.18%)
Mutual labels:  alb, terraform-module
Haproxy Ingress
HAProxy Ingress
Stars: ✭ 702 (+1176.36%)
Mutual labels:  ingress-controller
Kong Ingress
[DEPRECATED] A Kubernetes Ingress for Kong
Stars: ✭ 96 (+74.55%)
Mutual labels:  ingress-controller
K8s Bigip Ctlr
Repository for F5 Container Ingress Services for Kubernetes & OpenShift.
Stars: ✭ 204 (+270.91%)
Mutual labels:  ingress-controller
terraform-aws-s3-bucket
Terraform module that creates an S3 bucket with an optional IAM user for external CI/CD systems
Stars: ✭ 138 (+150.91%)
Mutual labels:  terraform-module
Application Gateway Kubernetes Ingress
This is an ingress controller that can be run on Azure Kubernetes Service (AKS) to allow an Azure Application Gateway to act as the ingress for an AKS cluster.
Stars: ✭ 448 (+714.55%)
Mutual labels:  ingress-controller
terraform-aws-vpn-gateway
Terraform module which creates VPN gateway resources on AWS 🇺🇦
Stars: ✭ 101 (+83.64%)
Mutual labels:  terraform-module
Enroute
EnRoute Universal Gateway: Cloud Native API gateway with OpenAPI support and free L7 rate-limiting built on Envoy proxy
Stars: ✭ 126 (+129.09%)
Mutual labels:  ingress-controller
Ingress Merge
Merge Ingress Controller for Kubernetes
Stars: ✭ 124 (+125.45%)
Mutual labels:  ingress-controller
Kubernetes Ingress Controller
🦍 Kong for Kubernetes: the official Ingress Controller for Kubernetes.
Stars: ✭ 1,347 (+2349.09%)
Mutual labels:  ingress-controller
Skipper
An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress
Stars: ✭ 2,606 (+4638.18%)
Mutual labels:  ingress-controller
K8s Helm Helmfile
Project which compares 3 approaches to deploy apps on Kubernetes cluster (using kubectl, helm & helmfile)
Stars: ✭ 34 (-38.18%)
Mutual labels:  ingress-controller
terraform-oci-compute-instance
Terraform Module for creating Oracle Cloud Infrastructure compute instances
Stars: ✭ 29 (-47.27%)
Mutual labels:  terraform-module
Kubeadm Playbook
Fully fledged (HA) Kubernetes Cluster using official kubeadm, ansible and helm. Tested on RHEL/CentOS/Ubuntu with support of http_proxy, dashboard installed, ingress controller, heapster - using official helm charts
Stars: ✭ 533 (+869.09%)
Mutual labels:  ingress-controller
terraform-aws-cloudwatch-logs
Terraform Module to Provide a CloudWatch Logs Endpoint
Stars: ✭ 59 (+7.27%)
Mutual labels:  terraform-module
Nghttpx Ingress Lb
nghttpx ingress controller for Kubernetes
Stars: ✭ 115 (+109.09%)
Mutual labels:  ingress-controller
Ingress Nginx
NGINX Ingress Controller for Kubernetes
Stars: ✭ 11,732 (+21230.91%)
Mutual labels:  ingress-controller
Kanali
A Kubernetes Native API Management Solution
Stars: ✭ 192 (+249.09%)
Mutual labels:  ingress-controller

Terraform module: AWS ALB Ingress Controller installation

This Terraform module can be used to install the AWS ALB Ingress Controller into a Kubernetes cluster.

Improved integration with Amazon Elastic Kubernetes Service (EKS)

This module can be used to install the ALB Ingress controller into a "vanilla" Kubernetes cluster (which is the default) or it can be used to integrate tightly with AWS-managed EKS clusters which allows the deployed pods to use IAM roles for service accounts.

It is required, that an OpenID connect provider has already been created for your EKS cluster for this feature to work.

Just make sure that you set the variable k8s_cluster_type to eks type if running on EKS.

Examples

EKS deployment

To deploy the AWS ALB Ingress Controller into an EKS cluster, the following snippet might be used.

locals {
   # Your AWS EKS Cluster ID goes here.
  "k8s_cluster_name" = "my-k8s-cluster"
}

data "aws_region" "current" {}

data "aws_eks_cluster" "target" {
  name = local.k8s_cluster_name
}

data "aws_eks_cluster_auth" "aws_iam_authenticator" {
  name = data.aws_eks_cluster.target.name
}

provider "kubernetes" {
  alias = "eks"
  host                   = data.aws_eks_cluster.target.endpoint
  cluster_ca_certificate = base64decode(data.aws_eks_cluster.target.certificate_authority[0].data)
  token                  = data.aws_eks_cluster_auth.aws_iam_authenticator.token
  load_config_file       = false
}

module "alb_ingress_controller" {
  source  = "iplabs/alb-ingress-controller/kubernetes"
  version = "3.4.0"

  providers = {
    kubernetes = "kubernetes.eks"
  }

  k8s_cluster_type = "eks"
  k8s_namespace    = "kube-system"

  aws_region_name  = data.aws_region.current.name
  k8s_cluster_name = data.aws_eks_cluster.target.name
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].