본문 바로가기
Infra/프라이빗 클라우드 인프라

Open Stack 운영.1(admin)

by shinebee* 2020. 7. 1.

0. Open Stack 실습 환경

  • 미리 준비된 Controller 서버와 Compute 서버를 사용한다.
  • Controller server
    - 오픈스택 전체를 제어

  • br-ex  ->  외부망에 연결될 브릿지.
  • eth1  ->  compute 시스템과의 통신용

 

  • Compute server
    - 하이퍼바이저를 제공

 

 

 

 

 

 

1. Dashboard

  • web brouser에서 http://192.168.122.10/dashboard 주소로 접속하여 Dashboard가 동작하는지 확인

 

 

 

 

 

2. Login

  • User Name : admin
  • Password
    -> Controller server에서  cat /root/keystonerc_admin으로 확인할 수 있다.

 

 

 

 

 

 

3. Dashboard Menu

  • 좌측 상단의 admin은 현재 작업 프로젝트
  • 우측 상단의 admin은 현재 로그인된 사용자
  • Project : instance, network, object storage를 생성하고 관리 할 수 있다.
  • Admin : 관리자(admin) 역할을 가지고 사용자만 표시되며, 오픈스택 전체 모니터링 및 리소스 관리를 위해 사용한다.
  • Identity : project, user, group, role 을 관리할 수 있으며, 모든 사용자가 다 볼 수 있지만,  관리자 역할을 가진 사용자만 관리할 수 있다.
    • project(=Tenant)
      • project → Horizon (대시보드 웹 프로젝트)
      • Tenant → keystone
      • 오픈 스택에 있는 리소스들(이미지, 라우터, 아이피 등..)을 논리적으로 분리시키는 파티션 역할
      • 하나의 기업별로 만들수도있고 부서별, 팀별로도 만들 수 있다.
      • 하나의 프로젝트는 여러 사용자가 들어갈 수 있다.
      • 사용자는 프로젝트에 할당 될 때 항상 하나 이상의 role(역할)을 지정한다.
      • services → 오픈스택 서비스를 위한 프로젝트
    • user
      • 사용자는 여러 프로젝트에 속할 수 있다.
    • role
      • admin
        -> 오픈 스택의 전체 관리자
        -> 프로젝트의 관리자가 아님
        -> 프로젝트를 넘어서 모든 리소스를 관리 할 수 있다.
      • member
    • group
      • LDAP server가 있을때만 유용
      • 사용자를 그룹에 넣고 그룹을 프로젝트에 넣을 수 있다.

 

 

 

 

 

 

4. project 생성

  • 프로젝트는 사용자가 리소스를 사용할 수 있는 범위이며 필요시 프로젝트에서 사용할 리소스 쿼터를 지정할 수도 있다.
  • 최초 설치 시 기본적으로 두개의 프로젝트가 생성된다.
    • admin 프로젝트는 admin 사용자가 속한 프로젝트
    • services 프로젝트는 오픈스택의 서비스 사용자가 속한 프로젝트
  • identity  ->  project  ->  create project

  • Name = test-proj
  • Quotas 설정이 필요한 경우 VCPUs, instance, volume, RAM, floating IP등을 설정한다.

 

 

 

 

 

 

5. user 생성

  • identity  ->  users  ->  create user

  • User Name = test-user
  • Password 지정
  • Primary Project = test-proj
  • Role = _member_
    -> 일반 사용자 역할

 

 

 

 

 

 

6. Flavor 관리

  • flavor는 인스턴스 생성 시 인스턴스에서 사용할 하드웨어 사이즈를 정의해 높은 프로파일이다.
  • 기본적으로 5개가 만들어져있으며, 필요시에 따라 추가적으로 생성하거나 편집할 수 있다.

  • VCPUs → 가상의 CPU → overcommit 제공 → 물리적인 메모리보다 더 많이 할당할 수 있다. → 실제 사용량은 물리적인 메모리보다 더 있을 수 없다.
    VCPU에 4개가 할당되어있다고 해서 그만큼 쓸 수 있는것은 아니다.
  • CPU pinning
    • 하이퍼바이저에 다 있는 기술.
    • 실제 CPU를 전용으로 사용. CPU 메모리를 share
    • 비싼 Flavor를 쓸수록 할당량이 더 많아짐 → 더 많이 사용할 수 있음
  • Flavor의 디스크들은 Nova가 제공. → 인스턴스 지우면 같이 지워짐.
  • 디스크
    • 블록 장치
    • Nova가 제공. 원래 블록장치를 제공하는 cinder와는 상관없음.
    • instance를 지우면 셋 다 지워짐 → 안지워지게 할 수 없다.
    • root 디스크
      • root에 마운트 됨.
    • Ephermeral 디스크
      • 임시 디스크 /mnt에 마운트 된다.
      • 빈 디스크를 지원하는것.
      • 데이터를 영구적으로 저장하려는 목적의 디스크는 아니다. → 인스턴스를 지우면 같이 지워지기 때문에
    • Swap 디스크
      • 페이징을 하기 위함
  • RX/TX
    • receiver, transiver
    • 디스크들의 성능을 제어
    • 1.0이 기본
  • 공용
    • Flavor → 기본적으로 관리자만 만들 수 있도록 되어있고 모든 사용자가 사용할 수 있게 되어있다.

  • Name = test.tiny
  • VCPUs = 1
  • RAM = 256M
  • Root DIsk = 1G

 

 

 

 

 

 

