본문으로 건너뛰기

마스터 및 노드 에이전트 설치

다음과 같이 마스터 및 노드 에이전트 설치 과정을 안내합니다. 설치 안내 화면과 동일한 과정입니다.

노트

EKS Fargate는 지원 예정입니다.

사전 환경 점검 및 설정

사용자의 쿠버네티스 환경에 따라 사전 환경 설정이 필요할 수 있습니다. Istio, GKE, OpenShift 환경에 해당하지 않을 경우 다음 단계로 넘어가세요.

Istio 환경일 경우 다음 명령을 실행해 와탭 수집서버와 통신하는 자원인 ServiceEntry를 생성하세요.

SH
kubectl create namespace whatap-monitoring
kubectl label namespace whatap-monitoring istio-injection=enabled
kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: whatap-external
spec:
hosts:
- whatap-proxy1
- whatap-proxy2
addresses:
- 13.124.11.223
- 13.209.172.35
ports:
- name: proxy
number: 6600
protocol: tcp
location: MESH_EXTERNAL
EOF

쿠버네티스 에이전트 생성

와탭 쿠버네티스 에이전트 설치 시 helm 차트 기준 안내와 yaml 파일 기준 안내를 다음과 같이 제공합니다.

Helm 버전 확인 및 와탭 리포지토리 네트워크 연결 상태 확인

  1. 다음 명령어를 통해 helm 버전을 확인하세요. 3.x 버전 이상을 지원합니다.

    helm version
    # version.BuildInfo{Version:"v3.x", GitCommit:"xxx", GitTreeState:"clean", GoVersion:"go1.20.8"}
  2. 와탭 Helm 리포지토리에 대한 네트워크 연결 상태를 확인하세요.

    curl https://whatap.github.io/helm/ping 
    # pong

Helm Chart 기준 설치

와탭 Helm 리포지토리 추가 후 사용자의 Container Runtime에 맞는 기본 설정 파일을 생성해 에이전트를 설치하세요.

  1. 다음 명령어를 실행해 와탭 Helm 리포지토리를 추가하세요.

    helm repo add whatap https://whatap.github.io/helm/
    helm repo update
  2. 다음 명령어를 실행해 사용자 CONTAINER-RUNTIME을 확인하세요.

    kubectl get nodes -o wide

  3. CONTAINER-RUNTIME 확인 후 설치에 필요한 기본 설정 파일(values.yaml)을 다음과 같이 생성하세요.

    containerRuntime: #CONTAINER-RUNTIME
    whatap:
    license: #WHATAP-LICENESE-KEY
    host: "13.124.11.223/13.209.172.35"
    port: "6600"
  4. 다음과 같이 에이전트 애플리케이션을 설치하세요.

    • 에이전트를 처음 설치하는 사용자는 다음 명령어를 실행해 에이전트 애플리케이션을 설치하세요.

      helm install whatap-kube-agent whatap/kube -f values.yaml
    • 기존 와탭 쿠버네티스 에이전트 사용자는 다음 명령어를 실행해 에이전트 애플리케이션을 설치하세요.

      kubectl delete ns whatap-monitoring
      kubectl delete clusterrole whatap
      kubectl delete clusterrolebinding whatap
      helm install whatap-kube-agent whatap/kube -f values.yaml
    노트

    기존 yaml 파일 방식으로 와탭 쿠버네티스 에이전트를 설치한 경우 Clean Install이 필요합니다. 기존 쿠버네티스 에이전트 삭제 후 helm 차트를 통한 설치가 가능합니다.

values.yaml 주요 설정 항목

와탭 쿠버네티스 에이전트 설정을 수정하기 위해서는 기본 설정 파일(values.yaml)을 수정해야 합니다. values.yaml 파일 내 주요 설정 항목을 다음과 같이 안내합니다.

