Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발자입니다

[비트캠프] 3일차(1주차3일) - 네이버클라우드 NCP 본문

네이버클라우드 AIaaS 개발자 양성과정 1기/네이버클라우드

[비트캠프] 3일차(1주차3일) - 네이버클라우드 NCP

끈기JK 2022. 11. 9. 10:29

 

 

■ 실습

-사용자 추가 (p18)

-DB 추가 (p19)

-서버에 접근하기 위해 ACG 추가 (p19)

-window server 생성 (p22 하단)

   서버 타입 : Standard 가장 낮은 사양

   인증키 : 어제 받은 인증키 사용

 

■ Demo 실습x (p20~22 상단)

-Linux에서 MySQL 접속

 

 

-Storage Operation (p60)

· 스토리지 Spec 

  · 스토리지당 10GB~2TB

  · 서버 1대당 최대 16개 스토리지 사용 가능 (OS 스토리지 1개 + 추가 스토리지 15개)

· 스토리지 detach 가능

 

-Snapshot Operation

· 스토리지 단위로 스냅샷 생성

· OS 스토리지 외에 추가 스토리지만 변환 가능

· 내서버 이미지와 다른 점

  · 내서버 이미지는 서버 단위로 스냅샷을 생성, 스냅샷은 스토리지 단위로 스냅샷 생성

 

-Public IP Operation

· 외부에서 서버 접속 방법

  · 공인 IP 할당하여 접속

  · VPN 이용해 접속

· 공인 IP의 리소스 종속성 (서버에 종속적이지 않음)

  · VPC 환경에서는 리전에 종속

    · 존 구분 없이 공인 IP 이용 가능

· 서버 개수만큼 공인 IP 신청 가능

 

-Init Script Operation

· 서버 생성시 사용자가 원하는 기능 수행

· Linux는 Shell, Python, Perl 스크립트로, Window는 VB 스크립트로 작성 가능

· 서버 생성시 초기 1회에 한해 실행

  · 서버 재부팅시 동작 안함

 

-서버 Operation - ACG
· ACG (Access Control Group)

  · 서버 방화벽 역할

  · Default ACG, Custom ACG 구분 (목적에 맞는 ACG를 생성해야함)

  · 프로토콜은 TCP, UDP, ICMP 중 선택, 접근 소스는 IP (CIDR), ACG Group 설정 가능 (그룹 설정해서 그 그룹에 속해있는 것들은 다 허용 가능)

*아래 빨간박스 중요(VPC 플랫폼 내 ACG 특장점)

*NIC(Network Interface Controller) : 컴퓨터를 네트워크에 연결해 통신하기 위한 하드웨어

 

 

■ 실습 Lab2

1. 리눅스 서버 생성 (p25~26)

-내서버 이미지 생성

-Server - 스토리지 생성 3개

   콘솔에만 만들었고 서버에 인식시키기 위해 마운트 해야함

-마운트

   단일 볼륨 3TB 스토리지 만들고 싶으면 2TB + 1TB 를 위해 리눅스의 /lvm 명령어를 씀

   PuTTY 들어가서 공인IP 치고 로그인시 ID는 root, 관리자 비밀번호 입력
   그 후 교재 명령어 입력

   First sector, Last sector 에서 Enter, Enter 함

   포맷 명령어 입력

   disk1 마운트 명령어 입력

-LVM 구성 demo 실습x (시험. 명령어와 순서 중요)

   disk2는 xvdc, disk3은 xvdd

   리눅스 lvm 타입은 8e 임

   pvcreate로 물리적 볼륨 생성 명령어 (physical volume create)

   볼륨 그룹 생성 명령어

   lvcreate 논리적 볼륨 생성 및 포맷 명령어 (logical volume create)

   마운트 포인트 아까 만들어서 명령어 'mkdir /lvm' 안쳐도 됨

 

2. 윈도우 서버 생성 (p31~34 상단)

-Server - 스토리지 생성 3개

-OS에서 인식

   윈도우 서버 연결시 원격 데스크톱 연결로 함

   win + R 에서 computer management 입력

   Disk 1 - New Simple Volume

   Disk 2 - New Spanned Volume 에서 Disk 3 와 합침

 

3. 리눅스 스토리지 용량 증설 (p34 하단~37 상단)

*마운트 해제 또는 서버 정지 후 용량 증설 가능

-마운트 해제 명령어 입력 (안될시 서버 재시작)

-growpart 설치

   *파티션 공간 확장 : growpart

   오타 있으면 'Error: Nothing to do' 발생

-디스크 용량 증설

   마운트 되어있으면 서버에서 연결 해제 안됨. 언마운트 후 해제

   20GB 입력

   서버에 연결 - lnxsvr1 선택

-growpart 명령어 입력으로 파티션 공간 확장

-마운트 명령어 입력

 

4. 윈도우 스토리지 용량 증설 (p37 중단~38)

-서버 정지 및 스토리지 연결 해제

