본문으로 건너뛰기

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

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

노트

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이라는 옵션을 추가합니다.

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