📂
Amazon EKS
  • Amazon EKS
  • 워크스페이스 생성하기
    • Cloud9 IDE 환경 구성
    • IAM 역할 생성
    • SSH & CMK Key 생성하기
  • EKS 클러스터 구축
    • EKS 클러스터 만들기
  • 쿠버네티스 대시보드 배포
    • Kubernetes 공식 대시보드 배포
  • 마이크로서비스 배포
    • 예제 애플리케이션 배포
    • 서비스 스케일(Scaling)
    • 애플리케이션 정리하기
  • 애플리케이션 배포 - Helm
    • HELM 설치
    • Helm으로 Nginx 배포
    • Helm을 사용하여 마이크로서비스 배포
    • 정리하기
  • 리소스 관리 - POD 배치
    • NodeSelector
    • Affinity and Anti-affinity
    • 더 실용적인 사용 사례
    • 정리하기
  • 리소스 관리 - Health Checks
    • Liveness 프로브 구성
    • Readiness 프로브 구성
    • 정리하기
  • 리소스 관리 - AutoScaling
    • HPA 구성하기
    • CA 구성하기
    • 정리하기
  • 네트워킹 - 서비스 노출
    • 서비스와 애플리케이션 연결
    • 서비스에 접근하기
    • 서비스 노출
    • Ingress
    • Ingress Controller
    • 정리하기
  • 네트워크 - Calico 정책
    • Calico 설치하기
    • Stars Policy Demo
    • 정리하기
  • Updating 권한설정 - RBAC
    • 테스트 POD 설치
    • 사용자 생성 및 맵핑
    • 역할과 바인딩
    • 정리하기
  • Updating 권한설정 - IAM 그룹
    • IAM Role, Group & User 생성하기
    • RBAC 설정하기
    • EKS 엑세스 테스트
    • 정리하기
  • Updating 권한설정 - Service account
    • OIDC 자격 증명 공급자 생성하기
    • IAM 역할 생성 및 지정
    • 샘플 POD 배포
    • 정리하기
  • Updating - 네트워크 - POD Security Group
    • SG 생성하기
    • RDS 생성하기
    • CNI 구성하기
    • SG 정책
    • Pod 배포하기
    • 정리하기
  • Updating - 모니터링 - Prometheus and Grafana
    • Prometheus 배포하기
    • Grafana 배포하기
    • 정리하기(Optional)
  • Updating 모니터링 - X-Ray
    • X-Ray DaemonSet 배포하기
    • 샘플 마이크로서비스 배포
    • X-Ray console 확인
    • 정리하기(Optional)
  • Updating 모니터링 - Container Insights
    • 사전 준비
    • Container Insights 구성하기
    • 부하 테스트
    • Container Insights 확인하기
    • 정리하기(Optional)
  • Updating CD - Gitops with Flux
    • 사전 준비
    • Codepipeline
    • EKS에 배포
    • 정리하기
  • Updating Argo Rollouts
  • Updating Service Mesh - AWS App Mesh
    • Fargate 및 OBSERVABILITY 구성
    • Product Catalog App 배포
    • APP MESH 설치
    • Porting to APP MESH
    • Virtual Gateway 구성
    • Canary
    • Observability
  • Updating 버전 업그레이드 - EKS Cluster
    • Upgrade EKS control Plane
    • Upgrade EKS CORE ADD-ONs
    • Upgrade Managed Node Group
Powered by GitBook
On this page

Was this helpful?

  1. Updating - 네트워크 - POD Security Group

CNI 구성하기

PreviousRDS 생성하기NextSG 정책

Last updated 3 years ago

Was this helpful?

이 새로운 기능을 활성화 하기 위해 Amazon EKS 클러스터에는 쿠버네티스 컨트롤 플레인에서 실행되는 두 가지 새로운 구성 요소가 있습니다.

  • 보안 그룹이 필요한 파드에 제한 및 요청을 추가하는 변형(mutation) webhook

  • 해당 파드와 관련된 관리를 담당하는 리소스 컨트롤러

이 기능을 용이하게 하기 위해 각 워커 노드는 단일 트렁크 네트워크 인터페이스 및 여러 분기 네트워크 인터페이스와 연결 됩니다. 트렁크 인터페이스는 인스턴스에 연결된 표준 네트워크 인터페이스 역할을 합니다. 그런 다음 VPC 리소스 컨트롤러는 분기 인터페이스를 트렁크 인터페이스에 연결 합니다. 이렇게 하면 인스턴스당 연결할 수 있는 네트워크 인터페이스 수가 늘어납니다. 보안 그룹이 네트워크 인터페이스로 지정 되었으므로 이제 워커 노드에 할당된 추가 네트워크 인터페이스에 특정 보안 그룹이 필요한 파드를 예약 할 수 있습니다.

먼저 EC2 인스턴스가 네트워크 인터페이스, 프라이빗 IP 주소 및 인스턴스와의 연결 및 분리를 관리 할 수 ​​있도록 새로운 IAM 정책 노드 그룹 역할을 연결해야 합니다.

다음 명령은 AmazonEKSVPCResourceController 정책을 클러스터 역할에 추가합니다.

aws iam attach-role-policy \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSVPCResourceController \
    --role-name ${ROLE_NAME}
    

다음으로, CNI 플러그인이 enable_pod_eni 변수를 aws-node daemonset에서 trunk로 설정 하여 파드에 대한 네트워크 인터페이스를 관리 할 수 있게 해줍니다.

kubectl -n kube-system set env daemonset aws-node ENABLE_POD_ENI=true

daemonset의 롤링 업데이트를 진행 합니다.

kubectl -n kube-system rollout status ds aws-node

이 설정이 true로 세팅되면 플러그인은 클러스터의 각 노드에 대해 vpc.amazonaws.com / has-trunk-attached = true 값이 있는 레이블을 호환되는 인스턴스에 추가합니다. VPC 리소스 컨트롤러는 설명이 aws-k8s-trunk-eni인 트렁크 네트워크 인터페이스라는 특수 네트워크 인터페이스를 생성하고 연결합니다.

 kubectl get nodes \
  --selector alpha.eksctl.io/nodegroup-name=nodegroup-sec-group \
  --show-labels
  

네트워크 인터페이스