반응형
Notice
Recent Posts
Recent Comments

04-29 07:04
관리 메뉴

SaevOps

[NCP] NCP 자격증 시험 정리 200(Compute & Storage) -3 본문

클라우드/NBP

[NCP] NCP 자격증 시험 정리 200(Compute & Storage) -3

세브웁스 2023. 2. 23. 10:00
반응형

Container Registry

컨테이너 이미지를 쉽게 저장하고 관리할 수 있는 컨테이너 레지스트리 관리 서비스
- Public/Private Endpoint 제공을 통해 나만의 컨테이너 레지스트리 구성
- 도커 레지스트리 HTTP API V2 지원

저장소로 Object Storage를 이용
- 컨테이너 관리 용이
- 컨테이너 취약점 분석 가능

Docker의 활용 - Dockerfile

1) Dockerfile - build
2) NCP Container Registry-run
- Dockerfile은 컨테이너 이미지 description file
- Dockerfile 이용하여 컨테이너 이미지 생성(build)

일반 VM과 컨테이너의 차이

- Virtualization은 단일 시스템에서 여러 OS가 동시에 실행
- Container는 동일한 OS 커널을 공유하며 시스템의 나머지 부분으로 프로세스를 격리
- 기존 가상화 기반으로 많이 사용되는 OS 전체 가상화 방식이 아닌, 하나의 OS 커널 위에 각각의 개별 프로세스와 그에 따른 환경을 격리화 시키는 방식.
- OS 가상화보다 오버헤드가 적고, 성능 손실이 적음

Docker의 특징 - Layered Image

- Union Filesystem이라는 기술을 이용해 여러 Layer를 하나의 파일 시스템으로 인식될 수 있도록 한다.
- 수정 사항이 생기면, Layer를 추가하여 기록
- 최상단에는 항상 R/W Layer 존재
- 공통 부분은 Container들이 공유하여 사용

Docker 특징 - Docker Hub / Docker Registry

- 사용자에 의해 생성된 이미지는 Docker Registry라는 이미지 공간에 업로드 가능
- 다른 사용자의 이미지 사용도 가능
- Docker Hub, Private Registry , NCP Container Registry, ACR, ECR, ...

완전 관리형 Kubernetes Cluster 제공

- Container의 배포(스케쥴링), 운영(HA,Failover), 확장(스케일링)을 자동화하기 위한 플랫폼
- Control Plane 설치, 운영에 대한 고민 없이, 사용자는 Container가 구동되는 Worker node에 대한 관리만 하면 됨
- Container Registry, Load Balancer 등 네이버 클라우드 플랫폼 다른 서비스와 통합하여 사용 가능

 

쿠버네티스의 주요 기능

1. Automatic Binpacking
- Worker node의 가용성을 유지하면서 보유한 리소스를 충분히 활용할 수 있도록 스스로 스케쥴링하며 컨테이너 배치

2. Service Discovery & Load Balancing
- 컨테이너에 IP 주소를 자동으로 할당하고 클러스터 내 트래픽을 로드 밸런싱 할 수 있는 컨테이너 세트에 단일 DNS 이름을 할당함

3. Storage Orchestration
- 로컬 저장소를 선택하거나 NFS, iSCSI 등과 같은 공유 네트워크 스토리지를 컨테이너에 할당/마운트 하며 사용 가능

4. Self Healing
- 실패한 컨테이너를 자동으로 다시 시작하고, 사용자가 정의한 헬스체크에 응답이 없는 컨테이너를 종료함.
워커 노드 장애시 사용 가능한 다른 워커 노드에 컨테이너를 다시 기동함

5. Secret & Configuration Management
- Application 연동 및 접근 제어를 위한 보안 키, 설정 내역을 컨테이너 이미지의 변경 없이 업데이트 할 수 있고,
외부로 노출하지 않고 사용 가능

6. Batch Execution
- 컨테이너 기반의 서비스 관리 뿐 아니라 배치 및 CI 작업 부하를 관리할 수 있으므로 원하는 경우 실패한 컨테이너 대체 가능

7. Horizontal Scaling
- CPU 사용률과 같은 metric을 기반으로 pod의 Deployments, replicaset을 스케쥴링하여 수평적 확장 가능

8. Automatic Rollbacks & Rollouts
- 컨테이너의 응용 프로그램이나 구성에 대한 변경 사항을 점진적으로 업데이트하고 문제 발생 시 자동으로 롤백

 

쿠버네티스 컴포넌트

 

Pod란?

- 파드는 쿠버네티스 애플리케이션의 기본 실행 단위
- 만들고 배포할 수 있는 작고 간단한 단위

1) 단일 컨테이너만 동작하는 파드
2) 함께 동작하는 작업이 필요한 다중 컨테이너가 동작하는 파드

 

Deployment란?

- 디플로이먼트란 애플리케이션을 다운타임없이 업데이트 가능하도록 지원하는 쿠버네티스 리소스
- 사용자의 기대상태(Desired Stats)를 유지하도록 하는 Controller
- ReplicaSet에 대한 Update 담당

 

 Demonset이란?

- k8s 클러스터 내 모든 노드에서 Pod 복제본 실행
- 클러스터에 노드가 추가되면 Pod 추가, 노드 삭제되면 노드에서 기동되던 Pod도 삭제
- 조건(NodeSelector, PodAffinity.,..)을 명시하면 일치하는 노드에만 Pod 추가

 

Service란?

- 클러스터 내 Pod들에게 접근하기 위한 방법
- 서비스 가능한 Pod로 라우팅 하는 로드밸런싱 기능 제공
- 클러스터의 Service CIDR 중 지정된 IP로 생성 가능
- 서비스 이름은 클러스터내 고유한 DNS로 동작

Cluster IP : 클러스터 내부에서만 사용
LodePort : 가상머신에 할당된 공인 혹은 사설 아이피로 서비스 접근 & 포트포워딩
LoadBalancer : 장기간 유지되는 앤드포인트 및 워커 노드간 로드밸런싱 필요

 

Ingress란?

- 외부에서 오는 Traffic들을 클러스터 내부의 Service로 라우팅하기 위한 규칙 집함
- NCR은 Host기반 및 URL Path기반 라우팅에 대한 규칙 사용
- NodePort 혹은 LoadBalancer 지정 필요
- NCR은 로드밸런서 및 공인 아이피 사용 최소화위해 하나의 VIP에 모든 도메인 할당
- Ingress를 이용하여 HTTP Request Host/URL Path정보 타겟 Pod에 전송

 

Bare Metal 환경에서의 사용

- 온프레미스 환경에서는 CSP사들의 LB와 같은 기대 x
- L3 DSR : Service의 external IPs 속성에 L4 Loopback Interface에 할당된 VIP 명시
- L4 Switch는 Syn Packet을 통한 Health Check 수행
- Pod가 건강한 경우 VIP를 통해 Pod의 애플리케이션 접근 가능

 

NCP Kubernetes Service의 장점

- 다양한 클러스터 스펙 제공
- 마스터 노드 관리의 필요성 x
- 마스터 노드의 고가용성 제공
- 워커노드 구성 시 수 분 안에 구성 가능
- Persistent volumes (NAS, BlockStorage) 사용 가능
- 클러스터 생성 / 설정 / 설치를 한번에 제공
- Container Registry 상품과 연동

 

NCP Kubernetes Service 제공 부분

1. 마스터/워커 노드 설정
2. 설치 도구 설정
3. k8s cluster deploy
4. 시각화/모니터링 도구 설치
반응형
Comments