EKS의 각 EC2에 배포되어 추가적인 ENI를 attach 함으로써각 Pod 및 서비스에 할당한다.
즉 EKS에서 실행시킨 pod의 내부 IP 주소(ex. 10.0.0.4)를 할당하기 위해 ENI를 추가한다는 것이다.
기존에 사용하던 overlay network처럼 IP를 할당하는 데에 캡슐화하는 overhead가 발생하지 않는다.
instance 유형에 따라 ENI를 attach 할 수 있는 상한선이 정해져있으므로 각 instance에 대해서 이를 극복하는 추가적인 할당이 불가능하다.
module "vpc_cni_irsa" {
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
version = "~> 5.0"
role_name_prefix = "VPC-CNI-IRSA"
attach_vpc_cni_policy = true
vpc_cni_enable_ipv6 = true
oidc_providers = {
main = {
provider_arn = module.eks.oidc_provider_arn
namespace_service_accounts = ["kube-system:aws-node"]
}
}
tags = local.tags
}
eks module을 생성할 때 아래에 vpc_cni_irsa
module을 추가하여 구성할 수 있다.
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/managing-vpc-cni.html
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/cni-iam-role.html