관리 메뉴

공부공부 공부공부내용

[4]오픈스택 실습 3 (설치된 이미지) 본문

클라우드 구성 및 관리/프라이빗 클라우드 [오픈스택]

[4]오픈스택 실습 3 (설치된 이미지)

wkdth04 2020. 6. 30. 16:31
<OpenStack Administrator>
Project: dev-proj

Account: dev-user (dev-proj)

Flavor: dev.small (vCPU:1, Mem: 2G, Root Disk: 10G)

<User (Self Service)>
Image: centos7

Network(Internal): dev-net
    Subnet: dev-subnet (10.10.10.0/24)

Router: dev-router (ext-net <--> dev-net)

Security Group: SSH&ICMP&HTTP

Keypair: dev-key

Instance: dev-instance

Volume: dev-vol (1G)

Floating IP

 

 

 

cloud.centos.org/centos/7/images/ -> 에서 이미지 다운가능

 

 

 

xz 파일을 업로드 하면됨. 압축 안푼상태로 해보니 인스턴스 생성시 오류가 났다. 꼭 압축 풀고 진행하기!

센트오에스 웹서버 올려서 확인도 해보기 실습 2정리후 참고

 

 


프로젝트 /네트워크/ 네트워크 = > 내부용 네트워크생성

 

<OpenStack Administrator>

[1] 프로젝트 생성

 

 

 

 

[2] 유저 생성

 

 

 

 

 

 

[3] 외부용 네트워크 생성 (관리자만 가능) _ 이전실습에서 생성된 외부네트워크 그대로 사용

인스턴스가 사용할 내부 네트워크는 어떤 사용자나 만들어서 사용할 수 있지만, 외부네트워크는 관리자만 설정할 수 있다.

외부네트워크는 실제 외부로 연결되는 네트워크 대역으로 설정해야 하며, 이 외부 네트워크는 나중에 유동  IP생성에 사용될 네트워크다.

외부네트워크 여러개 구성하는 것이 가능하지만, 실습환경에서는 controller에 네트워크가 같이 구성되어 있어서 1개로 진행한다.

나중에 사용자계정에서 내부네트워크를 만들고 다시 관리자계정으로 접속하니 사용자계정에서 생성한 내부네트워크도 함께 관리자계정에서 볼 수 있었다.

외부 Network(External): ext-net (Type: Flat, Name: extnet)
    # grep PHYSNET answers.txt 
        CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET=extnet
    Subnet: ext-subnet (192.168.122.0/24, 192.168.122.1)
        DHCP X
        Pool: 192.168.122.100,192.168.122.199
        DNS: 8.8.8.8

 

 

 

지난 실습에서 했던 외부네트워크 생성과정1
지난 실습에서 했던 외부네트워크 생성과정 2
기존 실습에서 생성해둔 ext-net 외부네트워크 확인됨 3

 

 

외부네트워크 생성할 때 반드시 외부 네트워크 체크 해줘야함. 그래야 사용자 계정에서의 라우터에서 내부네트워크와의 연결작업이 가능!

 

 

 

 

※네트워크를 삭제할 때에는 라우터를 먼저 삭제해야 가능하다.

라우터에서 게이트웨이를 먼저 삭제하고 (외부네트워크와의 연결을 끊는다) 이후에 인터페이스를 삭제한 다음 네트워크를 삭제한다

 

 

[4]Flavor

 

 

 

*****메모리는 기가단위니까 2000 말고 2048로 고쳐서 해주세요

 

 

<User (Self Service)>  일반사용자 계정이기 때문에 관리 항목은 보이지 않습니다.

관리자계정에서 생성한 유저로 접속

 

 

 

 

 

[5] 이미지 생성

 

 

오픈스택 버전에 따라 다르지만 압축파일 풀고 진행하는 것이 좋다. 첨에 압축파일 그대로 이미지 넣었더니 부팅이 안됬다.

 

 

참고 ※ unxz  CentOS-7-x86_64-GenericCloud-2003.qcow2(2).xz   하면 압축이 풀린다.

 

 

 

 

[6] 내부 네트워크 생성 (인스턴스가 사용할 네트워크)

Network(Internal): dev-net

Subnet: dev-subnet (10.10.10.0/24)

 

 

사용자계정 접속후 네트워크 항목 들어오면 이렇게 외부 네트워크 확인이 가능하다.
게이트웨이 IP를 입력하지 않은 경우, 네트워크 첫번째 값이 기본값으로 할당된다. 지정하고 싶으면 지정할 아이피를 입력하면 된다. 서브넷 세부정보는 건들이지 않고 그대로 둠. DHCP 사용 체크되어있는 상태/// 이 실습버전에서는 게이트웨이 설정이 불가하다.

 

 

 

 

 

내부 네트워크와 서브넷 생성이 완료되면 위처럼 표시된다.

 

 

[7]라우터 생성과 네트워크 연결

1) 라우터는 내부네트워크가 라우터를 통해 외부 네트워크와 연결하기 위해 사용한다.

2) 라우터 생성후 인터페이스를 추가 (외부네트워크와의 연결을 위한 작업)

 

 

 

라우터가 생성되면 이렇게 확인이 되는데 라우터와 외부네트워크가 연결된 것을 확인할 수 있다. 그러나 아직 내부네트워크를 연결하지는 않은 상태이므로 인터페이스 추가해줘야한다. 일단 dev-router 클릭

 

 

 

 

 

