본문 바로가기

IT

AWS Opensearch(ElasticSearch) Data CSV 변환, S3 적재 이전 구축되어있던 로깅 파이프라인은 FluentD를 통해 Opensearch에 로그를 쌓고 있었고 개인정보관련 로그는 인덱스를 날짜 별로 분리하여 따로 관리하고 있었다. 개인정보관련해서 최소 5년 보관해야하는 규약이 있었고 시간이 지남에 따라 용량이 쌓여 비용이 증가하였고 인덱스가 생성되지 않는 문제가 발생했다.  가장 좋은 선택지는 UltraWarm 노드와 Cold Storage를 활성화해서 인덱스를 다른 계층에 저장하는 것이 비용과 관리에 효율적이라고 생각한다. 하지만 이미 구축되어 제공되던 로깅 서비스에 문제를 해결하기 위해 S3로 오래된 날짜 별 인덱스의 적재된 로그를 이관하는 스크립트를 기록한다. 신규 구축 과정에서 해당 문제를 겪고 opensearch의 datastream을 활용하여 로깅을 구.. 더보기
쿠버네티스[EKS] Kiali 설치 및 기존 Prometheus 활용 기존 Prometheus는 해당 helm chart를 활용하여 설치하였다.https://prometheus-community.github.io/helm-charts https://sh970901.tistory.com/151 쿠버네티스[EKS] 프로메테우스, 그라파나 helm 설치helm을 먼저 설치하자. https://sh970901.tistory.com/150 Helm, Helm chart쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 관리하기 위한 강력한 오케스트레이션 도구로 널리 사용되고 있다. 하지만 쿠sh970901.tistory.com  Istio Addon을 띄우기 위한 yaml 파일이 Github에 있어 이를 활용하였다. addon 파일을 그냥 apply하면 된다. 꼭 isti.. 더보기
쿠버네티스[EKS] Istio 설치 및 적용 [istioctl, helm, operator] istio를 설치하는 방법은 여러가지가 있다.istioctl, Istio Operator, Istio helm chart로 설치하는 방법이 있다. 1. istioctl 설치curl -L https://istio.io/downloadIstio | sh -cd istio-1.13.1export PATH=$PWD/bin:$PATH 2. 설치가능한 프로필 확인istioctl profile list3. defalut profile 설치istioctl install --set profile=default -y 4. envoy sidecar proxy auto 주입kubectl label namespace istio-injection=enabled## disabled 설정kubectl label namespace .. 더보기
EKS worker node SSM 접속 기존에 EC2에 접근할 때 pem 키 없이 SSM을 통해 접속하는 엔지니어에게 EKS에서 동일한 접속 환경을 제공하기 위해 EKS에서 제공하는 SSM agent를 DaemonSet으로 배포하기 위한 매니페스트 파일이다. vim ssm-manager.yamlapiVersion: apps/v1kind: DaemonSetmetadata: labels: k8s-app: ssm-installer name: ssm-installer namespace: kube-systemspec: selector: matchLabels: k8s-app: ssm-installer template: metadata: labels: k8s-app: ssm-installer s.. 더보기
쿠버네티스[EKS] argo rollout을 이용한 Blue/Green, Canary 배포 argo-rollouts 설치kubectl apply -n argo-rollouts -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml # argo-rollouts 생성#다운로드curl -LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64#권한 변경chmod +x ./kubectl-argo-rollouts-linux-amd64#파일 이동sudo mv ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-r.. 더보기
쿠버네티스[EKS] argocd 설치 및 AWS ALB 외부 노출, Slack 설정 설치는 매우 간단하다. Getting_started만 따라해도 서비스가 간단하게 뜨는 것을 확인할 수 있다.https://argo-cd.readthedocs.io/en/release-2.0/getting_started HA for productionkubectl create namespace argocdkubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/ha/install.yaml  https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/ Argo CD is largely stateless. All data i.. 더보기
쿠버네티스[EKS] EFK (Elastic, Fluent-bit, Kibana) helm 설치 쿠버네티스 doc을 살펴보면 여러가지 로깅 아키텍쳐가 존재한다.모든 노드에서 실행되는 노드-레벨 로깅 에이전트를 사용한다.애플리케이션 파드에 로깅을 위한 전용 사이드카 컨테이너를 포함한다.애플리케이션 내에서 로그를 백엔드로 직접 푸시한다.해당 게시글은 방법 1을 활용한 내용이다. https://kubernetes.io/ko/docs/concepts/cluster-administration/logging/ 로깅 아키텍처애플리케이션 로그는 애플리케이션 내부에서 발생하는 상황을 이해하는 데 도움이 된다. 로그는 문제를 디버깅하고 클러스터 활동을 모니터링하는 데 특히 유용하다. 대부분의 최신 애플리케kubernetes.io Elastic 8.x버전부터 보안이 기본적으로 활성화되어 있으며, 클러스터 간 통신 및 .. 더보기
쿠버네티스[EKS] 프로메테우스, 그라파나 helm 설치 helm을 먼저 설치하자. https://sh970901.tistory.com/150 Helm, Helm chart쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 관리하기 위한 강력한 오케스트레이션 도구로 널리 사용되고 있다. 하지만 쿠버네티스의 기본적인 오브젝트(예: Deployment, Service, ConfigMap 등sh970901.tistory.com1. helm 설치wget https://get.helm.sh/helm-v3.9.4-linux-amd64.tar.gztar xvfz helm-v3.9.4-linux-amd64.tar.gzmv linux-amd64/helm /usr/bin/helm version 2. prometheus, grafana 패키지로 만들어진 helm rep.. 더보기

728x90