본문 바로가기

IT

Helm, Helm chart 쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 관리하기 위한 강력한 오케스트레이션 도구로 널리 사용되고 있다. 하지만 쿠버네티스의 기본적인 오브젝트(예: Deployment, Service, ConfigMap 등)를 사용해 복잡한 애플리케이션을 배포하고 관리하는 것은 반복적이고 오류가 발생할 수 있는 작업이다. 이를 해결하기 위해 Helm이 개발되었다. Helm은 쿠버네티스의 패키지 매니저로, 애플리케이션의 배포, 업그레이드, 롤백, 삭제 등을 효율적으로 관리할 수 있도록 도와준다. 이를 통해 인프라스트럭처를 코드로 관리하는 Infrastructure as Code(IaC) 개념을 보다 쉽게 구현할 수 있습니다. Helm이 제공하는 주요 장점은 다음과 같다:간소화된 배포: Helm Char.. 더보기
Pinpoint-docker 설치하고 적용하기 [ agent 분리 ] 핀포인트는 (네이버에서) 만든 오픈소스 APM 도구로 매우 직관적이여서 만족도가 높았다. 이를 설치한 간단한 방법을 기록하려고 한다.사실 매우 간단하다. 호스트에 Pinpoint를 직접 설치해서 사용할 때는 Hbase, Mysql, pinpoint collertor, pinpoint web 등 설치할 게 많아서 귀찮았는데 docker, 정확히는 docker-compose를 활용하면 이미 만들어진 공식 파일을 활용하면 된다.  https://github.com/pinpoint-apm/pinpoint-docker GitHub - pinpoint-apm/pinpoint-docker: Official Dockerized components of the PinpointOfficial Dockerized compo.. 더보기
ElasticSearch&Kibana v8.15 docker 설치 & 토큰 발급 version: "3"services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0 container_name: elasticsearch environment: - "discovery.type=single-node" expose: - "9200" ports: - "9200:9200" kibana: image: docker.elastic.co/kibana/kibana:8.15.0 links: - "elasticsearch" ports: - "5601:5601" docker-compose up 5601포트로 접근 시 키바나 접속8.. 더보기
쿠버네티스 EFK(Docker-compose)로 Logging하기(Java/Spring) 쿠버네티스 doc을 살펴보면 여러가지 로깅 아키텍쳐가 존재한다.모든 노드에서 실행되는 노드-레벨 로깅 에이전트를 사용한다.애플리케이션 파드에 로깅을 위한 전용 사이드카 컨테이너를 포함한다.애플리케이션 내에서 로그를 백엔드로 직접 푸시한다.필자는 애플리케이션에서 직접 로그를 노출하는 방법3을 활용했다.https://kubernetes.io/ko/docs/concepts/cluster-administration/logging/ 로깅 아키텍처애플리케이션 로그는 애플리케이션 내부에서 발생하는 상황을 이해하는 데 도움이 된다. 로그는 문제를 디버깅하고 클러스터 활동을 모니터링하는 데 특히 유용하다. 대부분의 최신 애플리케kubernetes.io 1의 방법의 경우 해당 게시글을 참고하자. (helm을 활용한 EFK.. 더보기
AWS EKS Cluster 접근하기 1. AWS CLI 설치AWS CLI를 사용해서 자격증명을 해야만 EKS 클러스터로 접속이 가능하다.EKS 뿐만이 아닌 다양한 AWS 환경의 자원을 컨트롤하기 위해서 필요한 CLI는 AWS를 사용하면 필수이니 꼭 설치할 필요가 있다.aws.doc에 친절하게 설명이 나와있으니 자신의 os에 맞춰 설치하도록 하자. 가능한 aws-cli2를 사용하자. 이전에 AWS ECS를 사용하면서 Task에 컨테이너 접속할 때 aws-cli1은 명령이 지원되지 않았던 기억이 있다. 버전 업데이트하는 방법도 하기 aws.doc에 포함되어 있으니 참고하면 될 듯 하다.$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip .. 더보기
node, npm version up npm 캐시 퍼지npm cache clean --force 1) 윈도우는 2번으로 npm install -g n 최신 버전 설치n ltsn latest 이전 버전 제거n prune 2) 윈도우의 경우nvm 설치https://github.com/tj/n/issues/491 nvm을 통해 최신 버전을 받을 수 있다.nvm install lts node 버전 리스트 업 및 버전 변경nvm listnvm use 20.12.2  npm 최신 버전 설치npm install -g npm@latest 더보기
maven multi pom.xml, pom-dev.xml, pom-prod.xml 다중 분리 maven 사용시 pom.xml 파일에서 profile 태그를 활용하면 프로필 별로 종속성, 플러그인 등을 설정할 수 있지만, com.exam com.exam.test 1.0.0 test development junit junit 4.12 test production .. 더보기
gitlab-ci.yml release version tag ( multi pomfile ) 라이브러리 master 업로드 시 태그 붙이기.gitlab job stage에 release를 제공해줌https://docs.gitlab.com/ee/ci/yaml/#releasetag_message파이프라인 tag를 만들어주는 스크립트는 다음과 같다.tagging:stage: releasescript:- echo "running release_job"allow_failure: truerules:- if: "$CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == 'master'"tags:- prodsrelease:tag_name: 'Pipeline.$CI_PIPELINE_ID'description: 'Pipeline.$CI_PIPELINE_ID'ref: '$CI_.. 더보기

728x90