728x90

전체 글 288

NAS

Network Access Storage 의 줄임말로 컴퓨터에 직접 연결하지 않고 LAN으로 연결해서 네트워크를 통해 데이터를 주고 받을 수 있는 저장소이다. 일반적인 서버 처럼 CPU와 메인보드가 있고 그곳에 하드디스크를 연결해서 사용하면 된다. 일반적인 데스크탑에서의 Window 같은 NAS 전용 운영체제도 존재한다. 즉, NAS는 하드웨어+소프트웨어의 조합이라고 볼 수 있고 그냥 하나의 서버 이해하는게 맞다. 클라우드 서비스와 유사하나 NAS는 개인이 용도에 따라 맞춤형으로 구축할 수 있다. NAS 서버는 네트워크상에서 고유한 IP 주소를 가진 단일 노드로 된다. 일반적으로 Lunix에서는 NFS 같은 프로토콜로 이더넷 연결을 통해 엑세스할 수 있고 인터넷 기반 파일 엑세스를 위한 http나 ftp..

Base/OS, Network 2021.06.11

Apache mod_proxy 로 HA 처리하기

https://hashcode.co.kr/questions/1943/%EC%95%84%ED%8C%8C%EC%B9%98%EC%97%90-mod_proxy_balancer%EB%A5%BC-%EC%A0%81%EC%9A%A9%ED%95%A0-%EB%95%8C-failover-%EC%B2%98%EB%A6%AC%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%95%98%EB%82%98%EC%9A%94 아파치에 mod_proxy_balancer를 적용할 때 failover 처리는 어떻게 하나요? 안녕하세요. 현재 제가 구성중인 서버의 구조는 아래 그림과 같습니다: 그리고 apache0의 httpd.conf 파일은 아래와 같습니다: # 생략 ProxyRequests off ProxyPreser..

Backend/Server 2021.06.07

Jenkins Master/Slave 연동

SSH 방식 https://wiki.kicco.com/pages/viewpage.action?pageId=9732396 JNLP 방식 https://wiki.kicco.com/pages/viewpage.action?pageId=9732892 실제 Jenkins가 설치된 서버를 Master라 칭하고 이곳에서 모든 CI/CD를 담당할 경우 부하가 심해질 수 있으므로 Master에서는 전체적인 Job에 대한 관리만 하고 실제 CI/CD는 별도 Slave 서버에서 수행되도록 부하분산 처리를 할 수 있다. 이때 Slave 서버는 일반적으로 실제 서비스가 배포되어야 할 서버가 된다. 이 경우 Master 와 Slave 연동이 필요하게 되고 일반적으로 SSH 방식을 많이 사용하고 Master 에서 Slave 로 접근..

Base/CI, CD 2021.06.05

Jenkins Kubernetes Plagin 구성시 주의사항

Jenkins Kubernetes Plagin 는 전통적인 마스터/슬레이브 구조 중 슬레이브를 Kubernetes Pod으로 구성하는 방식이다. 이는 일회성 컨테이너로 사용되고 잡 수행이 완료되면 자동으로 종료된다. 즉, 아래와 같은 구조가 된다. 구성 방법은 서칭하면 많이 나오니 생략하고 여기에서는 트러블 슈팅에 대해 이야기 하려고 한다. 일단 슬레이브는 무조건 k8s 컨테이너로 생성되어야 하기 때문에 이를 위한 쿠버네티스 클러스터가 필요하고 마스터는 해당 클러스터에 구축해도 되고 별도 클러스터에 구축해도 되고 아예 별도로 PM환경에 구축해도 된다. 여기에서 마스터를 슬레이브와 동일한 클러스터에 구성한다면 별도의 트러블을 경험하지 못하고 쉽게 구축할 수 있을 것이다. 다른 클러스터에 구축하거나 별도 P..

Base/CI, CD 2021.06.05

github 에서 파일/디렉토리 삭제하기

프로젝트에서 github에 소스코드를 push 할 때에는 기본적으로 .gitignore 파일을 생성해서 불필요한 디렉토리나 파일은 push 되지 않도록 한다. 예를 들어 빌드시 마다 갱신되는 classpath 가 대표적이다. 이때는 아래와 같이 하면 된다. 1. 로컬 디렉토리와 github에서 모두 삭제하기 git rm {디렉토리명 또는 파일명} git commit -m "delete source" git push 2. 로컬 디렉토리에는 유지하고 github에서만 삭제하기 git rm --cached -r {디렉토리명 또는 파일명} git commit -m "delete source" git push

ETC 2021.06.02
728x90