연결이 완료되었다. 네트워크 토폴로지에서 확인이 가능하다.

 

 

 

 

 

그런데 게이트웨이가 활성화가 되지 않은 상태!

 

[8] 보안그룹을 생성한다.

 

 

규칙관리에서 규칙을 추가해야함. egress 내보냄은 다 열려있고 ingress 규칙을 추가해줘야한다.
들어오는 규칙을 꼭 추가해줘야해서 ssh, icmp,  http 를 열어줘야함 오픈스택은 이러한 포트 정책 허용을 직접 해줘야한다.

 

 

[9] key pair

개인키**** 개인키는 키 생성시 한번 만 다운로드 받을 수 있으며, 보안상 나중에 다시 받을 수 없다.  즉, 키 파일을 분실했을 경우에 새로운 키를 다시 생성해야한다.  (개인키 기억할 수 있는 장소에 저장해두기 이따 키인증 접속때 필요)

 

 

 

 

 

[10] Floating IP할당  / =유동IP할당 (나중에 인스턴스 생성할 때 할당에도 되고 미리 할당해도됨.)

 

 

 

 

[11] 인스턴스 연결

 

 

 

새로운 볼륨생성 아니오 누르기!!!!!!!!!!  사진은 예로되어있지만.....

 

 

부팅소스에서 미리 만들어놓은 스냅샷이 있으면 스냅샷 이미지 인스턴스도 생성이 가능하다.

만약 부팅 소스에서 볼륨을 선택하게 되면 , 볼륨을 가지고도 인스턴스를 생성할 수 있다는 것. 어떻게?  이전에 새로운볼륨생성을 통해 만들어진 볼륨이 있을경우 사용이 된다. 왜냐면 노바가 제공하는 블록장치인 flavor 는 인스턴스를 지우면 같이 지워지는데 새로운 볼륨생성을 선택 하게되면 새로운 cinder볼륨을만들어서 이미지로부터 데이터를 복제한다. 그렇게 되면 인스턴스를 지워도 남아있는데 안남아있도록 하거나 남아있도록 하거나 그 설정도 위의 '인스턴스 삭제시 볼륨삭제 ' 항목에서 선택을 할 수 있다.

 

정리다시

 

 

 

[12] 유동아이피 할당 후 연결

 

 

 

 

 

 

[13] 볼륨생성 & 인스턴스연결

 

 

 

볼륨연결관리를 눌러서 인스턴스와 연결해주기

 

-볼륨도 스냅샷생성이 가능하다. 특정상태를 스냅샷 찍어두고 나중에 인스턴스 생성을 또 하게 되었을 때 사용할 수 있다.

볼륨스냅샷에서는 사용하면서 이전상태로 돌아가는 용도로는 사용할 수 없고 그 상태와 똑같은 스냅샷으로 만든 볼륨을 추가할 수 는 있다. (하나 더 추가해서 쓰는 것만 가능하다는 뜻)

 

- 볼륨생성 옆에 볼륨 이전받기

 

 

이후 생성한 인스턴스에 ssh  접속후, lsblk 명령어로 디스크 확인해보면 1기가 디스크가 추가되어있는 것을 확인할 수 있다.

 

유동아이피로 ssh 접속한 이후 확인한 상태

 

 

[14]인스턴스 콘솔 -> ssh 접속   (key인증 접속만 가능 passwd 접속 불가!!!!)

이전에 keypair 에서 생성받은 개인키***** 가 위치한 곳 기억

우분투 핑확인

$ ping 192.168.122.123  -c4

$ ssh -i dev-key.pem centos@192.168.122.124    // 키를 가지고 인증을 할때

이렇게 접속하면 too open 경고 문구 뜬다.   프라이빗 키기 때문에 본인만 접속이 가능하기 때문에 보안 관련해서 오류가 발생하는 것.

$ chmod 600 dev-key.pem    //해주고 해야함.  소유자만이 읽고 쓰기가 가능한 상태로 만들어야 키파일 사용이 가능하기 때문이다.

다시 $ ssh -i dev-key.pem centos@192.168.122.124   접속

 

1) 권한을 600 으로 설정해주고 재접속한다.

chmod 600 dev-key.pem                  //키가 들어있는 위치에 가서 권한주기

$ ssh -i dev-key.pem centos@192.168.122.124     // -i (관리자모드)

 

 

 

 

2)  sudo yum update http    //웹기능을 활용하기 위해 http를 업데이트해야하는데  연결이 안되서 이부분이 오류가 날 수 있다.

이유는 dns 서버가 등록되어있지 않기 때문이다.

$ sudo vi /etc/resolv.conf 에 들어가서 nameserver를 추가해줘야한다.

 

 

 

 

다시 httpd 웹서비스 데몬을 설치해준다.  sudo yum install -y httpd

 

 

 

 

 

3) 서비스 시작해주고 활성화 해준다. 방화벽은 열어주지 않아도 된다. 아까 security 그룹에서 포트를 열어줬기 때문이다. [HTTP &ICMP& SSH]  ICMP -> ping 보내는거

$sudo systemctl start httpd
$ sudo systemctl enable httpd

 

 

 

 

4) html  txt파일을 올리고 웹에서 확인해본다.

 

 

수빈언니가도와줌...ㅎㅎㅎ 감사