타입기본값설명
whatap.licenseString# <license-key>Whatap 라이센스 키
whatap.hostString# <whatap-server-host>Whatap 서버의 호스트 주소
whatap.portInt# <whatap-server-port>Whatap 포트 번호
containerRuntimeString"docker"사용 중인 컨테이너 런타임. "docker", "containerd", "crio" 중 선택
daemonSet.nameStringwhatap-node-agentDaemonSet의 이름
daemonSet.labelStringwhatap-node-agentDaemonSet에 지정할 라벨
daemonSet.initContainers.nodeDebugger.enabledBooltrueWhatap 노드 디버거 컨테이너 활성화 여부
daemonSet.containers.nodeHelper.imageStringwhatap/kube_monnodeHelper 컨테이너의 이미지
daemonSet.containers.nodeHelper.requests.memoryString100MinodeHelper MEMORY request
daemonSet.containers.nodeHelper.requests.cpuString100mnodeHelper CPU request
daemonSet.containers.nodeHelper.limits.memoryString350MinodeHelper MEMORY limit
daemonSet.containers.nodeHelper.limits.cpuString200mnodeHelper CPU limit
daemonSet.containers.nodeAgent.imageStringwhatap/kube_monnodeAgent 컨테이너의 이미지
daemonSet.containers.nodeAgent.requests.memoryString300MinodeAgent MEMORY request
daemonSet.containers.nodeAgent.requests.cpuString100mnodeAgent CPU request
daemonSet.containers.nodeAgent.limits.memoryString350MinodeAgent MEMORY limit
daemonSet.containers.nodeAgent.limits.cpuString200mnodeAgent CPU limit
deployment.nameStringwhatap-master-agentDeployment의 이름
deployment.labelStringwhatap-master-agentDeployment에 지정할 라벨
deployment.replicasInt1Deployment의 replica 수
deployment.containers.controlPlaneHelper.enabledBooleantruewhatap-control-plane-helper 컨테이너를 활성화 여부
deployment.containers.controlPlaneHelper.imageString"whatap/kube_mon"controlPlaneHelper 컨테이너의 이미지
deployment.containers.controlPlaneHelper.portString9496controlPlaneHelper 컨테이너의 포트 번호입니다
deployment.containers.controlPlaneHelper.resources.requests.memoryString"300Mi"controlPlaneHelper 컨테이너 MEMORY request
deployment.containers.controlPlaneHelper.resources.requests.cpuString"100m"controlPlaneHelper 컨테이너 CPU request
deployment.containers.controlPlaneHelper.resources.limits.memoryString"350Mi"controlPlaneHelper 컨테이너 MEMORY limit
deployment.containers.controlPlaneHelper.resources.limits.cpuString"200m"controlPlaneHelper 컨테이너 CPU limit
deployment.containers.masterAgent.nameStringwhatap-master-agentmasterAgent 컨테이너 이름
deployment.containers.masterAgent.imageString"whatap/kube_mon"masterAgent 컨테이너 이미지
deployment.containers.masterAgent.portInt6600masterAgent 컨테이너 포트 번호
deployment.containers.masterAgent.resources.requests.memoryString"300Mi"masterAgent 컨테이너 MEMORY request
deployment.containers.masterAgent.resources.requests.cpuString"100m"masterAgent 컨테이너 CPU request
deployment.containers.masterAgent.resources.limits.memoryString"350Mi"masterAgent 컨테이너 MEMORY limit
deployment.containers.masterAgent.resources.limits.cpuString"200m"masterAgent 컨테이너 CPU request
노트

Helm 차트 기준 설치 문제 해결에 대한 안내는 다음 문서를 참조하세요.

쿠버네티스 에이전트 설치 확인

쿠버네티스 에이전트 설치가 정상적으로 완료되었을 경우 다음 명령어를 실행해 마스터 에이전트와 노드 에이전트의 상태를 확인할 수 있습니다.

kubectl get pod -n whatap-monitoring

Running 상태인 경우

다음과 같이 STATUS 항목이 Running인 경우 설치를 완료한 상태입니다. 마스터 및 노드 에이전트의 설치를 완료하면 쿠버네티스 환경의 자원 모니터링을 시작합니다. 와탭 모니터링 서비스로 이동한 다음 프로젝트 목록대시보드 > 컨테이너 맵 메뉴에서 성능 정보를 수집하는 것을 확인하세요.

Running 상태가 아닌 경우

다음과 같이 STATUS 항목이 Running이 아닌 경우 설치가 제대로 이루어지지 않은 상태입니다.

  1. 마스터 노드에서 다음 명령어를 실행해 Pod 생성의 실패 원인을 파악하세요.

    kubectl describe pod {POD_NAME} -n whatap-monitoring
  2. 실행 결과 하단에 Events: 항목을 확인하세요.

kubectl 명령어 사용 시 -n {네임스페이스} 옵션을 사용하면 특정 네임스페이스를 대상으로 작업을 수행합니다. 와탭 에이전트는 기본적으로 whatap-monitoring이라는 네임스페이스에 설치되므로 -n whatap-monitoring이라는 옵션을 추가합니다.

노트
  • 애플리케이션 에이전트를 설치를 진행하려면 화면 오른쪽 아래에 애플리케이션 에이전트 설치 버튼을 선택하세요. 자세한 내용은 다음 문서를 참조하세요.
  • 에이전트를 최신 버전으로 업데이트하려면 다음 문서를 참조하세요.