728x90
Amazon VPC CNI plugin for kubernetes
EKS의 각 EC2에 배포되어 추가적인 ENI를 attach 함으로써각 Pod 및 서비스에 할당한다.
즉 EKS에서 실행시킨 pod의 내부 IP 주소(ex. 10.0.0.4)를 할당하기 위해 ENI를 추가한다는 것이다.
장점
기존에 사용하던 overlay network처럼 IP를 할당하는 데에 캡슐화하는 overhead가 발생하지 않는다.
단점
instance 유형에 따라 ENI를 attach 할 수 있는 상한선이 정해져있으므로 각 instance에 대해서 이를 극복하는 추가적인 할당이 불가능하다.
Terraform에서 구성 방법
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
'DevOps > k8s' 카테고리의 다른 글
k8s dns ndots (0) | 2023.08.15 |
---|---|
k8s의 보안 (0) | 2023.08.13 |
k8s SealedSecret 사용법 (0) | 2023.06.23 |
느슨한 결합을 위한 ExternalName 서비스 (0) | 2023.06.21 |
K8S server-side apply & managed fields (0) | 2023.06.18 |