분류 전체보기

    [이럴땐이렇게] Jenkins 스케쥴(Crontab) 간격 설정 unexpected token / 발생할 때 (Build periodically error, cron trigger error)

    오늘 겪은 젠킨스 관련 에러 ... 젠킨스 잡에 크론트리거(Build periodically) 를 걸어야 하는데 n분부터 n분 간격, 예를 들어서 매시간 2분부터 4분 간격이라고 하면 2분, 6분, 10분, ... 이런식으로 2분~59분 사이에 4분 인터벌로 스케쥴이 돌아야 하는 상황이었다. Crontab 문법으로 생각해 봤을 때는 3/5 * * * * 로 하면 되겠지만, 저렇게 적용했더니 Unexpected token /

    Nginx Basics - Reverse proxy, load balancing, static content deploy

    아무 생각없이 써오던 nginx... 그냥 리버스프록시용으로 쓴다 정도로만 생각하고 쓰던 설정 그대로 복사&붙여넣기만 하던 나날들,, 한 번쯤은 정리해둬야지 싶어서 정리 Features High performance HTTP web server Mail proxy server TCP/UDP proxy server Supports 3rd party modules Reverse Proxy 클라이언트 - 서버 사이의 미드포인트에서 리버스 프록시를 통해 리퀘스트를 서버로 전달함 이때, 서버는 여러 대일 수 있고, 리버스 프록시 서버가 접속할(리퀘스트를 전달할) 서버의 정보를 가지고 있다가 정해진 로직에 따라 해당하는 서버로 요청을 전달 클라이언트는 리버스 프록시 서버의 정보만 알게 되어 서버 정보를 은닉할 수 ..

    [이럴땐이렇게] 리눅스 서버 disk full인데 지울거 없을때 임시조치 / linux disk full

    이런 상황이 찾아온다. 디스크 풀 나서 서비스 안 뜨고, 배포는커녕 아무것도 할 수 없는데(autocompletion도 디스크 풀이라 안먹는..^^) 당장 뭘 지우기에는 남이 관리하는 서버라 뭘 지우기도 애매한 상황일 때 한번쯤 쓸법한 커맨드 apt autoremove 때리면 얼마만큼의 용량이 확보될건데 삭제 하겠냐 yn 뜰건데 그건 본인이 알아서 판단하면 될 일.. 기능은, 다른 패키지 의존성 때문에 설치되었지만 지금은 사용되지 않는 패키지를 삭제한다. 뭐가 안 된다고 연락이 오는 시점에는 이미 자동완성까지도 안 먹는 노답상황이기 때문에 요런걸로라도 확보를 해 두고, 그 다음 원인을 파악해서(logrotate 설정같은..) 조치를 취하면 된다 ! 엥? 저거 한다고 얼마나 확보가 되겠어.. 싶은데 의외로..

    CI/CD 로그 시각화를 위한 ELK stack with Jenkins (1)

    CI/CD 로그 시각화를 위한 ELK stack with Jenkins (1)

    [포스팅을 작성하게 된 배경] 올해 팀 타겟 중 CI/CD 로그 시각화 관련된 타겟이 있었다는 것을 인지는 하고 있었지만, 어떻게 구현해야 할 지에 대한 생각은 전혀 없었던 상태였습니다. 다른 팀과 완전히 다른 이야기를 하다가 시스템 관련 로그들은 ELK 연동이 되어 있다고 해서 헛... 그렇다면 거기에 로깅 설정만 좀 변경하고 탑승해서 날로 먹어볼까? 라는 마음으로 발을 들였다가 결국 완전 분리된 별개의 프로젝트를 시작하게 되었습니다. 지금도 아직 지표 도출 및 온보딩까지는 많은 단계가 남았지만, 이는 통계나 다른 인프라 측면의 문제이지 구현 방식은 별다른 차이가 없을 것이라 보여집니다. (이렇게 말 해 놓고 온갖 삽질을 하면서 긴 시간을 때려 부을 것으로 예상되기는 함) Jenkins 로그를 좀 더 ..

    Declarative vs. Imperative

    Terraform에서도 언급되고, Jenkins pipeline 문법에서도 언급되는..(이 경우엔 카운터파트가 imperative가 아니라 scripted) Declarative vs. Imperative Declarative: 사용자(개발자)가 원하는 최종 형태를 선언 e.g., Terraform 을 사용할 때의 Declarative 선언 형태 : (config 파일이 정의된 상태에서) 이 config를 가진 5대의 서버. → 즉, end state 에 대한 정의가 있고 이를 어떻게 구현하는지는 표현하지 않음 요 end state 를 보통 desired state 라고 표현함 특히특히특히 k8s에서... (TMI지만 k8s가 k8s인 이유는 k ubernete s 요 k랑 s 사이에 8글자가 들어가서...

    Load Balancing : L2, L3, L4, L7의 차이

    업무할때 L4랑 L7만 신경쓰다보니 그 아랫단은 아리까리해서 잠시 정리 .. Load Balancer 서버로 들어오는 요청을 "분산" 시켜 "부하"가 특정 한 곳으로 몰리지 않도록 하는 역할 로드밸런서는 OSI 7 Layers 기준으로 꺾어주는 레이어 수준에 따라 분류함 L2(데이터 링크 계층에서 꺾어줌) - 데이터 링크간의 스위칭 - MAC 주소를 기반으로 꺾어줌 - 라우팅 안됨 - 연결된 친구들 전체에게 브로드캐스팅때림(flooding) -> 이로인해 본인패킷 아닌거 검증하고 버리고 하느라 성능저하 있음 L3(네트워크 계층에서 꺾어줌) - IP 주소를 바탕으로 로드밸런싱 - 라우팅 O L2랑 다르게 데이터의 네트워크 주소를 확인하고 그 위치로 꺾어줌 L4(전송 계층에서 꺾어줌) - IP랑 Port 수..