분류 전체보기 32

도커 교과서 ch09 (모니터링)

헬스케어가 존재하더라도 지속적인 애플리케이션 모니터링과 이상이 발생했을때 통보하는 메세지 기능은 필요하다. 컨테이너에서 실행하는 애플리케이션에 있어 투명성은 매우 중요 > 미확보시 애플리케이션의 관리영역이 완전히 비어버리게 된다. 프로메테우스를 사용해 애플리케이션 컨테이너에서 측정된 수치를 수집하고 그라파나를 사용해 수치를 시각화해 이해하기 쉬운 대시보드 형태로 구성한다. 해당 도구들은 오픈소스 + 높은 플랫폼 호환성을 보여주어 동등하게 사용가능하다 컨테이너 화된 애플리케이션 환경은 일반 로컬 서버 환경보다 훨씬 역동적이다 > 수백개 수십개가 넘치는 컨테이너, 플랫폼에 의해 끊임없어 생성되고 삭제되는 컨테이너들 즉 새로운 모니터링 방식이 필요하다. > 프로메테우스가 이런 기능에 적합한 오픈소스 도구 프로..

공부/docker 2024.01.31

[jenkins] 설치 파일 권한 관련 오류

발단 젠킨스를 서비스에 올리고 정상 작동을 확인하고 대시보드에 들어갈려고 링크를 넣으니 위의 오류가 발생했다 코드 내용은 아래와 같다 jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created at jenkins.model.Jenkins.checkRawBuildsDir(Jenkins.java:3471) at jenkins.model.Jenkins.loadConfig(Jenkins.java:3392) Caused: java.io.IOException at jenkins.model.Jenkins.loadConfig(Jenkins.java:3396) at jenkins.model.Jenki..

트러블슈팅 2024.01.29

[jenkins] jenkins 수동 설치 및 서비스 등록

jenkins(젠킨스)란? CI/CD(지속적인 통합/배포)를 위한 도구로 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화 해주는 도구이다. Git과 연동하여 다양한 플로그인 사용이 가능하다 (디폴트 기준)8080port로 대시보드에 접속하며 50000port의 파이프라인을 통해 슬레이브들에게 배포된다. History Api의 효율적인 배포를 위해 jenkins를 통한 CI/CD 배포 환경이 필요하게 되었는데 현재 사내 공인아이피를 대부분 사용하고 있어서 추가적으로 요청을 하던지 해서 얻어야하지만 젠킨스 하나만 사용하겠다고 추가 인스턴스에 공인 IP를 할당 받는건 비효율적이라 생각해 기존의 OpenVpn용으로 생성했던 인스턴스에 볼륨만 추가해 jenkins 서비스를 설치할 생각이다. 이러한 사..

구축/Jenkins 2024.01.29

[OpenVpn] openvpn.log에 timestamps 추가하기

발단 필드에 설치된 openstack 내부 네트워크 망에 있는 인스턴스들을 외부에서 접속시키기 위해 openvpn 인스턴스를 하나 설치 또한 효율적인 관리를 위해 각 사용자 별로 인증서를 다르게하고 openvpn 설정파일에서 맨아래의 값을 추가하여 openvpn.log파일에 log를 띄우게함 하지만 opnvpn.log파일에 기록은 되나 타임스탬프는 뜨지 않는 문제가 발생 막상 사용자가 들어온건 파악되는데 언제 이 로그를 남겼는지 확인이 불가능해 해당 정보가 유명무실해 질 수 있다. 타임 스탬프를 띄우기 위해 조치 시작 vi /etc/openvpn/server/server.conf ..(생략) status /var/log/openvpn-status.log verb 3 crl-verify crl.pem ex..

트러블슈팅 2024.01.24

[openstack] Windows QCOW2 이미지 생성법

사전에 필요한 항목 Ubuntu 22.04 등의 리눅스 환경 windows ISO 파일 VirtIO 드라이브 파일 KVM 과정 windows를 저장할 qcow2 타입의 이미지를 생성 qemu-img create -f qcow2 winxxxx.qcow2 15G #xxxx 는 해당하는 windows 서버의 버전을 적으시면 됩니다. KVM에서 windows vm을 생성 virt-install --connect qemu:///system \ --name (vm이름) --ram 2048 --vcpus 2 \ --network network=default,model=virtio \ --disk path=winxxxx.qcow2,format=qcow2,device=disk,bus=virtio \ --cdrom (해당..

운영 2024.01.12

openstack 구축 8 cinder

OpenStack Block Storage 서비스 Cinder는 가상 머신에 영구 스토리지를 추가한다. 블록 스토리지는 볼륨 관리를위한 인프라를 제공하고 OpenStack Compute(nova)와 상호 작용하여 인스턴스 볼륨을 제공한다. 또한 이 서비스를 통해 볼륨 스냅 샷 및 볼륨 유형을 관리 할 수 ​​있다. 해당 구축은 컨트롤러 노드와 스토리지 노드로 나누어지며 단일노드일경우 한 노드에 다 넣으면 된다. 컨트롤러 노드 DB, 서비스 사용자 등록 및 API 엔드포인트 생성 sudo su root #root 권한 습득 mysql #mariadb 접속 MariaDB [(none)]> CREATE DATABASE cinder; #cinder DB생성 MariaDB [(none)]> GRANT ALL PR..

구축/Openstack 2024.01.10

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