• English日本語한국어
  • 로그인지금 시작하기

Helm을 사용한 쿠버네티스 통합 설치

Helm은 쿠버네티스 위에 있는 패키지 매니저입니다. 설치, 업그레이드 또는 개정 추적을 용이하게 하고 쿠버네티스에 설치하는 서비스들의 종속성을 관리합니다. 아직 계정이 없으시면, 아래에서 무료 뉴렐릭 계정을 생성해 지금 바로 데이터 모니터링을 시작하십시오.

Helm을 사용하여 통합을 설치하려면 쿠버네티스 안내 설치를 사용할 것을 권합니다. 안내 설치를 이용하면, 몇 가지 구성 옵션에 대한 메시지가 표시되고 비밀과 값이 자동으로 채워집니다. 또한 통합을 Helm 릴리스가 아닌 일반 매니페스트로 설치할 수도 있습니다.

설치 프로그램 시작

호환성 및 요구사항

Helm이 컴퓨터에 설치되어 있어야 합니다. 쿠버네티스 통합 버전 3에는 Helm 버전 3이 필요합니다.

Helm을 사용하여 쿠버네티스 통합을 설치하려면 뉴렐릭 와 쿠버네티스 클러스터 이름이 필요합니다.

  1. 를 찾아 복사합니다.

  2. 클러스터가 표시될 이름을 선택합니다. 예를 들어 다음과 같은 출력을 사용할 수 있습니다.

    bash
    $
    kubectl config current-context

중요

나중에 설치 과정에서 필요하므로 이 값을 안전한 곳에 기록해 두시기 바랍니다.

Helm과 쿠버네티스 통합 설치

뉴렐릭에는 플랫폼에 다양한 기능을 제공하는 다양한 구성 요소에 대한 차트가 여러 개 있습니다.

편의를 위해 뉴렐릭은 위에서 언급한 차트에서 선택 가능한 세트를 가져오는 nri-bundle 차트를 제공합니다. 필요한 경우 nri-bundle는 또한 Kube State Metrics와 Pixie를 설치할 수도 있습니다.

이 차트들을 별도로 설치할 수 있지만, 쿠버네티스 배포를 위해 nri-bundle 차트를 사용할 것을 권합니다. 모든 차트의 값이 일관되고 어떤 구성 요소를 설치할지 완전하게 제어할 수 있으며, 모든 것을 Helm에 종속되도록 구성할 수 있기 때문입니다. 차트는 쿠버네티스 안내 설치에서 사용하고 참조하는 것과 동일합니다.

Helm을 사용한 nri-bundle 설치 및 구성

  1. Helm 및 kubectl을 실행할 시스템에서 적절한 컨텍스트를 사용하고 있는지 확인합니다.

    다음을 사용하여 사용 가능한 컨텍스트를 확인할 수 있습니다.

    bash
    $
    kubectl config get-contexts

    다음을 사용하여 원하는 컨텍스트로 전환합니다.

    bash
    $
    kubectl config use-context _CONTEXT_NAME_
  2. 뉴렐릭 Helm 차트 리포지토리 추가:

    bash
    $
    helm repo add newrelic https://helm-charts.newrelic.com
  3. 구성을 정의하는 데 사용할 파일을 생성하고 values-newrelic.yaml라는 이름을 지정합니다.

    global:
    licenseKey: _YOUR_NEW_RELIC_LICENSE_KEY_
    cluster: _K8S_CLUSTER_NAME_
    newrelic-prometheus-agent:
    # Automatically scrape prometheus metrics for annotated services in the cluster
    # Collecting prometheus metrics for large clusters might impact data usage significantly
    enabled: true
    nri-metadata-injection:
    # Deploy our webhook to link APM and Kubernetes entities
    enabled: true
    nri-kube-events:
    # Report Kubernetes events
    enabled: true
    newrelic-logging:
    # Report logs for containers running in the cluster
    enabled: true
    kube-state-metrics:
    # Deploy kube-state-metrics in the cluster.
    # Set this to true unless it is already deployed.
    enabled: true
  4. 다음 명령을 실행하여 차트의 모든 항목이 올바르게 구성되었는지 확인합니다. --dry-run--debug를 지정하는 단계로, 이 단계에서는 아무것도 설치되지 않습니다.

    bash
    $
    helm upgrade --install newrelic-bundle newrelic/nri-bundle \
    >
    --namespace newrelic --create-namespace \
    >
    -f values-newrelic.yaml \
    >
    --dry-run \
    >
    --debug

    다음 플래그를 확인하고 조정하십시오.

    • global.licenseKey=YOUR_NEW_RELIC_LICENSE_KEY: 계정에 유효한

      로 설정되어야 합니다.

    • global.cluster=K8S_CLUSTER_NAME: 뉴렐릭 UI에서 클러스터를 식별하는 데 사용되므로, 뉴렐릭 계정에 구성된 다른 쿠버네티스 클러스터에서 사용되지 않는 설명 값을 사용해야 합니다.

    • kube-state-metrics.enabled=true: 이 값을 true로 설정하면 통합을 실행하는 데 필요한 Kube State Metrics(KSM)가 자동으로 설치됩니다. KSM이 다른 네임스페이스에 있더라도 클러스터에 이미 있는 경우 이 값을 false로 설정할 수 있습니다.

    • newrelic-prometheus-agent.enabled=true: 클러스터에 있는 Prometheus 엔드포인트에서 자동으로 데이터를 수집하는 Prometheus 에이전트를 배포합니다.

    • nri-metadata-injection.enabled=true: 뉴렐릭 APM으로 계측된 애플리케이션을 쿠버네티스에 연결할 수 있도록 하는 환경 변수를 추가하는 소규모 웹훅을 설치합니다.

