• ログイン今すぐ開始

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

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

問題を作成する

Kubernetes 統合バージョン 3 で導入された変更

バージョン 3 以降、New Relic の Kubernetes ソリューションは、よりモジュラーで構成可能であることを目的としたアーキテクチャを特徴としており、ソリューションのデプロイ方法を選択する力を強化し、より多くの環境と互換性を持たせることができます。

Kubernetes Integrationバージョン3によって報告されたデータは、バージョン2以降変更されていません。バージョン3では、構成可能性、安定性、ユーザーエクスペリエンスに重点を置いています。

重要

Kubernetes統合バージョン3( appVersion )は、 nri-bundleチャートversion 4に含まれています。

マイグレーションガイド

以前のバージョンからの移行をできるだけ簡単にするために、古いnewrelic-infrastructureチャートで指定可能だったオプションのほとんどを、新しいものに変換する互換性レイヤーを開発しました。この互換性レイヤーは一時的なもので、将来的には削除される予定ですので、このガイドをよく読んで、人の目を気にしながら設定を移行することをお勧めします。

KSMの構成

ヒント

KSMのモニタリングは、ほとんどの構成ですぐに機能するので、ほとんどのユーザーはこの設定を変更する必要はありません。

  • disableKubeStateMetrics ksm.enabledに置き換えられました。デフォルトは同じです(KSMスクレイピングが有効)。
  • kubeStateMetricsSchemekubeStateMetricsPortkubeStateMetricsUrlkubeStateMetricsPodLabel 、およびkubeStateMetricsNamespaceは、より包括的で柔軟なksm.configに置き換えられました。

ksm.configオブジェクトの構造は次のとおりです。

ksm:
config:
# When autodiscovering KSM, force the following scheme. By default, `http` is used.
scheme: "http"
# Label selector to find kube-state-metrics endpoints. Defaults to `app.kubernetes.io/name=kube-state-metrics`.
selector: "app.kubernetes.io/name=kube-state-metrics"
# Restrict KSM discovery to this particular namespace. Defaults to all namespaces.
namespace: ""
# When autodiscovering, only consider endpoints that use this port. By default, all ports from the discovered `endpoint` are probed.
#port: 8080
# Override autodiscovery mechanism completely and specify the KSM url directly instead
#staticUrl: "http://test.io:8080/metrics"

コントロールプレーンの構成

コントロールプレーンの設定が大幅に変更されました。これまでコントロールプレーン監視を有効にしていた方は、 Configure control plane monitoring の専用ページをご覧になることをお勧めします。

以下のオプションは、上記のリンク先のセクションで説明されている、より包括的な設定に置き換えられています。

  • apiServerSecurePort
  • etcdTlsSecretName
  • etcdTlsSecretNamespace
  • controllerManagerEndpointUrletcdEndpointUrlapiServerEndpointUrl 、および schedulerEndpointUrl

エージェントの構成

以前にconfigで指定されていたエージェント構成ファイルがcommon.agentConfigに移動されました。ファイルの形式は変更されていません。構成可能なオプションの全範囲は、 ここにあります。

次のエージェントオプションは、以前はvalues.ymlファイルのルートで「エイリアス化」されていたため、使用できなくなりました。

  • logFile common.agentConfig.log_fileに置き換えられました。
  • eventQueueDepth common.agentConfig.event_queue_depthに置き換えられました。
  • customAttributes フォーマットがyamlオブジェクトに変更されました。以前の形式である、手動でjsonでエンコードされた文字列(例: {"team": "devops"} )は廃止されました。
  • 以前は、 customAttributesにはデフォルトのclusterNameエントリがあり、削除すると望ましくない結果が生じる可能性がありました。これはもはや当てはまりません。ユーザーはcustomAttributes全体を安全にオーバーライドできるようになりました。
  • discoveryCacheTTL キャッシュが組み込まれているkubernetesインフォーマーを使用して検出が実行されるようになったため、は完全に削除されました。