7. Image 생성

  • Admin  ->  Compute  ->  Images  ->  Create Images

  • Image Name = centos7
  • File 추가
    -> 없으면 이미지를 http://docs.openstack.org/image-guide/obtain-images.html 에서 받을 수 있다.
  • Format = QCOW2
  • 커널과 램디스크는 아마존 머신 이미지를 사용할때만 사용
  • 아키텍처 → x86 등.. 정할 수 있다.
  • 최소디스크, 최소 RAM → flavor와 상호작용 이 값을 지정해 놓으면 이 이하의 flavor는 사용 할 수 없다.
  • 가시성
    • 관리자만이 가시성을 설정할 수 있다.
    • public -> 모든 프로젝트에서 사용 가능
    • private -> 해당 사용자의 프로젝트 내에서만 사용 가능
  • 보호 → 예 → 다른사람이 지우지 못하게 한다.
  • qemu-img info 명령어로 이미지의 info를 확인할 수 있다. 사용중이면 볼 수 없음. 하이퍼바이저가 설치될 때 자동으로 설치되는 명령어이다.

 

 

 

 

 

 

 

8. 외부 네트워크 생성

  • 인스턴스가 사용할 내부 네트워크는 어떤 사용자나 만들어서 사용할 수 있지만, 외부 네트워크는 관리자만 설정 할 수 있다.
  • 외부 네트워크는 실제 외부로 연결되는 네트워크 대역으로 설정해야 하며, 이 외부 네트워크는 나중에 유동 IP 생성에 사용될 네트워크이다.
  • Network의 종류 -> Management Network, Tunnel, External(Internet), Storage
  • Admin  ->  Network  ->  Networks  -> Create Network
  •  

 

  • Name = ext-net (external network)
  • Project = admin
  • Provider Network Type = Flat
  • Physical Network = extnet
    • Controller에서  grep PHYSNET answers.txt
      -> CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET=extnet
  • VLAN은 터널링 프로토콜이 아니다.
  • Flat → 평면 네트워크. L2 네트워크
  • 로컬 → 가상의 네트워크 구성.
  • 물리적인 네트워크 → Network에서 External과 연결한 network의 이름 지정. 여러개가 있을 수 있으므로 지정.
  • 오픈스택의 노드의 역할에 따라 어떤 네트워크가 연결되어야하는지 인지해야된다.

 

 

  • 네트워크 이름 ext-net을 선택하면 설정 확인 및 서브넷을 만들기가 가능하다.
  • VID가 다르다. ⇒ 다른 네트워크

 

 

  • Subnets  ->  Create Subnet

  • Subnet Name = ext-subnet
  • Network Address = 192.168.122.0/24
  • Gateway IP = 192.168.122.1
  • 네트워크 주소 설정은 실제 외부 네트워크 대역과 같은 네트워크 대역으로 설정한다.
  • 게이트 웨이 IP도 실제 외부 게이트웨이 주소를 할당해야한다.

 

  • 인스턴스는 외부 네트워크에 직접 연결되지 않으므로 DHCP 사용 설정을 해제한다.
  • DHCP를 openstack에서 external을 만들 때 사용하면 물리네트워크에 설정되어있는 DHCP가 있기 때문에 DHCP 서버가 두대가 돌아가게된다. 사용하면 안됨.
  • Pools 할당 부분은 유동 IP 가 할당될 범위를 지정한다.
  • Allocation Pools = 192.168.122.100,192.168.122.199
  • DNS Name Servers = 8.8.8.8
  • pool
    • IP의 범위 지정
    • DHCP를 사용할 때 -> DHCP 임대범위
    • DHCP 사용 안할 때 -> Floating 범위

 

 

 

 

  • 관리자가 구성해야 할 부분은 완료되었으므로 우측 상단의 admin을 클릭해 로그아웃 한다.

 

 

 

Open Stack 운영.2

2020/07/01 - [Infra/프라이빗 클라우드 인프라] - Open Stack 운영.2(user)

 

Open Stack 운영.2(user)

Open Stack 운영.1 에 이어서.. 2020/07/01 - [Infra/프라이빗 클라우드 인프라] - Open Stack 운영.1(admin) 9. 보안 그룹 생성 test-user로 로그인 일반 사용자 입장에서 오픈스택에서 인스턴스를 생성하기 위해..

suee-b.tistory.com

Open Stack 운영.3

2020/07/02 - [Infra/프라이빗 클라우드 인프라] - Open Stack 운영.3 (user)

 

Open Stack 운영.3 (user)

Open Stack 운영.1 2020/07/01 - [Infra/프라이빗 클라우드 인프라] - Open Stack 운영.1(admin) 외부망에 연결될 브릿지. eth1 -> compute 시스템과의 통신용 Compute se.." data-og-host="suee-b.tistory.com" d..

suee-b.tistory.com

 

'Infra > 프라이빗 클라우드 인프라' 카테고리의 다른 글

Open Stack 운영.3 (user)  (0) 2020.07.02
Open Stack 운영.2(user)  (0) 2020.07.01
Instance  (0) 2020.07.01
Open Stack 소개  (0) 2020.06.30
Cloud Service 개념 정리  (0) 2020.06.29

댓글