본문 바로가기
💻 개발/졸업과제

kubernetes 사용하기 (with nCloud)

by 컴쏘 2023. 10. 4.

kubernetes를 어떻게 적용해야 할까?

 

IDEA 1

사용자 1명 당 1개의 Pod를 할당하고 해당 Pod에서 사용자별 container 관리하기

 

[구현 상세 IDEA]

1) 사용자가 가상 환경 container(container A)를 생성한다. (이때, Pod 1개가 새롭게 생성됨)

   a. 사용자에게 생성된 Pod가 없을 때만, Pod가 새롭게 생성됨

 

2) 사용자가 다른 가상환경 container(container B)를 1개 더 생성한다.

3) 이때, 미리 생성된 Pod(container A가 있는 Pod)에 container B가 할당된다.

 

IDEA 2

Pod를 만들어 놓고, Pod yaml 파일에 사용자를 추가하는 방식 (사용자 1명 당 vCPU 1EA, 2GB)

 

[구현 상세 IDEA]

1) 현재 노드 스펙 (vCPU 4EA, 8GB) - 리소스 할당량 결정

   a) 사용자 1명 당 vCPU 1EA, 2GB의 제한을 건다고 하면, 1개의 노드에 총 4명의 사용자 할당 가능

 

2) 동적 리소스 스케줄링 결정

 

여기 있는 위의 아이디어를 적용시키지는 않았지만, IDEA 2에 가깝다.


 

살제 적용 방식 (AutoScaling 적용 전 - 1개의 노드만 사용할 때)

설계 방식 (서버는 2종류)

  • kubernetes가 돌아가는 서버 (쿠버의 워커 노드 - default 1개)
  • kubernetes에게 명령을 내리는 서버

접속 경로

[노드 ip]:[노드 port]
  • 지금은 노드 ip가 하드코딩되어있지만, 추후에 확장성을 위해 node의 ip를 동적으로 할당할 것이다. 

 

vpc, subnet 만들고 난 후

 

[kubernetes service 구축하기]

 

public으로 설정해야 노드 ip에 접근 가능

클러스터 설정

 

default 노드풀 설정 - 4EA, 16GB

노드풀 설정
인증키 설정

 

 

[NAT GW 용 Subnet 만들기]

 

각 서비스 Zone에 NAT Gateway를 배치할 전용 서브넷을 생성해야 함

[KR-1]

KR-1
KR-2

 

 

[NAT GW 생성]

 

[VPC] - [NAT Gateway] - [NAT Gateway 생성]
NAT GW 정보 입력

 

이때, 공인 IP로만 서비스가 가능하다. (신청해주기)

 

확인하기 

NAT GW 생성 확인
공인 IP 생성 확인

 

 

[Route 설정]

 

[VPC] - [Route Table] - [~default-private-table] - [Routes 설정]
table 설정 정보 입력 후 [생성] 클릭
추가 내용 확인

 

kubernetes가 돌아가는 서버 (쿠버의 워커 노드 - default 1개) 구축은 완료가 되었다.