EKS에서 DataKit 배포¶
개요¶
Amazon Elastic Kubernetes Service(Amazon EKS)는 Amazon에서 제공하는 Kubernetes 관리형 서비스로, 사용자가 Kubernetes 컨트롤 플레인 또는 노드를 설치, 운영 또는 유지 관리할 필요 없이 컨테이너화된 애플리케이션을 배포할 수 있습니다.
EKS에서 DataKit을 배포하는 방법은 두 가지입니다.
- 첫 번째: kubectl을 사용하여 datakit.yaml 실행
- 두 번째: Helm을 설치하고 Helm을 사용하여 DataKit 배포
이 문서에서는 EC2에 kubectl, eksctl을 배포하여 EKS 클러스터에 연결한 후, EC2에서 Helm을 설치하고 Helm을 사용하여 DataKit을 배포하는 방법을 설명합니다.
사전 요구 사항¶
작업 단계¶
Warning
이 문서의 예시에서 사용된 버전 정보는 다음과 같습니다: DataKit 1.5.2, Kubernetes 1.24, kubectl v1.23.6, Helm v3.8.2
1 kubectl 설치¶
다음 명령어를 실행하여 kubectl을 설치합니다.
wget https://dl.k8s.io/release/v1.23.6/bin/linux/amd64/kubectl
chmod +x kubectl
mv kubectl /bin/kubectl
kubectl 버전을 확인합니다.
2 EKS 연결¶
2.1 Amazon CLI 구성¶
이 예시에서는 AMI 이미지를 사용하며, 기본적으로 Amazon CLI가 설치되어 있습니다.
Amazon CLI가 설치되지 않은 이미지를 사용하는 경우 설치가 필요합니다. Amazon CLI 설치를 참조하세요.
EC2에 로그인하여 aws configure를 입력하고, 프롬프트에 따라 AWS에서 EKS를 생성한 계정의 Access Key ID, Access Key 및 region을 입력하여 구성합니다. Default output format은 json을 입력합니다.
2.2 eksctl 설치¶
다음 명령어를 실행하여 eksctl을 설치합니다.
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
mv /tmp/eksctl /bin
chmod +x /bin/eksctl
eksctl 버전을 확인합니다.
2.3 EKS 클러스터 구성¶
AWS EKS로 이동하여 클러스터 이름을 확인합니다.
다음 명령어를 사용하여 클러스터를 구성합니다. 여기서 region은 cn-northwest-1이고, name은 EKS 클러스터 이름입니다.
kubectl 명령어를 사용하여 클러스터 Pod를 확인합니다. 결과가 표시되면 EKS에 성공적으로 연결된 것입니다.
3 Helm 설치¶
EC2에 로그인하여 다음 명령어를 사용하여 Helm을 설치합니다.
wget wget https://get.helm.sh/helm-v3.8.2-linux-amd64.tar.gz
tar -zxvf helm-v3.8.2-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/helm
Helm 버전을 확인합니다.
4 DataKit 배포¶
4.1 Token 획득¶
「Guance」- 「관리」-「설정」에 로그인하여 Token을 찾고, 오른쪽의 복사 아이콘을 클릭합니다. Token은 다음 단계에서 사용됩니다.
4.2 Helm 리포지토리 추가¶
Helm을 사용하여 DataKit을 배포하려면 먼저 DataKit의 Helm 리포지토리를 추가해야 합니다.
리포지토리가 성공적으로 추가되었는지 확인합니다.
4.3 DataKit 구성¶
리포지토리에서 DataKit 패키지를 다운로드하고 압축을 풀어 구성을 추가하기 쉽게 합니다.
values.yaml 파일을 편집하여 획득한 token을 아래 그림의 dataway_url에서 빨간색 상자 위치에 붙여넣습니다.
global_tags 값에 cluster_name_k8s=k8s-aws 값을 추가합니다. 이는 비선출형 메트릭 수집을 위한 전역 태그 cluster_name_k8s를 추가하는 것입니다.
환경 변수 ENV_NAMESPACE 값을 k8s-aws로 설정합니다. 기본적으로 DataKit 선출이 활성화되어 있으며, 워크스페이스 + 이 네임스페이스에는 하나의 DataKit만 선출형 메트릭을 수집하여 중복 수집을 방지합니다.
환경 변수 ENV_GLOBAL_ELECTION_TAGS를 추가합니다. 이는 선출형 메트릭에 전역 태그 cluster_name_k8s를 추가하기 위한 것입니다.
참고: 위의 세 곳에서
k8s-aws는 다른 문자열로 변경할 수 있으며, 다른 클러스터는 동일한 값을 사용할 수 없습니다.
수집기를 활성화해야 하는 경우 dfconfig 아래에 구성을 추가할 수 있습니다. 주석 처리된 부분은 mysql 수집기를 활성화하는 예시입니다.
4.4 DataKit 설치¶
다음 명령어를 실행하여 DataKit을 배포합니다. datakit 네임스페이스가 이미 존재하는 경우, 뒤의 --create-namespace는 생략할 수 있습니다.
배포 성공 후 Guance「워크스페이스」에 로그인하여 「메트릭」 - 「메트릭 관리」에서 kube로 시작하는 메트릭을 확인합니다. 여기에는 전역 태그 cluster_name_k8s가 존재합니다.