쿠버네티스 차트에는 특정 요구 사항에 더 잘 맞도록 수정할 수 있는 포괄적인 플래그와 조정 가능 세트가 있습니다. 변경할 수 있는 사항을 보려면 아래 통합 구성 섹션을 확인하십시오.

  1. --debug--dry-run 없이 명령어를 실행하여 쿠버네티스 통합을 설치합니다.

    bash
    $
    helm upgrade --install newrelic-bundle newrelic/nri-bundle \
    >
    --namespace newrelic --create-namespace \
    >
    -f values-newrelic.yaml

    중요

    쿠버네티스 버전 1.25.x 버전이나 지원되는 낮은 버전을 사용하고 있는지 확인합니다.

  2. 파드가 배포되고 안정적인 상태에 도달하는지 확인합니다.

    bash
    $
    kubectl -n newrelic get pods -w

다음 상태여야 합니다.

  1. 하나의 newrelic-nrk8s-ksm 파드
  2. 클러스터의 각 노드에 대해 하나의 newrelic-nrk8s-kubelet 파드
  3. 클러스터의 각 마스터 노드에 대해 하나의 newrelic-nrk8s-control-plane 파드(있는 경우)
  4. 설치에 KSM이 포함된 경우 하나의 newrelic-kube-state-metrics 파드
  5. 쿠버네티스 이벤트 보고를 활성화한 경우 하나의 newrelic-nri-kube-events 파드
  6. Prometheus 에이전트 통합을 활성화한 경우 하나의 prometheus-agent 파드
  7. Logging 통합을 활성화한 경우 클러스터의 각 노드에 대해 하나의 newrelic-newrelic-logging 파드

Helm 2 및 nri-bundle(레거시)을 사용한 설치

이 문서가 설치하는데 도움이 되셨나요?

통합 구성

뉴렐릭의 nri-bundle 차트의 설치 지침은 위에서 찾을 수 있으며, 뉴렐릭 솔루션의 구성 요소를 포함하는 몇 가지 다른 차트에 대한 래퍼 또는 메타 패키지 역할을 합니다. 이러한 래퍼를 제공함으로써, 뉴렐릭은 컴포넌트의 차트를 비교적 간단하게 유지하면서, 서로 호환되는 버전들을 통해 제어되는 구성 요소 세트를 제공할 수 있습니다.

개별 통합 구성 요소를 구성하려면 Helm의 종속성 시스템을 사용해야 합니다. 이는 하위 차트에 대한 구성이 해당 차트 이름이 있는 섹션 아래에 있어야 한다는 의미입니다. 예를 들어, newrelic-infrastructure 차트를 구성하려면 values-newrelic.yaml에 다음을 추가합니다.

global:
licenseKey: _YOUR_NEW_RELIC_LICENSE_KEY_
cluster: _K8S_CLUSTER_NAME_
# ... Other settings as shown above
# Configuration for newrelic-infrastructure
newrelic-infrastructure:
verboseLog: true # Enable debug logs
privileged: false # Install with minimal privileges
# Other options from https://github.com/newrelic/helm-charts/tree/master/charts/newrelic-infrastructure-v3

조정할 수 있는 플래그의 전체 목록(예: scrape-interval)은 차트의 저장소에 있습니다.

이 차트에 대한 옵션을 지정할 때는 이들을 values-newrelic.yaml의 차트 이름 아래에 두어야 합니다.

Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.