오픈스택을 다루는 기술
오픈스택 클라우드 구축과 운영을 위한 현장 밀착 입문서
클라우드와 오픈스택 개념은 핵심만 빠르게 익힌다오픈스택을 이용해서 클라우드 서비스를 구축하려면 클라우드 시스템을 지탱하는 인프라와 오픈스택을 구성하는 서비스들을 이해해야 한다. 100여 개의 일러스트와 간결한 설명으로 쉽고 빠르게 익힐 수 있다.
나에게 맞는 방법으로 오픈스택을 설치한다- 우분투에서 데브스택(DevStack)과 매뉴얼로 설치하기
- CentOS에서 팩스택(PackStack)과 매뉴얼로 설치하기
설치가 끝이 아니다. 인스턴스 생성, 유동 IP 할당, 볼륨 스토리지 생성 등 오픈스택을 사용하고 운영하는 기본 방법들을 설명한다. 그리고 설치하면서 생기는 많은 문제들을 해결해나가는 트러블 슈팅도 함께 익힌다.
전자책 구입
목차
- 첫째마당 | 클라우드와 오픈스택 기본기 다지기
- 1장 인프라 환경 변화의 시작, 클라우드
- 1.1 | 클라우드 컴퓨팅의 정의와 종류
- 1.1.1 클라우드 컴퓨팅의 정의
- 1.1.2 클라우드 서비스의 종류
- 1.1.3 클라우드의 공개 범위
- 1.2 | 클라우드 핵심 서비스 컴퓨트와 스토리지
- 1.2.1 컴퓨트 서비스
- 1.2.2 스토리지 서비스
- 1.3 | 하이퍼바이저의 정의와 종류
- 1.3.1 하이퍼바이저의 정의
- 1.3.2 하이퍼바이저의 분류
- 1.3.3 가상화 방식에 따른 하이퍼바이저
- 1.3.4 다양한 종류의 하이퍼바이저
- 1.3.5 하이퍼바이저별 이미지 포맷
- 1.4 | 클라우드에서 알아야 할 네트워크 상식
- 1.4.1 고정 IP 주소와 유동 IP 주소
- 1.4.2 IP 클래스와 IP 범위
- 1.4.3 예제로 알아보는 IP 클래스와 IP 범위
- 1.4.4 CIDR
- 1.4.5 SDN
- 1.4.6 오픈플로
- 1.4.7 네트워크 장비
- 1.5 | 블록 스토리지와 오브젝트 스토리지의 차이
- 1.5.1 블록 스토리지
- 1.5.2 오브젝트 스토리지
- 1.5.3 대표적인 스토리지 서비스
- 1.6 | 클라우드 컴퓨팅을 활용한 다양한 IT 산업
- 1.6.1 사물인터넷
- 1.6.2 빅데이터
- 1.6.3 머신 러닝
- 1.6.4 다양한 소프트웨어 애플리케이션
- 2장 오픈스택이란?
- 2.1 | 오픈스택의 역사
- 2.1.1 오픈스택의 탄생 배경
- 2.1.2 오픈스택의 릴리스 현황
- 2.1.3 오픈스택 파운데이션과 커뮤니티
- 2.2 | 오픈스택과 아키텍처
- 2.2.1 개념 아키텍처로 살펴보는 오픈스택의 변화
- 2.2.2 논리 아키텍처로 살펴보는 오픈스택의 변화
- 2.2.3 상황별 오픈스택 구성 요소
- 2.3 | 가상 서버를 생성하는 컴퓨트 Nova
- 2.3.1 논리 아키텍처의 Nova
- 2.3.2 Nova가 지원하는 하이퍼바이저의 종류
- 2.3.3 노드별로 설치되는 Nova
- 2.3.4 주요 웹 사이트
- 2.4 | 오브젝트 스토리지 Swift
- 2.4.1 논리 아키텍처의 Swift
- 2.4.2 Swift의 논리적 구성 요소
- 2.4.3 Swift Ring의 개념
- 2.4.4 Swift의 데이터 관리 방법
- 2.4.5 Swift와 Keystone 관계
- 2.4.6 Swift의 이레이저 코딩 기능과 스토리지 정책
- 2.4.7 주요 웹 사이트
- 2.5 | 운영체제 이미지를 관리하는 Glance
- 2.5.1 예로 이해하는 Glance
- 2.5.2 논리 아키텍처의 Glance
- 2.5.3 가상 머신 이미지 포맷
- 2.5.4 컨테이너 포맷
- 2.5.5 지원하는 운영체제 이미지
- 2.5.6 주요 웹 사이트
- 2.6 | 인증을 관리하는 Keystone
- 2.6.1 예로 이해하는 Keystone
- 2.6.2 논리 아키텍처의 Keystone
- 2.6.3 오픈스택에서 Keystone 위치
- 2.6.4 도메인, 프로젝트, 그룹, 사용자, 롤의 개념과 관계
- 2.6.5 주요 웹 사이트
- 2.7 | 네트워크를 관리하는 Neutron
- 2.7.1 논리 아키텍처의 Neutron
- 2.7.2 Neutron이 지원하는 플러그인의 종류
- 2.7.3 Neutron과 VRRP, DVR
- 2.7.4 주요 웹 사이트
- 2.8 | 블록 스토리지를 관리하는 Cinder
- 2.8.1 논리 아키텍처의 Cinder
- 2.8.2 Cinder가 지원하는 블록 스토리지 드라이버
- 2.8.3 주요 웹 사이트
- 2.9 | 대시보드 Horizon
- 2.9.1 논리 아키텍처의 Horizon
- 2.9.2 Horizon 대시보드
- 2.9.3 주요 웹 사이트
- 2.10 | 옵셔널 서비스
- 2.10.1 텔레미터 서비스 Ceilometer
- 2.10.2 오케스트레이션 서비스 Heat
- 2.10.3 데이터베이스 서비스 Trove
- 2.10.4 데이터 프로세싱 서비스 Sahara
- 2.10.5 베어메탈 서비스 Ironic
- 2.10.6 기타 서비스
- 둘째마당 | 오픈스택 구축하기
- 3장 우분투에서 데브스택으로 오픈스택 설치
- 3.1 | Neutron 기본 플러그인 ML2
- 3.1.1 ML2의 역할
- 3.1.2 ML2 타입의 드라이버 이해
- 3.2 | Neutron을 설치하는 네트워크 구성도 그리기
- 3.2.1 테스트 베드 구성
- 3.2.2 네트워크 구성도 그리기
- 3.3 | 우분투에서 데브스택으로 오픈스택 Neutron 설치
- 3.3.1 가상 서버 준비
- 3.3.2 VirtualBox에서 가상 서버 생성
- 3.3.3 우분투 서버 설치
- 3.3.4 SSH 클라이언트 프로그램으로 우분투 서버 접속
- 3.3.5 데브스택 설치
- 3.4 | Neutron 네트워크 구성
- 3.5 | 첫 번째 인스턴스 생성
- 4장 매뉴얼로 우분투에서 서비스 가능한 오픈스택 설치
- 4.1 | 시스템 구성도 그리기
- 4.1.1 하드웨어 구성
- 4.1.2 네트워크 구성
- 4.1.3 컴포넌트 구성
- 4.2 | 오픈스택 설치
- 4.2.1 우분투 설치
- 4.2.2 환경설정
- 4.2.3 인증 서비스
- 4.2.4 이미지 서비스
- 4.2.5 컴퓨트 서비스
- 4.2.6 네트워크 서비스
- 4.2.7 대시보드
- 4.2.8 블록 스토리지 서비스
- 4.2.9 공유 파일 시스템 서비스
- 4.2.10 오브젝트 스토리지 서비스
- 4.2.11 오케스트레이션 서비스
- 4.2.12 텔레미터 서비스
- 4.2.13 인스턴스 생성
- 5장 CentOS에서 팩스택으로 오픈스택 설치
- 5.1 | 설치 환경설정
- 5.1.1 CentOS 내려받기
- 5.1.2 VirtualBox 가상 서버 준비
- 5.2 | All-in-One으로 오픈스택 설치
- 5.2.1 시스템 구성도 그리기
- 5.2.2 네트워크 IP 설정
- 5.2.3 팩스택 미타카 패키지와 팩스택 설치
- 5.2.4 대시보드 접속
- 5.2.5 Neutron 네트워크 확인
- 5.2.6 인스턴스 생성
- 6장 매뉴얼로 CentOS에서 서비스 가능한 오픈스택 설치
- 6.1 | 멀티 노드에서 오픈스택 설치
- 6.1.1 시스템 구성도 그리기
- 6.1.2 CentOS 설치
- 6.1.3 환경설정
- 6.1.4 인증 서비스
- 6.1.5 이미지 서비스
- 6.1.6 컴퓨트 서비스
- 6.1.7 네트워크 서비스
- 6.1.8 대시보드
- 6.1.9 인스턴스 생성
- 셋째마당 | 오픈스택 운영하기
- 7장 오픈스택 운영, 이 정도는 기본이지
- 7.1 | 프로젝트 및 사용자 생성
- 7.1.1 프로젝트 생성
- 7.1.2 사용자 생성
- 7.1.3 커맨드 명령어 사용
- 7.2 | 프로젝트 네트워크 생성
- 7.2.1 서브넷 생성
- 7.2.2 라우터 생성
- 7.2.3 네트워크 토폴로지 확인
- 7.2.4 커맨드 명령어로 네트워크 확인
- 7.3 | 이미지 올리기
- 7.3.1 우분투 이미지 검색
- 7.3.2 우분투 이미지 올리기
- 7.3.3 커맨드 명령어로 이미지 확인
- 7.3.4 다른 이미지 올리기
- 7.4 | 인스턴스 생성
- 7.4.1 시큐리티 그룹 생성
- 7.4.2 키 페어 생성
- 7.4.3 인스턴스 생성
- 7.4.4 유동 IP 할당
- 7.4.5 SSH 클라이언트로 인스턴스 접속
- 7.4.6 커맨드 명령어로 인스턴스 정보 확인
- 7.5 | 블록 스토리지 사용
- 7.5.1 볼륨 생성
- 7.5.2 볼륨 연결
- 7.5.3 인스턴스에서 연결된 볼륨 확인
- 7.5.4 커맨드 명령어로 볼륨 관리
- 7.6 | 오브젝트 스토리지 사용
- 7.6.1 컨테이너 생성
- 7.6.2 폴더 생성 및 파일 올리기
- 7.6.3 커맨드 명령어를 이용해 파일 목록 확인
- 7.7 | 오케스트레이션 서비스를 이용해 인스턴스 생성
- 7.7.1 오케스트레이션 서비스를 위한 기본 템플릿 생성
- 7.7.2 템플릿을 이용한 스택 생성
- 7.7.3 완료된 스택 확인
- 7.7.4 리소스 타입과 템플릿
- 7.7.5 커맨드 명령어로 확인하는 스택 작업
- 7.8 | 사용자 정보 변경
- 8장 오픈스택 운영, 기본을 넘어서
- 8.1 | 트러블 슈팅
- 8.1.1 문제 발생
- 8.1.2 로그로 원인 분석
- 8.1.3 환경설정 파일 및 시스템 확인
- 8.1.4 커뮤니티를 활용한 도움 요청
- 8.1.5 문제 해결
- 8.2 | 성능을 향상하는 방법
- 8.2.1 데이터베이스 클러스터링 구축
- 8.2.2 소프트웨어를 이용한 로드밸런싱 구현
- 8.2.3 CORS 설정으로 API 활용
- 8.3 | 컨트리뷰터 도전
- 8.3.1 소스 수정을 이용한 컨트리뷰션
- 8.3.2 번역 활동을 이용한 컨트리뷰션
- 8.3.3 커뮤니티 활동을 이용한 컨트리뷰션
- 8.4 | 자동 배포 도구
- 8.4.1 SSH를 이용한 자동 배포 도구 Ansible
- 8.4.2 Fuel을 이용한 오픈스택 설치
- 8.4.3 TripleO를 이용한 오픈스택 설치