개발자입니다
[비트캠프] 3일차(1주차3일) - 네이버클라우드 NCP 본문
■ 실습
-사용자 추가 (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)
'네이버클라우드 AIaaS 개발자 양성과정 1기 > 네이버클라우드' 카테고리의 다른 글
[비트캠프] 6일차(2주차1일) - 네이버클라우드 NCE (0) | 2022.11.14 |
---|---|
[비트캠프] 5일차(1주차5일) - 네이버클라우드 NCE (0) | 2022.11.11 |
[비트캠프] 4일차(1주차4일) - 네이버클라우드 NCP, git 설치 (0) | 2022.11.10 |
[비트캠프] 2일차(1주차2일) - 네이버클라우드 NCP (0) | 2022.11.08 |
[비트캠프] 1일차(1주차1일) - 과정 소개, 네이버클라우드 NCA (0) | 2022.11.07 |