티스토리 뷰

EKS 와 연결되는 aws 서비스들

  AWS
컨테이너 이미지 ECR
노드 EC2
로드밸런서 ELB
인증/인가 IAM
Private 네트워크 VPC
Volume EBS
k8s secret KMS
감사/로그 CloudWatch Log

 

EKS Clustster

Cluster 구성요소 설명
Control Plane - etcd, kubernetes api 등을 가짐
- kubernetes api는 eks endpoint를 통해 노출됨
- ec2 instance 위에서 돌아감
- 여러 AZ에 provision되어 ELB(NLB)로 트래픽을 받음
Node - VPC의 network를 이용해 control plane -> node로 트래픽 전송

 

eks endpoint

Public Access Private Access 설명
X X 불가
X O - 쿠버네티스 API서버의 모든 트래픽이 VPC 내에서만 이루어져야 함
(kubectl 을 vpc 내애서 가능)

- 퍼블릭 DNS에서 VPC의 private ip를 조회함
(확인되지 않는 경우, 퍼블릭 엑세스를 활성화한다음 다시 비활성화)
O X Default
- API서버에 대한 트래픽이 VPC를 벗어나지만 AWS 네트워크 범위임
- 엑세스할 수 있는 cidr 블록은 제어할 수 있음
O O 위의 두개 다 됨

 

 

eks log유형

Control Plane detatil
kubernetes API  
Audit  
Authenticator  
Controller Manager watches the shared state of the cluster through the apiserver and makes changes attempting to move the current state towards the desired state
Scheduler  

 

 

EKS Node

  관리형 노드 그룹 자체 관리형 노드 AWS Fargate 사용자 지정 AMI
프로비져닝 및 수명주기 관리  AWS 가 자동화      
AWS autoscaling group 모든 노드가 asg 일부임      
AWS launch template custom 또는 자동지정      
Cluster Autoscaler 자동으로 사용      
단일 그룹내 여러 노드그룹 지원함      
EC2에서 태그로 노드 등록 X kubernetes.io/cluster/my-cluster    
온디맨드 컴퓨팅     kubernete pod를 예약하여 컨테이너마다 온디맨드로 컴퓨터 용량 제공  
사용자 지정 AMI사용       O

 

스토리지(storage)

csi로 Amazon EBS의 container storage interface를 사용함

csi란?
Kubernetes가 컨테이너화된 워크로드에 임의의 스토리지 시스템을 노출할 수 있게 해주는 개방형 표준 API

- IAM 권한이 필요

- 쿠버네티스 storage class로 in-tree AWS EBS storage provisioner를 사용함

 

네트워크(network)

VPC 요구사항

서로다른 AZ에 있는 2개 이상의 subnet 준비

 

EKS가 network interface 생성

eks 클러스터를 생성하는경우, 클러스터와 VPC간의 통신을 위해서 eks가 지정한 서브넷에  2~3개의 network interface를 생성한다.

해당 network interface 설명엔 Amazon EKS cluster-name이 포함되어 있다. 

 

 

EKS가 security group 생성

1. eks 클러스터를 생성하는 경우, eks는 eks-cluster-sg-my-cluster-uniqueID 이름의 sg를 생성한다.

2. eks는 이 sg를 다음 두개에 연결한다

  • eks 가 만든 network interface
  • node group에 있는 node의 network interface

기본으로 적용되는 규칙으로써,클러스터와 노드 간에 모든 트래픽이 자유롭게 흐를 수 있으며 모든 아웃바운드 트래픽은 모든 대상에 대해 허용된다.

 

Pod 네트워크

설치할 Add on
AWS load balancer controller
Core DNS
kube-proxy
Calico 추가기능

 

 

쿠버네티스 오토스케일링

VPA pod의 리소스 limit 과 request를 자동 조절하여 사용자가 직접 리소스 양을 관리하지 않을 수 있게 해줌
HPA pods의 수를 해당 리소스의 CPU 사용률에 따라 자동으로 조정
LoadBalacer ALB나 NLB사용

'CLOUD > AWS' 카테고리의 다른 글

aws cli v2 경로 이슈  (0) 2024.05.28
[AWS] ECS 네트워크 모드  (0) 2024.05.02
[AWS/Terraform] IAM, instance profile 구성  (0) 2022.09.11
[AWS] Lambda  (0) 2022.09.07
[AWS] eks 에 External DNS 설정하기 (Route53 사용하기)  (0) 2022.09.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함