-스토리지 크기 20GB 증설 및 서버에 연결

-서버 시작

-원격 접속해서 파티션 설정

   기존 볼륨에서 우클릭 해서 extend volume

 

5. 서버 이미지로 서버 생성 1 (p39)

-Server Image에서 서버 생성

   Network Interface에서 IP 입력 안하고 추가하면 자동 할당

   이후 다음 하면 됨

 

 

-Network Interface Operation

· VPC 플랫폼에서 서버 네트워크 구성

  · 서버마다 최대 3개의 Network Interface 생성 가능

  · 각 NIC 에는 Secondary IP 부여 가능

  · 하나의 Network Interface에는 최대 5개까지 Secondary IP 추가 가능

    · 하나의 NIC가 가질수 있는 IP는 최대 6개 (Primary IP 1개, Secondary IP 5개)

 

-Container Registry

· 컨테이너 이미지를 쉽게 저장하고 관리할 수 있는 컨테이너 레지스트리 관리 서비스

  · Public/Private Endpoint 제공

· 저장소로 Object Storage 이용

  · 컨테이너 관리 용이

  · 컨테이너 취약점 분석 가능

 

-Docker의 활용 - Dockerfile

dockerfile : 컨테이너 이미지의 description file. 컨테이너 이미지를 빌드하기 위한 file

 

-일반 VM과 컨테이너의 차이

VM은 하이퍼바이저 필요, 컨테이너는 도커 엔진만 있으면 어느 환경이든 됨

VM은 Guest OS 필요, 컨테이너는 Host OS를 공유하는 구조

 

-Docker 특징 - Layered Image

이미지를 layered 형식으로 관리하기 때문에 수정시 해당 layer만 수정하면 됨

 

-Docker 특징 - Docker Hub / Docker Registry

다른 사용자와 이미지 공유 가능

 

 

■ 실습 Lab 3 (p40~43 상단)

1. 도커, kubectl 설치 및 Container registry생성 및 활용

-Kubernetes용 Private Subnet 생성

-로드 밸런서를 위한 Subnet 생성

-Lnxvr 1 서버에 Lab 소스 다운로드 및 Kubectl 설치

   A~E 명령어 입력

-Container Registry 에서 사용할 Object Storage Bucket 생성

*Container Registry는 Object Storage 사용

   Object Storage - Bucket Management 접속 후 생성

-Container Registry 생성

 

1) Container image 생성

-Apache 용 Dockerfile생성

   'vi Dockerfile'  Docker 파일 확인 명령어로 안해도 됨

   'docker build -t image_apache .'  이미지 빌드 명령어

   'docker run -tid -p 4000:80 --name=hello_apache image_apache' 이미지 run 명령어

 

2) Container Registry 에 이미지 업로드

-Container registry 로그인 (k8s-tool 서버에서) 명령어 입력

   username : ncloud - 마이페이지 - 인증키관리 - Access Key ID

   password :                                                        - Secret Key

-Container Registry 에 이미지 업로드 명령어 입력

 

 

-Kubernetes Service

 

-쿠버네티스의 주요 기능

 

-쿠버네티스 컴포넌트

kube-api-server : worker node를 관리

worker node에 kublet(Master node와 통신), kube-proxy(worker node에서 통신) 생성됨

 

-쿠버네티스의 핵심 개념 - Pod

쿠버네티스의 기본 실행 단위

1) 단일 컨테이너만 동작하는 Pod. "단일 컨테이너 당 한 개의 Pod"

2) 함께 동작하는 작업이 필요한 다중 컨테이너가 동작하는 Pod. 리소스 고유가 필요한 다중으로 함께 배치된 컨테이너로 구성 (컨테이너가 하나일수도 있고 동일한 리소스 공유가 필요하며 하나 이상으로 묶일 수 있음)

 

-쿠버네티스의 핵심 개념 - Deployment

· 사용자의 기대상태(Desired State)를 유지하도록 하는 Controller

  · ReplicaSet은 사용자가 선언한 기대 상태인 Replica의 수를 지속적으로 확인하며 유지 시킴

 

-쿠버네티스의 핵심 개념 - Demonset

모든 노드에 Pod이 추가되도록 하거나, 특정 노드에만 Pod이 생성되도록 할 수 있음

 

-쿠버네티스의 핵심 개념 - Service

· 클러스터 내 Pod들에게 접근하기 위한 방법으로 사용

종류 (잘 알아야함)

· Cluster IP

· LoadBalancer

· NodePort : 예, 4000번 으로 들어오면 내부의 80으로 라우팅 되게 함

 

-쿠버네티스의 핵심 개념 - Ingress

URL 기반으로 라우팅

Ingress는 네이버클라우드플랫폼에서 상품으로 제공되어있지는 않고 직접 설정해야한다. (설치 & 구성)

 

-네이버 클라우드 플랫폼 쿠버네티스 서비스 소개

[Kubernetes Service]

 

