전체 글

개발과 운영, 박찬우의 기술 블로그입니다.
K8s_쿠버네티스

CywellSystem X Red Hat 'OpenShift & AI 세미나'

이번에 오픈시프트 세미나에 참석할 기회가 있었는데, 참석하며 얻은 내용과 제 생각을 공유하보려고 합니다.세미나는 쿠버네티스 환경과 오픈시프트 활용, AI 등 다양한 주제가 진행되었습니다.  평소에도 관심있던 레드햇저는 평소부터 레드햇에 관심이 많았습니다.첫 프로젝트에서 RHEL를 주로 다뤘던 경험이 있고, 사수 역시 레드햇을 워낙 좋아해서 자연스럽게 영향을 받았습니다. 덕분에 RHCSA를 취득하였고, RHCE도 준비 중입니다. 그러던 어느 날 협력업체 영업대표님과 점심식사 자리에서 레드햇 컨퍼런스와 관련된 이야기를 나누게 되었습니다.제가 레드햇에 관심이 많다 말씀드렸는데, 마침 그 업체에서도 레드햇 관련 사업을 진행하고 계셨었고, 그 후 몇 차례 레드햇 세미나 초청권을 받았지만, 바쁜 일정 탓에 참석하지..

DevOps/Linux_리눅스

[Linux] ulimit 개념 및 설정 방법(사용자 별 자원 관리)

1. ulimit 이란?ulimit는 리눅스(유닉스)에서 사용자별로 프로세스의 자원 한도를 설정하거나 확인할 수 있는 명령어이다.위 ulimit soft 값과 hard 값을 비교해보면 hard의 값이 훨신 크게 잡혀 있는 것을 알 수 있다. 사용자가 실행하는 프로세스에 대해 다음과 같은 자원 제한을 설정한다.파일 크기열 수 있는 파일의 최대 수사용 가능 메모리CPU 시간프로세스 개수코어 덤프 크기  ulimit [옵션] 값 ( Centos , RHEL 기준)a : 모든 제한 사항을 보여줌.c : 최대 코어 파일 사이즈d : 프로세스 데이터 세그먼트의 최대 크기f : shell에 의해 만들어질 수 있는 파일의 최대 크기s : 최대 스택 크기p : 파이프 크기n : 오픈 파일의 최대수u : 오픈파일의 최대수..

DevOps/Network_네트워크

[OpenVPN] OpenVPN Server 구축(Linux)

🍃 개요예전 사내에 Fortigate SSL-VPN을 구성한적이 있는데 macOS를 사용하는 PC에서는 접속이 안되는 문제가 있었다.이에 원인은 잘 모르겠지만 당장 접속이 필요한 상황이기 때문에 OpenVPN Server를 구축하여 VPN 통신을 구현해보겠다.  1. 실습 환경# 실습 환경cat /etc/*release*CentOS Linux release 8.5.2111Derived from Red Hat Enterprise Linux 8.5NAME="CentOS Linux"VERSION="8"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="8"PLATFORM_ID="platform:el8"PRETTY_NAME="CentOS Linux 8"ANSI_COLOR="0;31"..

DevOps/open source_오픈소스

[Tomcat] Apache Tomcat 실행 시 포트 정보(HTTP/HTTPS, AJP 커넥터, Shutdown 등)

🍃 개요Tomcat은 server.xml 파일에서 여러 포트를 설정할 수 있는데, 각 포트는 다른 목적으로 사용된다.주요 포트와 기능에 대해서 설명해보겠다.  1. Connector Port (HTTP/HTTPS)클라이언트가 HTTP 혹은 HTTPS 프로토콜로 웹 애플리케이션에 접근할 수 있도록 설정하는 포트이다.태그에서 설정하며 기본적으로 HTTP: 8080, HTTPS: 8443 포트로 적용되어있다. HTTPS의 경우는 기본적으로 비활성화 되어있다. 사용하러면 주석을 제거하고 SSL 인증서 경로를 지정해주면 된다.  2. Shutdown PortTomcat은 안전하게 종료하기 위해 shutdown 포트가 존재한다. 지정한 port를 통해 SHUTDOWN 명령어를 진행하면 tomcat 프로세스를 종료..

