728x90
Container Insights란?
CloudWatch Container Insight는 컨테이너형 애플리케이션 및 마이크로 서비스에 대한 모니터링, 트러블 슈팅 및 알람을 위한 완전 관리형 관측 서비스입니다.
CloudWatch 콘솔에서 자동화된 대시보드를 통해 container metrics, Prometeus metrics, application logs 및 performance log events를 탐색, 분석 및 시각화할 수 있습니다.
1. mainfests 관리 폴더 생성
cd ~/environment
mkdir -p manifests/cloudwatch-insight && cd manifests/cloudwatch-insight
2. CloudWatch agent, Fluent Bit 설치
amazon-cloudwatch라는 네임스페이스를 생성합니다.
kubectl create ns amazon-cloudwatch
아래의 명령어에 대한 결과 값으로 해당 네임스페이스를 확인합니다.
kubectl get ns
아래의 명령어들을 이용하여 CloudWatch 에이전트 및 Fluent Bit를 설치에 필요한 환경 변수들을 등록합니다.
ClusterName=eks-demo
RegionName=ap-northeast-2
FluentBitHttpPort='2020'
FluentBitReadFromHead='Off'
[[ ${FluentBitReadFromHead} = 'On' ]] && FluentBitReadFromTail='Off'|| FluentBitReadFromTail='On'
[[ -z ${FluentBitHttpPort} ]] && FluentBitHttpServer='Off' || FluentBitHttpServer='On'
yaml 파일을 다운로드합니다.
wget https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluent-bit-quickstart.yaml
이전에 등록한 환경 변수 값을 해당 파일에 적용합니다.
sed -i 's/{{cluster_name}}/'${ClusterName}'/;s/{{region_name}}/'${RegionName}'/;s/{{http_server_toggle}}/"'${FluentBitHttpServer}'"/;s/{{http_server_port}}/"'${FluentBitHttpPort}'"/;s/{{read_from_head}}/"'${FluentBitReadFromHead}'"/;s/{{read_from_tail}}/"'${FluentBitReadFromTail}'"/' cwagent-fluent-bit-quickstart.yaml
해당 파일을 오픈한 후, fluent-bit의 DaemonSet 객체를 찾은 다음 아래의 값을 464번 째 줄인 spec 밑에 추가합니다.
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: eks.amazonaws.com/compute-type
operator: NotIn
values:
- fargate
변경된 파일을 디플로이합니다
kubectl apply -f cwagent-fluent-bit-quickstart.yaml
2. CloudWatch agent, Fluent Bit 설치 확인하기
정상적으로 설치되었는지 확인합니다.
이에 대한 결과로 cloudwatch-agent pod 및 fluent-bit pod가 각각 3개씩 나오면 됩니다.
kubectl get po -n amazon-cloudwatch
추가적으로 아래의 명령어를 통해서 2개의 Daemonset이 출력되는 것을 확인할 수 있습니다.
kubectl get daemonsets -n amazon-cloudwatch
728x90
'Cloud > AWS' 카테고리의 다른 글
[EKS 웹 애플리케이션 구축] Cluster Autoscaler 적용하기 (0) | 2022.08.19 |
---|---|
[EKS 웹 애플리케이션 구축] HPA 적용하기 (0) | 2022.08.19 |
[EKS 웹 애플리케이션 구축] AWS Fargate로 배포하기 (0) | 2022.08.19 |
[EKS 웹 애플리케이션 구축] 서비스 배포하기 (frontend- react) (0) | 2022.08.18 |
[EKS 웹 애플리케이션 구축] 서비스 배포하기 (backend - express) (0) | 2022.08.18 |