전체 글 32

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

도커 교과서 ch06 (도커 볼륨)

도커 컨테이너에도 단일 드라이브로 된 파일시스템이 존재 -> 이미지 속 파일로 생성된다. 모든 컨테이너는 독립된 파일 시스템을 갖는다. -> 같은 이미지로 만든 컨테이너라도 추 후에 하나를 수정해도 나머지는 영향이 없다. 실습 user@DESKTOP-KU8L7UV:~/080258/ch06/exercises/random-number/linux$ sudo docker container run --name rn1 diamol/ch06-random-number [sudo] password for user: Unable to find image 'diamol/ch06-random-number:latest' locally latest: Pulling from diamol/ch06-random-number (중략) ..

공부/docker 2023.12.20

[OpenStack] openstack cinder volume 삭제 오류

발단 volume을 db에서 강제삭제 하였으나 cinder volume disk가 정상적으로 지워지지 않은 상황 발생 (fdisk -l시 할당되어 있음) mriadb에서도 삭제됨 조치 lv 삭제 시도(lvremove) 실패 (어딘가에 마운트됨) openstack 아키텍처 별로 stop 후 재삭제 시도 실패 (동일) 'vi syslog' 로 cinder 동작 확인 tgt 마운트 흔적 발견(cinde의 부가적 demon, cinde의 설정파일에 존재함) Nov 23 14:51:40 testserver tgtd[1428]: tgtd: device_mgmt(246) sz:69 params:path=/dev/cinder-volumes/volume-00752a82-9373-4921-84e2-6954ac6616cd ..

트러블슈팅 2023.12.19

도커 교과서 ch05 (도커 레지스트리)

실습환경 초기화 명령 docker container rm -f $(docker container ls -aq) 이미지 차지 디스크 용량 회수 명령 docker image rm -f $(docker image ls -f reference='diamol/*' -q) 도커 플랫폼은 SW 배포기능을 내장하고 있다. 로컬에 없더라도 도커 레지스트리에서 자동으로 내려받아 준다. -> 대부분 도커 허브라는 레지스트리에서 받아진다. (디폴트) 도커 이미지 구조 (도메인)/(계정)/(image name):(tag) docker.io/diamol/golang:latest 구조 설명 docker.io : 이미지가 저장된 레지스트리 도메인(default는 도커 허브) diamol : 작성자의 계정 이름(개인 혹은 단체) go..

공부/docker 2023.12.19

도커 교과서 ch04 (도커 이미지 2)

실습환경 초기화 명령 docker container rm -f $(docker container ls -aq) 이미지 차지 디스크 용량 회수 명령 docker image rm -f $(docker image ls -f reference='diamol/*' -q) 도커의 장점 -> 모든 환경에서 사용가능하며 Dockerfile 스크립트를 작성하여 이미지를 만든 후 어플리케이션 패키징을 위한 Dockerfile 스크립트에서 이 이미지를 사용해 소스코드를 컴파일함으로써 어플리케이션을 패키징 할 수 있다. FROM diamol/base AS build-stage RUN echo 'Building...' > /build.txt #'Building..' 이라는 단어를 build.txt에 입력 FROM diamol/..

공부/docker 2023.12.18