전체 글 36

openstack 구축 7 horizon

호라이즌 관련 정보 호라이즌은 openstack에서 대시보드 서비스를 맡고 있다. (추가예정) 구성 요소 설치 및 구성 apt-get update #최신화 apt install openstack-dashboard #패키지 설치 vi /etc/openstack-dashboard/local_settings.py OPENSTACK_HOST = "controller" #컨트롤 노드에서 OpenStack 서비스를 사용하도록 대시보드를 구성 ALLOWED_HOSTS = '*' #모든 엑세스 허용 #SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' SESSION_ENGINE = 'django.contrib.sessions.backends.cache..

구축/Openstack 2024.01.09

openstack 구축 6 neutron

뉴트론은 오픈스텍에서 네트워크 서비스를 맡고 잇다. 다중 노드일시 네트워크 노드를 따로 구축하며 단일 노드일시 파일에 추가적인 기입만 하면 된다. 네트워킹은 Provider network와 Self-service network로 나뉘어 지는데 보통 Self-service에 Provider 설정이 들어가 있으므로 Self-service 설정 방법으로 진행한다. 이번에도 공식 메뉴얼에서 몇몇 오탈자가 발견되어 수정해서 작성하였으니 유의하며 진행하길 바란다. nova와 horizon, cinder 다음으로 오류를 잘내는 서비스이니 log 위치를 알아두면 좋다 해당 서비스의 로그는 디폴트로 "/var/log/neutron/"에 존재하며 권한 설정상 root 상태로 들어가야한다. 컨트롤러 노드 DB, 서비스 사용..

구축/Openstack 2024.01.05

openstack 구축 5 nova

노바는 컴퓨팅 부분 그러니까 VM의 관리를 맡는 서비스이다. 여기서부터 openstack 공식 메뉴얼에 오탈자 부분이 있어 만일 공식 메뉴얼을 참고할 경우 유심히 확인하여 설치하는게 좋다. 단일 노드일경우는 추가적으로 기입하는 형태로 진행하면 되어서 상관없지만 다중 노드일경우 컨트롤러 노드와 컴퓨팅 노드 부분을 유의하여 구축하길 바란다. 컨트롤러 노드 DB, 서비스 사용자 등록 및 API 엔드포인트 생성 sudo su root #루트 권한 접속 #DB 등록 mysql #mariadb 접속 MariaDB [(none)]> CREATE DATABASE nova_api; MariaDB [(none)]> CREATE DATABASE nova; MariaDB [(none)]> CREATE DATABASE nova..

구축/Openstack 2024.01.03

openstack 구축 4 placement

placement는 openstack에서 사용되는 리소스를 할당하고 배치하는데 사용되는 서비스다 keystone 보다는 설정할게 많지만 다른 서비스들보다 설정할게 적으니 잘 따라오면 오타없이 성공적으로 설치할 수 있을 것이다. 원래 공식 메뉴얼에서 보안PW를 설정할때 PLACEMENT_PASS와 PLACEMENT_DBPASS를 따로두지만 실제로 따로 설정했더니 keystone 연결시 인증서에 문제가 생겨서 PLACEMENT_PASS로 통일시켜 같은 PW를 사용했다. DB, 서비스 사용자 등록 및 API 엔드포인트 생성 sudo su root #루트 접속 #DB생 mysql #mariadb 접속 MariaDB [(none)]> CREATE DATABASE placement; #DB생성 MariaDB [(n..

구축/Openstack 2023.12.28

openstack 구축 3 glance

glance는 인스턴스의 이미지(인스턴스 데이터 저장 파일)을 관리하는 서비스다 여기서부터 오타가 발생시 인증서 오류로 인하여 정상적인 서비스가 불가능 할 수 있으니 유심하여 입력할 것 openstack의 특성상 kvm을 주로 사용하니 qcow2 파일을 자주 이용하게 될 것이니 알아두면 좋다. DB, 서비스 사용자 등록 및 API 엔드포인트 생성 sudo su root #루트 권한 접속 #DB 등록 mysql #mariadb 접속 MariaDB [(none)]> CREATE DATABASE nova_api; MariaDB [(none)]> CREATE DATABASE nova; MariaDB [(none)]> CREATE DATABASE nova_cell0; #DB생성 MariaDB [(none)]> G..

구축/Openstack 2023.12.28

openstack 구축 2 keystone

