brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 10. 2023

EKS 11탄-5. EKS 기초-옵저버빌리티-5/5

EKS 로깅관련 실습을 해보자.


https://www.eksworkshop.com/docs/observability/resource-view/




<1> EKS 콘솔에서 리소스 보기

<2> 로깅 설정 하기 - 컨트롤 플래인의 로그가 남도록 설정하자 (실습)

<3> 로깅 설정 하기 - 파드 로깅 남도록 설정하기

<4> 오픈소스 기반의 옵저버빌리티 = EKS open source observability

<5> Container Insights on EKS

<6> 비용측정하기 = Cost visibility with Kubecost

<7> Kubecost and Amazon Managed Service for Prometheus

<8> 삭제





<1> EKS 콘솔에서 리소스 보기



1

# EKS > 클러스터 > Resource > Nodes 확인 

나오지 않으면 권한 부여 필요.




2

# 컨트롤 플래인 로그 남도록 하기

# EKS 클러스터 > Observability (관찰 가능성) >  맨아래  Control plane logs (제어 플레인 로깅) 확인


디폴트 OFF인것을 확인

기본적으로는 Control plane logs 는 남지 않는다.

남도록 설정을 ON하자.








<2> 로깅 설정 하기 - 컨트롤 플래인의 로그가 남도록 설정하자 (실습)



1

# 컨트롤 플래인의 로그가 남도록 설정하자.


콘솔에서도 가능하다.

여기서는 CLI로  로그가 남도록 ON 하자. (디폴트는 OFF이다)



export AWS_REGION=ap-northeast-2

echo $AWS_REGION


export EKS_CLUSTER_NAME=eks-workshop

echo $EKS_CLUSTER_NAME



aws eks update-cluster-config     --region $AWS_REGION     --name $EKS_CLUSTER_NAME     --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'



aws eks wait cluster-active --name $EKS_CLUSTER_NAME




# 콘솔에서 화면 갱신해서 확인해보자.

EKS 클러스터 > Observability (관찰 가능성) >  맨아래  Control plane logs (제어 플레인 로깅) 확인




2

cloudwatch log에 가면 로그 쌓인것을 볼수 있다.



3

CloudWatch Log Insights 에서도  조회 명령어로 로그 확인가능 하다.





<3>  로깅 설정 하기 - 파드 로깅 남도록 설정하기



1

aws-for-fluent-bit pod 설치하면 cloudwatch log에 가면 로그 쌓인것을 볼수 있다.


kubectl get all -n aws-for-fluent-bit




2

# 참고 -  aws workshop을 통한 실습 

prepare-environment observability/logging/pods






<4> 오픈소스 기반의 옵저버빌리티 = EKS open source observability



# 오픈 서치를 이용해 옵저버빌리티를 사용가능하다.



1

# 참고 -  aws workshop을 통한 실습 

prepare-environment observability/oss-metrics


// 준비 되는 내용은 yaml 파일을 보시면 확인할수 있습니다.

https://github.com/aws-samples/eks-workshop-v2



~/environment/eks-workshop/modules/observability/oss-metrics/adot/clusterrole.yaml


2

prepare-environment observability/oss-metrics 실행 했는데 오류나는경우

다시한번 실행~





3

 Accessing Grafana






4

 Application Metrics



어플리케이션 정보를 보자~

테스트후 부하 발생기는 지우자~


kubectl delete pod load-generator -n other





<5> Container Insights on EKS



1

CloudWatch Log Insights

Cluster metrics 설정 가능



2

# 참고 -  aws workshop을 통한 실습 

prepare-environment observability/container-insights




<6> 비용측정하기 = Cost visibility with Kubecost


1

# kubecost

aws workshop 

https://www.eksworkshop.com/docs/observability/kubecost/



테라폼 https://github.com/aws-samples/eks-workshop-v2/tree/stable/manifests/modules/observability/kubecost/.workshop/terraform



2

설치 링크 



3

확인


kubectl get deployment -n kubecost


kubectl get service -n kubecost kubecost-cost-analyzer -o jsonpath="{.status.loadBalancer.ingress[*].hostname}:9090{'\n'}"






4

# 참고 -  aws workshop을 통한 실습 

prepare-environment observability/kubecost






<7> Kubecost and Amazon Managed Service for Prometheus



Kubecost 와 AWs에서 제공하는 Managed Service for Prometheus 와 연결이 가능하다.



https://www.eksworkshop.com/docs/observability/kubecost/amp




<8> 삭제


1

eksctl delete cluster $EKS_CLUSTER_NAME --wait


aws cloudformation delete-stack --stack-name eks-workshop-ide



2

# 참고  - 실습 환경 구축과  삭제 

실습 환경 구축용은 cloud9용 cloudformation 파일이라 이제 사용하지 않음. 다운로드 불가.


https://innoshome.notion.site/innoshome/Amazon-EKS-a328fadd565a42d8a8178628e826da36


3



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari