반응형

Infra 13

종료된 도커 컨테이너를 찾고 재실행하는 방법

Docker container가 중지된 경우, 해당 컨테이너의 id를 찾고다시 실행하는 명령어에 대하여 간략하게 정리해보도록 하겠습니다.  종료된 Docker 컨테이너 id 탐색 명령어일반적인 docker ps 명령어로는 현재 실행 중인 도커 컨테이너들만 조회가 됩니다.중지된 도커 컨테이너까지 함께 조회하기 위해서는 docker ps -a 명령어로-a 추가 옵션을 같이 지정해주어야 합니다. STATUS 항목이 다음과 같이 Exited로 되어있는 컨테이너가 종료된 컨테이너에 해당됩니다.CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS ..

Infra/Docker 2024.04.28

Dockerfile로부터 도커 이미지 생성 / 컨테이너 실행 명령어 정리

프로그램을 도커로 실행하기 위해 필요한 도커파일을 작성한 뒤에 Dockerfile로 부터 도커 이미지를 생성하고 컨테이너를 실행하는 과정이 필요합니다. 이 글에서는 이 과정들에 필요한 명령어들을 간략하게 정리해보도록 하겠습니다. Step 1. 도커 이미지 생성(docker build) 컨테이너 실행을 위해서는 먼저 docker image 생성이 필요합니다. 이를 위해서는 docker build 명령어가 수행되어야 하며, 명령어의 포맷은 다음과 같습니다. docker build -t [이미지명]:[태그] [Dockerfile 위치] -t [이미지명]:[태그]는 생성될 이미지의 이름과 태그를 지정합니다. 태그는 선택 사항이며, 생략할 경우 latest가 기본값으로 지정됩니다. [Dockerfile 위치]는 ..

Infra/Docker 2024.02.28

[EKS] Grafana 사용을 위한 Loki + Promtail 설정 방법

EKS 환경 내 Grafana에서 로그 모니터링을 하려면 Loki와 Promtail을 세팅하여야 각 pod에서 로그가 정상적으로 수집될 수 있습니다. 이번 글에서는 Loki와 Promtail을 EKS 내에서 세팅하는 방법을 살펴보도록 하겠습니다. (Loki는 저장소, Promtail은 로그를 담아주는 역할입니다.) 1. Loki 설치 1. 먼저, Loki 작동을 위해서는 ebs-csi-addon을 설치해야 합니다. 설치 명령어는 다음과 같습니다. cluster_name=my-eks-cluster-name eksctl create addon --name aws-ebs-csi-driver --cluster $cluster_name --attach-policy-arn arn:aws:iam::aws:policy..

[EKS] ArgoCD 설치 및 ingress 설정 방법

EKS 클러스터 내에서 helm을 통하여 ArgoCD를 셋업하고, 설치된 ArgoCD에 ingress를 설정하여 특정 웹사이트 주소로 호스팅 준비를 하는 방법을 간략하게 정리하여 다루어보도록 하겠습니다. Prerequisite: helm 설치 ArgoCD 설치를 위해서는 helm이 쿠버네티스 환경 내에 설치되어 있어야 합니다. helm 설치 및 기본적인 사용 방법에 대해서는 아래의 글에 정리해두었으니, 필요하신 분들은 참고해보세요. helm 소개 및 기초 명령어 예시 정리 helm이란? 쿠버네티스 환경에서 패키지 관리자 역할로, 복잡한 쿠버네티스 yaml 파일을 세세히 작성하지 않아도 기본적인 세팅을 도와주고 애플리케이션 설치, 업그레이드, 관리가 매우 용이하게 jimmy-ai.tistory.com Ar..

AWS EKS 클러스터 생성 방법 정리(eksctl 사용)

EKS 클러스터를 eksctl 명령어를 통하여 셋업하는 방법을 간략하게 정리해보도록 하겠습니다. AWS console 페이지에서도 EKS를 직접 생성할 수 있지만, eksctl을 활용하는 경우 쿠버네티스 업데이트 내역과의 호환성이 더 좋아 명령어를 통하여 EKS 클러스터를 생성하는 방법을 권장드립니다. 1. AWS CLI 인증 우선, 사용할 AWS 계정의 CLI 인증이 되어 있어야 합니다. 만일, STS 인증을 사용할 경우 작업 자동화 관련 글이 있으니 참고해보시면 좋습니다. AWS STS 인증 과정 자동화 방법(리눅스 기준) AWS에서 보안 강화를 위하여 MFA를 적용한 STS 인증을 다음과 같이 사용하는 경우가 있습니다. aws sts get-session-token --serial-number --..