keystone은 모든 서비스들의 중심이자 가장 중요한 인증부분을 맞고있는 서비스이다 서비스 설정 중 가장 간단하지만 추후에도 몇번 더 수정해야하는 항목이니 conf 설정파일을 한번 둘러보는 것도 권장한다. admin과 demo 계정의 비밀번호는 직접 타자를 쳐야할일이 많으니 어느정도 사람이 쓸 수 있는 선에서 보안을 챙기길 권장한다. 여기서 꼬이면 답이 없으니 DB 설정시 유의바란다. DB등록 mysql #mriadb 접속 MariaDB [(none)]> CREATE DATABASE keystone; #keystone DB생성 MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'KEY..

구축/Openstack 2023.12.27

도커 교과서 ch08 (헬스 체크와 디펜던시 체크)

도커는 컨테이너를 실행할 때마다 애플리케이션의 기본적인 상태를 확인한다. -> 도커가 확인하는 것은 컨테이너 안의 프로세스의 실행 상태 이러한 헬스 체크는 기본적인 체크 밖에 불가능하다 -> 보장되는 것은 프로세스의 실행 상태 뿐 애플리케이션의 정상적인 상태X 도커는 애플리케이션의 상태가 실제로 정상인지 확인할 수 있는 정보를 도커 이미지에 포함 시킬 수 있는 기능 보유 (Dockerfile 스크립트에 상태확인을 위한 로직 사용) #실습1 (헬스 체크 로직 부재) root@DESKTOP-KU8L7UV:/home/user/080258/ch08/exercises# docker container run -d -p 8080:80 diamol/ch08-numbers-api Unable to find image '..

공부/docker 2023.12.27

openstack 구축 1 사전 환경 구축

보안 구성 openstack은 구축과정에서 각 서비스 및 db 별로 password를 설정해야 한다. 만약 따로 각 서비스별로 비밀번호를 지정하지 않았다면 대시보드에서 자주사용하는 admin 및 user의 계정이 아닌이상 보안을 위해 아래의 명령어를 사용하여 무작위 hex값을 사용하길 권장한다. openssl rand -hex 10 사용 password 목록 service 설명 ADMIN_PASS 어드민 계정 DEMO_PASS 일반 사용자용(demo) 계정 CINDER_DBPASS cinder(스토리지 관련) mysql 계정 CINDER_PASS cinder(스토리지 관련) 계정 DASH_DBPASS dash(대시보드) mysql 계정 GLANCE_DBPASS glance(이미지 관련) mysql 계정 ..

구축/Openstack 2023.12.26

openstack 구축 0 들어가기 앞서

구축 버전 및 기간 openstack version: yoga 구축 기간: 2023-11~2023-12 오픈스택 장/단 점 장점 오픈소스 (AWS 등의 IAAS 플랫폼 서비스를 무료로 구축이 가능하다) 다양한 IAAS 부가 서비스들 OS 호환성(linux, windows 지원) 다양한 VM 지원 단점 난이도 있는 설치 및 유지보수 (오타 오탈이 난무하는 공식 설치 메뉴얼, 조금이라도 틀리면 바로 고장나는 구조 등) 한정된 이미지 범위 (다양한 이미지를 지원하지만 실질적으로 QCOW2가 가장 안정적이다) 구축시 필요한 배경 정보 Hypervisor(하이퍼바이저)란? 가상머신생성기, 리소스 관리(s/w형태라 리소스 초과 배분 가능), 속도를 위해 OS부분에 다이렉트 라인(I/O) 뚫어 사용하는 경우도 있음 ..

구축/Openstack 2023.12.26

도커 교과서 ch07 (도커 컴포즈)

복잡한 애플리케이션 구조를 정의하여 생성할때 Dockerfile 대신 docker compose를 이용하는게 좋다. > 수동으로 일일이 프로세스를 지정하면 애플리케이션 오류가 일어날 확률이 높음 docker compose(도커 컴포즈)파일: 애플리케이션의 '원하는 상태' 즉 컴포넌트가 실행 중일 때 어떤 상태여야 하는지를 기술하는 파일이자 docker container run 명령으로 컨테이너를 실행할 때 지정하는 모든 옵션을 한데 모아놓은 단순한 형식으미 파일이다. 도커 컴포즈 파일 작성 후 > 도커 컴포즈 도구를 사용 > 어플리케이션 실행 > 도커 컴포즈가 필요한 도커 객체(컨테이너, 네트워크, 볼륨 등) 필요한 모든 도커 객체를 만들도록 도커 API에 명령 도커 컴포즈는 JSON으로 변환하기 쉬운 ..

공부/docker 2023.12.22