DevOps/open source_오픈소스

[Tools] 크기가 큰 텍스트 파일 열기(파일 분할)

개요tomcat 로그를 확인하려하는데, 용량이 너무 커 메모장으로 열 수 없는 상황이다. 어느 정도의 GB 크기의 텍스트 파일은 메모장 외에도 notepad++, visual studio 등의 툴을 사용해서 open할 수 있으나, 내가 확인하려는 텍스트 파일은 40GB(…)를 넘는다. 오랜 시간 끝에 파일을 열어도 일부만 출력되고 나머지는 잘리는 상태인데,이에 텍스트 파일을 분할하는 방법을 소개하겠다.  1. 텍스트 파일 분할 용량은 큰 텍스트의 파일을 라인(줄) 기반으로 분할해주는 프로그램이다.다운로드 후 실행하면 다음과 같이 나타난다.  이후 GO를 선택하면 파일 분할을 시작한다.  파일 분할이 정상적으로 완료되었다. 이제 내용 확인이 가능해졌다.

DevOps/open source_오픈소스

[Nginx] 애플리케이션 토큰 헤더 요청 오류 (헤더 옵션 변경)

개요현재 신규 서비스를 개발하고 있는데 빌드가 완료되어 개발서버에 배포를 진행하고 있다.spring 기반의 서비스이며 nginx와 tomcat으로 운영하고 있는데 서비스 호출은 정상이나 몇몇 api 및 토큰 요청에 문제가 있는 상황이다. 이에 nginx 설정 중 헤더 구성에 원인이 있다고 판단하여 nginx 설정을 확인해보는 시간을 가져보겠다.  현재 구성( nginx.conf )다음은 예시로 구성한 nginx.conf 이다.upstream cwking { server 192.168.100.20:8080;}server { listen 80; server_name woodev.devcw.site ; location / { proxy_pass http://cwk..

DevOps/virtualization_가상화

[Proxmox] 하이퍼바이저 재시작 후 VM 실행 오류 (no quorum, vm is locked)

개요개발환경으로 여러대의 온프레미스를 proxmox 서버로 하이퍼바이저를 구성하여 다양한 개발환경으로 사용중에 있다.오늘 비상전력 작업이 있어, 시스템 재기동을 함께 진행하였는데 proxmox가 재기동 후 몇몇 VM들이 실행되지 않는 현상이 발생하였다. 이에 proxmox VM 실행 오류 2가지의 해결 방법에 대해 알아보겠다.  1. VM is locked (snapshot)현재 100 VMID의 VM이 잠금 표시가 나타나며 실행되지 않는 상황이다.정확하게는 "VM is locked (snapshot)” 라고 에러가 나타나며 VM이 실행되지 않는데, 이는 표기 그대로 VM이 잠금 상태가 되었기 때문이다.주로 스냅샷 작업 도중 시스템이 중단되거나 재시작된 경우 발생할 수 있다고 한다.proxmox 서버에 ..

DevOps/Windows_윈도우

[IIS] apk 다운로드 오류(MIME 형식)

1. 문제본인은 현재 iis 웹서버를 통해 빌드한 애플리케이션 파일을 배포하고 있다.그러나 exe 파일의 경우 정상적으로 접근되나 apk 파일의 경우 404 에러가 발생하며 접근이 안되고 있는 현상이 발생하고 있다.  2. 해결 (MIME 형식)이는 IIS 웹서버 초기 기본 설정 시 빈번하게 발생하는 오류인데, 원인은 apk 확장자에 대한 mime 형식이 지정되어 있지 않기 때문이다.아래 절차대로 진행하여 apk 형식 추가가 가능하다. IIS 관리자로 접근 후 apk을 배포할 웹서버를 선택한다.이후 IIS 항목에서 MIME 형식 메뉴를 선택한다.   MIME 형식 추가 버튼을 눌러 MIME 형식을 추가한다.apk의 경우 다음과 같이 입력한다.파일 이름 확장자명 : .apkMIME 형식 : applicat..

DevOps/Monitoring_모니터링

[Prometheus/Grafana] 윈도우 OS 시간 모니터링 및 차이 발생 시 알람 발생(+meth 쿼리 결과 비교 및 label_replace 함수 라벨 변환)

0. 개요현재 특정 대역의 서버들은 윈도우로 구성된 NTP 서버의 시간을 동기화하여 사용한다고 가정한다.  그런데 이 NTP 서버 시간대가 실제 시간대와 점차 차이가 벌어진다.원인은 네트워크 지연, ntp 설정 문제, 시스템 리소스(CMOS 배터리 등 물리적 부품의 문제) 등 여러 경우가 있어 보임 이에 윈도우 서버의 시간을 모니터링하여 실제 시간과 차이가 30초 이상 발생하면 Slack 알람이 발송되도록 모니터링하는 방법을 알아보겠다.  1. win_exporter 구성NTP 서버에 win_exporter 설치를 진행한다.Win_exporter 이름으로 윈도우 서비스를 등록했으며, 이를 실행 및 자동 실행 설정을 진행한다.sc create "Win_exporter" binPath= "C:\infra_m..

Docker_컨테이너

[Docker] 도커 네트워크 삭제 및 신규 할당

0. 개요현재 prometheus 서버를 구성하여 모니터링 테스트를 진행하고 있다.내부 대역인 172.18.0.0 대역으로 exporter를 설치한 서버 대상으로 모니터링을 진행하려는데 방화벽이 OPEN되어 있음에도 exporter port로 통신이 안되는 상황이다.모니터링 서버의 라우팅 테이블을 확인하니 이미 docker network로 172.18.0.0 대역이 잡혀있어 충돌이 일어난 듯 하다.이에 해당 서버 docker network 확인 방법과 삭제 방법, 새로운 서브넷 추가와 컨테이너 연결 방법을 알아보겠다. 1. 현재 docker 네트워크 확인다음 명령으로 상태를 확인한다.docker network ls exporter 포트 통신이 안되어 확인하니 이미 해당 대역을 서버 내부 컨테이너 네트워크..

DevOps/open source_오픈소스

[NGINX] Nginx에서 Client IP(접속자 IP) 확인 방법

1. 개요nginx에서 application으로 요청을 전달할때, 접근하는 client ip를 확인해야 하는 경우가 있다.내 경우 특정 프로그램에서 실제 접근하는 IP 주소를 확인해야 하는 경우와, 정기점검 시 외부 사용자들은 점검페이지로 접근되도록 접속하는 IP를 구별하는 용도로 사용하였다.정기점검 전환 proxy 구성에 대해서는 추후에 자세히 설명하겠다. 이에 nginx에서 접근하는 ip를 확인하는 방법에 대해 설명해보겠다.  2. proxy_set_headernginx location 하위 블록에 proxy_set_header을 통해 여러 header를 세팅할 수 있다.https://nginx.org/en/docs/http/ngx_http_proxy_module.html Module ngx_http..

DevOps/open source_오픈소스

[NGINX] nginx reverse proxy

1. 개요현재 매 월마다 서비스 정기점검을 진행하고 있다. 보통 새벽시간대에 점검을 진행하는데 이 때 일반 사용자는 점검중인 서비스에 접근할 수 없도록 점검 페이지로 이동해야 하며, 개발자, QA등 테스트 인원들은 동일 도메인에 정상적으로 접근하도록 작업이 필요한 상황이다. 이에 점검 시간 중 사내 대역에서는 서비스에 정상적으로 접근하고 그 외 외부 접근은 모두 점검페이지로 접근하도록 Nginx Proxy 서버를 구축하려 한다. 2. proxy란?proxy : 대리, 대신, 대리권  출처: 동아출판 프라임 영한사전 프록시란 ‘대리’라는 단어 뜻 그대로 통신이나 응답을 중계하여 대리로 수행하는 것을 뜻한다.이 프록시 기능을 하는 주체를 프록시 서버(Proxy Server)라고 한다.  2.1 proxy 서..

cwpack0730
Woo DEV