Failed to evaluate queries and expressions: [sse.readDataError] [A] got error: input data must be a wide series but got type long (input refid) 원인 및 해결 방법

오류 개요 Grafana에서 Alert rule을 설정하는 과정에서 'ERROR'가 들어간 문자열을 탐지하려고 했는데 쿼리를 다음과 같은 식으로 작성하였더니 오류가 발생하였습니다. 에러 메시지: Failed to evaluate queries and expressions: [sse.readDataError] [A] got error: input data must be a wide series but got type long (input refid) 오류 원인 A항에서 결과가 namespace A -> 1, namespace B -> 2처럼 groupby와 유사한 결과가 등장하여야 True / False 판별이 이후에 가능해지는데, 여기서는 데이터 원본에서 단순히 추출된 결과가 등장해서 이후에 판별이 불가..

Infra/Debugging 2023.12.01

helm 소개 및 기초 명령어 예시 정리

helm이란? 쿠버네티스 환경에서 패키지 관리자 역할로, 복잡한 쿠버네티스 yaml 파일을 세세히 작성하지 않아도 기본적인 세팅을 도와주고 애플리케이션 설치, 업그레이드, 관리가 매우 용이하게 해줍니다. pip install로 파이썬 모듈을 쉽게 설치할 수 있는 것과 유사한 원리로 생각하면 됩니다. 여기서는 '모듈' 대신 '차트'라는 표현을 주로 사용합니다. helm 설치 아래의 공식 사이트의 설명을 따라하면 쉽게 설치가 가능합니다. https://helm.sh/ko/docs/intro/install/ 헬름 설치하기 헬름 설치하고 작동하는 방법 배우기. helm.sh helm search repo helm search repo로 설치 가능한 차트를 검색할 수 있습니다. 예를 들어, nginx와 관련된 r..

AWS EKS 그라파나(Grafana) 접속 세팅 방법

AWS EKS에서 그라파나 사이트를 띄울 수 있는 pod를 띄우고 사이트에 접속할 수 있도록 설정하는 방법에 대하여 간략하게 정리해보도록 하겠습니다. Step 1. 그라파나 도커 이미지 다운로드 및 ECR에 업로드 로컬 시스템에 Docker가 설치되어 있다고 가정하겠습니다. 먼저, Grafana 공식 도커 이미지를 다운로드해야 하는데, 다음 명령어로 쉽게 가능합니다. docker pull grafana/grafana 해당 로컬 환경에서 AWS 인증을 하고, ECR 레포지터리를 생성합니다. (여기서는 grafana-repo라는 이름의 레포지터리를 가정하겠습니다.) aws ecr create-repository --repository-name grafana-repo 이제 도커 이미지 태깅 및 push를 진행..

AWS STS 인증 과정 자동화 방법(리눅스 기준)

AWS에서 보안 강화를 위하여 MFA를 적용한 STS 인증을 다음과 같이 사용하는 경우가 있습니다. aws sts get-session-token --serial-number --token-code 위와 같이 입력하면 Credentials 정보가 아래와 같은 json 양식으로 출력되고, 이를 일일이 복사 후 환경 변수로 export해야 AWS 인증이 완료됩니다. { "Credentials" : { "AccessKeyId" : , "SecretAccessKey": , "SessionToken": } export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_SESSION_TOKEN= 12시간 후 만료되는 AWS STS 토큰의 특징 때문에, 위 과..

Infra/AWS 2023.11.20

Redis Cluster 데이터 백업 과정 파이썬으로 실행하기

AWS의 Redis Cluster에서 생성된 데이터를 저장 및 불러오기를 통하여 백업하는 방법을 Python으로 실행하는 코드 예제를 간단히 다루어보도록 하겠습니다. 여기서는 pickle 파일을 통하여 백업 파일을 전달하는 예시를 다루겠습니다. Redis Cluster 데이터 저장하기 Redis URL A에 있는 redis 내 정보를 pickle 파일로 저장하는 예시 코드는 다음과 같습니다. from redis.cluster import RedisCluster import pickle rc = RedisCluster.from_url( "Redis URL A" ) data = {} keys = rc.keys("*") for key in keys: data[key] = rc.hgetall(key) with ..

Infra/AWS 2023.11.03
반응형