• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

HelmによるKubernetesインテグレーションのインストール

Helm は 、Kubernetes 上のパッケージ マネージャーです。インストール、アップグレード、またはリビジョンの追跡を容易にし、Kubernetes にインストールするサービスの依存関係を管理します。まだお持ちでない場合は、以下で無料の New Relic アカウントを作成して、今すぐデータの監視を開始してください。

Helm を使用して統合をインストールするには、 Kubernetes のガイド付きインストールをお勧めします。これにより、いくつかの構成オプションを求められ、シークレットと値が自動入力されます。さらに、ガイド付きインストールでは、統合を Helm リリースではなくプレーンなマニフェストとしてインストールすることもできます。

インストーラの起動

互換性と要件

Helmがマシンにインストールされていることを確認してください。 Kubernetes Integrationのバージョン3には、Helmバージョン3が必要です。

Helm を使用して Kubernetes 統合をインストールするには、New Relic が必要です。 および Kubernetes クラスターの名前:

  1. 検索してコピーする .

  2. クラスタの表示名を決めます。例えば、次のような出力が考えられます。

    bash
    $
    kubectl config current-context

重要

これらの値は、後でインストール プロセス中に必要になるため、安全な場所に保管してください。

HelmによるKubernetesインテグレーションのインストール

New Relic には、プラットフォームにさまざまな機能を提供するさまざまなコンポーネント用の Helm チャートがいくつかあります。

これらのコンポーネントは個別にインストールできますが、 nri-bundle チャートを使用することを強くお勧めします。New Relic は、上記の個々のチャートのラッパーまたはメタパッケージとして機能するこのチャートを提供します。このチャートを使用すると、次のような利点が得られます。

  • どのコンポーネントがインストールされるかを完全に制御できます。各コンポーネントは、個別の Helm 依存関係としてインストールされます。 ここで説明するパラメータを使用して、それらを個別に構成できます。
  • これにより、インストールされているバージョンが相互に互換性があることが保証されます。
  • これにより、インストールされているチャート間で構成値が一貫していることが保証されます。

nri-bundle チャートは、 Kubernetes ガイド付きインストールによってインストールおよび構成されるチャートです。

Helmを使用したnri-bundleのインストールと構成

  1. Helm とkubectlを実行するマシンで適切なコンテキストを使用していることを確認します。

    で利用可能なコンテキストを確認することができます。

    bash
    $
    kubectl config get-contexts

    で、目的のコンテキストに切り替えます。

    bash
    $
    kubectl config use-context _CONTEXT_NAME_
  2. New Relic Helm chartのリポジトリを追加します。

    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: New Relic UI でクラスターを識別するために使用されるため、New Relic アカウントで構成されている他の Kubernetes クラスターでは使用されない説明的な値である必要があります。

    • kube-state-metrics.enabled=true: これを true に設定すると、統合の実行に必要な Kube State Metrics (KSM) が自動的にインストールされます。KSM がクラスター内に既に存在する場合は、たとえ別の名前空間上にあったとしても、これを false に設定できます。

    • newrelic-prometheus-agent.enabled=true: クラスターに存在する Prometheus エンドポイントからデータを自動的に収集する Prometheus Agent をデプロイします。

    • nri-metadata-injection.enabled=true:最小限のWebhookをインストールします。これにより、環境変数が追加され、NewRelicAPMを搭載したアプリケーションをKubernetesにリンクできるようになります。

Kubernetes チャートには、特定のニーズに合わせて編集できるフラグと調整パラメータの包括的なセットが含まれています。変更できる内容については、以下の 「統合の構成」 セクションを確認してください。

  1. --debug--dry-runを指定せずにコマンドを実行して、Kubernetes統合をインストールします。

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

    重要

    Kubernetes バージョン 1.27.x または サポートされているそれ以前のバージョンを使用していることを確認してください。

  2. ポッドがデプロイされ、安定した状態になっていることを確認します。

    bash
    $
    kubectl -n newrelic get pods -w

見るべきです。

  1. 1つのnewrelic-nrk8s-ksmポッド。
  2. クラスタ内のノードごとに1つのnewrelic-nrk8s-kubeletポッド。
  3. クラスタ内のマスターノードごとに1つのnewrelic-nrk8s-control-planeポッド(存在する場合)。
  4. インストールにKSMが含まれている場合は、1つのnewrelic-kube-state-metricsポッド。
  5. Kubernetesイベントレポートを有効にした場合は、1つのnewrelic-nri-kube-eventsポッド。
  6. Prometheus エージェント統合を有効にした場合は、1 つのprometheus-agentポッド。
  7. ロギング統合を有効にした場合は、クラスター内のノードごとに1つのnewrelic-newrelic-loggingポッド。

このドキュメントはインストールで役立ちましたか。

統合を構成する

nri-bundleチャート。そのインストール手順は上記にあり、ソリューションのコンポーネントを含む他のいくつかのチャートのラッパーまたはメタパッケージとして機能します。このようなラッパーを提供することにより、コンポーネントのチャートを比較的単純に保ちながら、相互に互換性があることがわかっているバージョンのコンポーネントの制御されたセットを提供できます。

nri-bundle チャートは、 複数の個別のチャート をラップして、さまざまなテレメトリ データを収集し、New Relic に送信します。このバンドルを使用すると、ニーズに応じて必要な子チャートを選択的に有効にすることができます。個々のコンポーネントを構成するには、 Helm の依存関係システムを使用する必要があります。つまり、各子チャートの構成を 、values-newrelic.yml ファイル内の別個のセクション (各子チャートにちなんだ名前) に配置する必要があることを意味します。たとえば、 newrelic-infrastructure チャートを構成するには、次のコードを values-newrelic.yamlに追加します。

# General settings that apply to all the child charts
global:
licenseKey: _YOUR_NEW_RELIC_LICENSE_KEY_
cluster: _K8S_CLUSTER_NAME_
# ... Other settings as shown above
# Specific configuration for the newrelic-infrastructure child chart
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
# Specific configuration for the newrelic-logging child chart
newrelic-logging:
fluentBit:
retryLimit: 10

子チャートのオプションに子チャート名を接頭辞として付け、ネストをドットで置き換えることで、コマンド ラインを介して子チャート オプションを渡すこともできます。

helm upgrade --install newrelic-bundle newrelic/nri-bundle \
--namespace=newrelic \
--set global.licenseKey=_YOUR_NEW_RELIC_LICENSE_KEY_ \
--set global.cluster=_K8S_CLUSTER_NAME_ \
--set newrelic-infrastructure.privileged=false \
--set newrelic-infrastructure.verboseLog=true \
--set newrelic-logging.fluentBit.retryLimit=10

各子チャートで調整できるフラグ ( scrape-intervalなど) の完全なリストは、それぞれのリポジトリにあります。

  • newrelic-infrastructure

    • デバッグログ、特権モード、コントロールプレーン監視などの設定を行います。
  • nri-kube-events

  • nri-metadata-injection

    • APM連携用のWebhookをどのように展開するかを設定します。
    • どのPrometheusエンドポイントをスクレイピングするかを設定します。
  • newrelic-logging

    • どのログまたはログ属性を New Relic に送信するかを設定します。

ヒント

子グラフの構成オプションを指定する場合は、それらを values-newrelic.yaml内のグラフ名にちなんで名付けられたセクションの下に配置する必要があります。

ヒント

コマンド ラインを介して子チャートのオプションを渡すには、子チャートの名前を接頭辞として付け、ネストをドットで置き換える必要があります。

Copyright © 2023 New Relic Inc.

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