본문 바로가기

728x90

IT 인프라

(12)
CI/CD 개념과 Continuous Delivery, Deploy 차이, 개발관리 툴(Nexus, 소나큐브) 본 포스팅에서 다루는 범위 CI/CD 개념, Continuous Delivery와 Deploy 의 차이, Docker 개발 관리(Nexus, sonarqube, clair) Docker 운영 관리 Docker CI/CD 개념과 프로세스 CI (Continuous Integration) 여러 코드 또는 다른 기능들과 통합되는 SW 개발 단계. 임시 환경 내 코드 통합과정. 애플리케이션 빌드와 기본 테스트를 포함한다. 즉, 개발자가 코드 변경 커밋할 때마다 S/W를 자동 빌드, 테스트하는 개발 방법. 지속적인 통합이 제대로 구현되면 애플리케이션 코드의 새로운 변경 사항이 정기적으로 빌드 및 테스트를 거쳐 공유 리포지토리에 병합된다. 따라서 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할..
도커, 쿠버네티스, MSA 개념과 활용 본 포스팅에서 다루는 범위 도커(Docker), 쿠버네티스(Kubernetis, K8s), MSA(MicroService Architecture) 주요 개념과 활용 도커(Docker)란? 컨테이너 이미지 패키징 방식으로, 애플리케이션 실행하는데 필요한 코드, 설정, 런타임 등 포함하는 소프트웨어 추상화 패키지를 배포/실행하는 플랫폼. 컨테이너는 리눅스의 네임스페이스로 알려진 기술을 적용해 동일한 시스템에서 실행하고, OS 커널을 다른 컨테이너와 공유할수 있으며 각각은 유저 스페이스에 격리된 프로세스에서 실행됨. 컨테이너 이미지 크기는 수십메가로 VM보다 용량이 적고 더 많은 애플리케이션을 처리가능. 더 적은 수의 VM 및 OS로도 app 배포/실행 가능하기에 실무에서 MS 운영 위해 도커 컨테이너를 운영..
도커 데몬, 도커 컴포즈(docker compose) 개념, 특징, 명령어 본 포스팅 범위 도커 이용한 컨테이너 관리 - 도커 시스템 주요 명령어, 도커 컴포즈 - 특징, 구성요소, docker-compose.yml, 명령어와 이용 목적, 참고자료 도커 이용한 컨테이너 관리 도커 데몬 주요 명령어 $ docker system info : 도커 시스템 관련 정보(OS, CPUs, registry, ... 등) $ docker system events (alias 건 것) : docker 실행 과정 등 진행 상황(우측 이미지) 따른 로그 확인 가능(좌측이미지) $ docker system df : 도커 시스템 디스크 사용량, 리눅스 df처럼. RECLAIMABLE은 자원회수율 의미. -v옵션은 상세화. $ docker system prune : 도커 시스템 저장공간 확보 위한 중지..
도커 이미지 다루기 : 빌드, dockerfile, 저장소, 이미지 경량화 전략 본 포스팅 범위 도커 이미지 다루기 이미지 빌드, dockerfile, 저장소, 이미지 압축파일 저장/불러오기, 이미지 경량화 전략 도커 이미지 빌드 도커 이미지 구조(이미지 레이어, 컨테이너 레이어) 도커 이미지는 os(ex.ubuntu) → ex.nginx → web app 순차적 단계가 지날수록 layer가 쌓인다. 이미지를 실행하면 도커 컨테이너가 되는데, 이는 Image layer(Read Only)와 Container layer(Read/Write layer) 로 구성된다. 컨테이너가 삭제되면 Container layer도 삭제됨에 유의해야 한다. 휘발성이다. → 볼륨 연결 필요함 Dockerfile 없이 이미지 생성(기존 컨테이너 기반 새 이미지 생성) docker commit도 git과 비..
도커 구성요소, 이미지와 컨테이너, 명령어 그리고 컨테이너 다루기 위한 기능(엔트리포인트, 로그 등) 본 포스팅 범위 도커 구성요소, 도커 이미지와 컨테이너, 도커 컨테이너 기본 명령어, 라이프사이클 도커 컨테이너 다루기(엔트리포인트, 커맨드), 도커 다루기(dockerfile, 로그) 도커 구성요소 Client에서 명령어(build, pull, run) 입력시 DOCKER_HOST가 도커 엔진이 띄워져 있는 서버로 pull 명령어로 remote 하거나 build한다. 이미지, 컨테이너를 관리한다. 이미지 pull하는 원천은 Registry(이미지 저장소)로 이미지 저장소에서 공유된 이미지를 로컬 도커 호스트에 저장하고 실행시키면 컨테이너가 된다. 도커 이미지와 컨테이너 도커는 리눅스 컨테이너 관리 기술이다. 이미지(Image) 컨테이너 생성시 필요 요소, 컨테이너 목적에 맞는 바이너리와 의존성이 설치되..
git 사용 이유와 간단한 작업(명령어) 개념 정리 이번 포스팅에서 다루는 간단한 git 관련 개념 git 사용 이유, git vs github, pull, push, add, commit, merge, branch, master branch, 주요 작업(명령어) 프로세스 git은 학교다닐 때도 찔끔 해보고, 수업 들을때 과제 제출 용도와 프로젝트 용도로 찔끔 겪어는 봤다. 물론 메인 기능인 merge나 branch 기능을 사용하지 않았기 때문에 공부할 필요성을 느꼈다. git은 상세히 설명해주는 블로그들이 많기에 개념용 단어 몇 개와 참고 사이트 정도만 정리해본다. git을 사용하는 이유 by. 생활코딩 GIT1 (opentutorials.org) 1) 버전관리 문서나 소스파일을 수정해 업데이트 되는 내용이 버전별로 저장되는 기능. 각 버전의 문서/소스..
WebtoB 실행 중(행걸린) Thread 확인 방법 - 웹어드민 화면 모니터링 페이지 운영을 하다보면 특정 요청의 실행 시간이 길어져 자원을 계속 잡고 있는 경우가 있다. WebtoB 어드민에서 [si] 명령어로 요청들 현황 확인 가능한데, reqs = count 가 정상 처리된 상황이나, 이렇게 숫자가 다른 경우가 지속될경우, 오래 자원을 점유하고 있는 프로세스가 존재한다는것으로 확인 필요하다. 시간 지나 빠지면 괜찮은데 운영에 지장 갈 정도까지 영향을 준다면 모니터링 화면에서 "어떤 프로세스가 자원을 잡고있는지, 얼마나 진행됐는지, 강제 중지할수 있는지"를 확인해 판단에 도움을 준다. 이 내용은 최근에 알았는데, 좀더 일찍 알았으면 좋았을걸 - 한다. JEUS8 웹어드민 화면에서 확인 가능하다. (웹어드민 지원되지 않는다면 로그나 모니터링 프로그램을 이용해야 할듯.) Monitorin..
JEUS 세션 클러스터링 방식, timeout 설정 부분 세션 클러스팅 기능과 목적 최초 cookie값 없을때 WebtoB → JEUS 로 Round Robin방식으로 세션 분배가 이뤄지며, cookie값 있을땐 JEUS의 세션 클러스터링 기능으로, 연결된 세션의 서버가 죽더라도 다른 서버로 세션 유지가 가능함 부하 분산과 장애발생시 안정성(failover), 두가지 목적임 개발자도구에서 세션 id의 '. 뒷부분'을 복호화하면, 어떤 서버에 접속된 세션인지 확인 가능 세션 Timeout 설정 방법 1. application 레벨에서 session.setMaxInactiveInterval 세션 유지시간 정의 2. JEUS의 WEB-INF/Web.xml 파일 내 설정 ... 30 ... 3. JEUS WAS 설정(아래 화면은 JEUS8 session config ..

728x90