インテグレーションの設定

統合は、以前は配列形式を使用してintegrations_configで構成されていました。

integrations_config:
- name: nri-redis.yaml
data:
discovery: # ...
integrations: # ...

仕組みは変わりませんが、より使いやすいようにフォーマットを変更しました。

integrations:
nri-redis-sampleapp:
discovery: # ...
integrations: # ...

さらに、検出コマンドでは--port }フラグと--tlsフラグが必須になりました。以前は、次のように機能していました。

integrations:
nri-redis-sampleapp:
discovery:
command:
exec: /var/db/newrelic-infra/nri-discovery-kubernetes

v3以降では、 --port--tlsを指定する必要があります。

integrations:
nri-redis-sampleapp:
discovery:
command:
exec: /var/db/newrelic-infra/nri-discovery-kubernetes --tls --port 10250

v2以前では、 nrk8s-kubeletコンポーネント(または同等のもの)がhostNetwork: trueで実行されていたため、この変更が必要です。したがって、 nri-discovery-kuberneteslocalhostとプレーンhttpを使用してkubeletに接続できます。セキュリティ上の理由から、これはもはや当てはまらないため、今後は両方のフラグを指定する必要があります。

Kubernetesにおけるオンホスト統合の設定方法の詳細については、 Monitor services in Kubernetes ページをご確認ください。

その他のチャート値

統合設定とは関係ありませんが、ヘルムチャートの以下の雑多なオプションも変更されています。

  • runAsUser securityContextに置き換えられました。これは、ポッドに直接テンプレート化され、より構成可能です。
  • resources 現在、3つの異なるワークロードを展開しているため、削除されました。それぞれのリソースは、以下で個別に構成できます。
  • ksm.resources
  • kubelet.resources
  • controlPlane.resources
  • 同様に、 tolerationsは3つに分割され、前の1つは無効になります。
  • ksm.tolerations
  • kubelet.tolerations
  • controlPlane.tolerations
  • 3つすべてのデフォルトで、 NoScheduleおよび NoExecute
  • image そして、そのすべてのサブキーは、現在デプロイされている3つのイメージのそれぞれについて個別のセクションに置き換えられています。
  • images.forwarder.* インフラストラクチャエージェントフォワーダを設定します。
  • images.agent.* インフラストラクチャエージェントとオンホストの統合をバンドルするイメージを構成します。
  • images.integration.* k8sデータのスクレイピングを担当するイメージを構成します。

v2からのアップグレード

Kubernetes 統合バージョン 2 ( nri-bundle チャート バージョン 3.x に含まれています) からアップグレードするには、目的のvalues-newrelic.yamlファイルを作成することを強くお勧めします と構成。 たとえば、次のようなコマンドを使用して、以前に CLI からチャートを直接インストールしたことがある場合:

bash
$
helm install newrelic/nri-bundle \
>
--set global.licenseKey=<New Relic License key> \
>
--set global.cluster=<Cluster name> \
>
--set infrastructure.enabled=true \
>
--set prometheus.enabled=true \
>
--set webhook.enabled=true \
>
--set ksm.enabled=true \
>
--set kubeEvents.enabled=true \
>
--set logging.enabled=true

提供された--set引数を取得して、次のようにyamlファイルに入れることができます。

# values-newrelic.yaml
global:
licenseKey: <New Relic License key>
cluster: <Cluster name>
infrastructure:
enabled: true
prometheus:
enabled: true
webhook:
enabled: true
ksm:
enabled: true
kubeEvents:
enabled: true
logging:
enabled: true

このようにして、上記の のセクションに従って変更したその他の設定を適応させた後、 、以下のコマンドを実行することでアップグレードできます。

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

重要

--reuse-valuesフラグは、v2からv3へのアップグレードではサポートされていません。

Copyright © 2023 New Relic Inc.

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