Master 노드는 Hidden으로 구성 (사용자에게 보이지 않음. 사용자는 worker 노드만 관리)

 

 

■ 실습x demo Lab 4

 

 

Chapter 2. Storage 상품

 

-RAID (Redundant Array of Independent Disks, 복수배열독립디스크)

· RAID는 여러 개의 디스크를 묶어 관리하는 것

· 종류

  · RAID 0 : striping

  · RAID 1 : mirroring

  · RAID 4 : parity 별도 구성

  · RAID 5 : parity 별도 구성하지 않음

  · RAID 1+0 : 2개씩 mirror 구성한 셋트 3개를 striping

*parity : 오류 검출 기능

 

-File System

· OS에서 파일 관리하는 시스템 통칭

· 연속 할당 방식

  · 디스크 공간 낭비 심해짐

· 비연속 할당 방식

  · 연결 할당 방식

    · 링크 구조

  · 색인 할당 방식

    · 색인 구조

· 로컬 파일 시스템 단점

  · 해당 서버에서만 접근 가능

· 네트워크 파일 시스템 (NFS, CIFS)

  · 여러 대의 서버에서 접근할때 사용

· 분산 파일 시스템 (HDFS, ADF, CODA)

  · 파일을 쪼개서 노드에 분산 & 복제

· 분산 파일 시스템 (Object Storage)

  · 파일을 쪼개지 않고 복제

 

-스토리지 타입

· Block Storage

  · 데이터 쪼개고 계층화 해서 저장

  · 서버에서 인식하려면 OS에 마운트 필요

· Object Storage

  · 데이터 쪼개지 않고 비계층적 저장

  · 마운트 하지 않고 API 기반으로 호출하여 사용

  · 대용량, 비정형 데이터에 적합

 

-Storage 상품 라인업

 

-Block Storage

· 서버에 마운트 해서 사용

· OS 파일시스템 기반 파일 계층화해서 저장

· Block Storage 세부 스펙

  · HDD / SSD 두 가지 타입 제공

  · 50GB(리눅스)/100GB(윈도우)

  · 10GB~2TB 선택

    · 2TB 이상은 리눅스 LVM, 윈도우 동적 디스크 할당

  · 최대 15개 추가 가능

  · 추가 Block Storage의 detach, attach 가능

  · 볼륨 live snapshot 가능

 

· 볼륨 detach 기능

  · detach 할 수 있는 VM 상태

    · VM shutdown 상태

    · VM 내부 볼륨 unmount

 

· 볼륨 upsizing 기능

  · OS 영역은 resizing 불가능

  · upsizing 가능한 볼륨 상태

    · 볼륨 available 상태

    · 볼륨이 할당된 VM의 상태가 shutdown

 

-Snapshot

· 현 시점 볼륨 데이터를 이미지화

· 볼륨 대상의 스냅샷 구분 제공

· 스냅샷 이미지를 이용해 신규 볼륨 생성 가능

· 스냅샷 이미지 이용

  · root 볼륨 이슈 발생시 스냅샷 이미지 이용

 

-Object Storage

· AWS S3와 같은 무제한 스토리지

· 비정형 데이터 스토리지

· Object Storage 특징

  · AWS S3 API 제공 통해서 3rd Party Solution 사용 가능

  · 콘솔, API, SDK, CLI 통해 관리 가능

  · 버킷, 오브젝트 단위 접근 권한 설정 (버킷 공개하면 누구나 파일, 폴더 조회 가능)

  · CDN+/GCDN의 Origin, CLA의 logging, VOD Transcoder 등 연동해 사용 가능

 

-NAS

· 500GB~10TB 생성 가능

· NAS 특징

  · NFS / CIFS 프로토콜 제공(NFS : 리눅스, CIFS : 윈도우), 이기종 OS 간 공유 위해 Samba 필요

  · Live resizing 가능

  · 스냅샷 기능 제공

  · 모니터링 기능 제공

· 접근 제어

  · NFS는 IP로 접근 제어

  · ID와 패스워드로 접근 제어

· NAS Snapshot

  · 내가 생성한 용량 안에서 스냅샷 공간 할당

  · Default는 스냅샷 미생성

  · 스냅샷은 최대 7일간 보관

 

-Archive Storage

· AWS Glaicer에 대응

· 백업 아카이빙 주 목적

  · 저장 비용이 Object Storage 대비 저렴

  · API 요청 비용은 Object Storage 대비 비쌈

· Archive 특징

  · 최소 보관 기간 없음

 

-Backup

· 백업 지원

  · 백업 요청서 작성해서 신청

  · 백업 수행 주기 8가지 옵션 제공

  · 최대 52주까지 백업 파일 보관 가능

 

 

■ 실습 Lab 5 (p55)

-NAS 생성

-서버에 mount (PuTTY 명령어)

   mount 명령어 입력시 NAS - Volume에서 생성한 NAS의 마운트 정보 주소 사용

-스냅샷 설정 (실습x)