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

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

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

問題を作成する

Windows に Kubernetes 統合バージョン 2 をインストールする

プレビュー

この機能は現在プレビュー段階です。

互換性と要件

Kubernetes 統合をインストールする前に、 互換性と要件を確認してください。

重要

Windowsでコンテナを使用する場合、コンテナホストのバージョンとコンテナイメージのバージョンが同じである必要があります。当社のKubernetesインテグレーションは、WindowsバージョンLTSC 2019(1809)、20H2、LTSC 2022で動作可能です。

Windowsのバージョンを確認するには

  1. コマンドウィンドウを開きます。

  2. 次のコマンドを実行してください。

    bash
    $
    Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v
    $
    ReleaseIdcmd.exe

例: BusyBox コンテナーから Kubernetes for Windows を取得する

以下のコマンドを実行します。

bash
$
kubectl exec -it busybox1-766bb4d6cc-rmsnj -- Reg Query
$
"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId

このように表示されます。

bash
$
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
$
ReleaseId REG_SZ 1809

リリース ID と OS バージョンの間の有用なマッピングについては、 ここを参照してください。

インストール

Windows用のKubernetesインテグレーションは、Helmを使ってインストールできます。Windowsの異なるビルドバージョン(1809と2004)を持つノードを持つクラスタに統合をインストールする方法の例を参照してください。

  1. New Relic Helm chartのリポジトリを追加します。

    bash
    $
    helm repo add newrelic https://helm-charts.newrelic.com
  2. newrelicのネームスペースを作成します。

    bash
    $
    kubectl create namespace newrelic
  3. kube-state-metricsをインストールします。

    bash
    $
    helm repo add ksm https://kubernetes.github.io/kube-state-metrics
    $
    helm install ksm ksm/kube-state-metrics --version 2.13.2

重要

このコマンドは、統合の必須の依存関係である kube-state-metrics を Linux ノードにインストールするためのものです。これを Linux 以外のノードにインストールすることはサポートされていないため、Linux 以外のノードにインストールすると、デプロイメントが失敗する可能性があります。 nodeSelector を使用して Linux ノードを選択することをお勧めします。これは、kube-state-metrics デプロイメントを編集することで実行できます。

  1. Helm で使用される次のデータを含むvalues-newrelic.yamlファイルを作成します。

    global:
    licenseKey: _YOUR_NEW_RELIC_LICENSE_KEY_
    cluster: _K8S_CLUSTER_NAME_
    enableLinux: true # Set to true if your cluster also has linux nodes
    enableWindows: true
    windowsOsList:
    - version: 2019 # Human-readable version identifier
    imageTag: 2-windows-1809-alpha # Tag to be used for nodes running the windows version above
    buildNumber: 10.0.17763 # Build number for your nodes running the version above. Used as a selector.
    - version: 20h2
    imageTag: 2-windows-20H2-alpha
    buildNumber: 10.0.19042
    - version: 2022
    imageTag: 2-windows-ltsc2022-alpha
    buildNumber: 10.0.20348
  2. で統合をインストールします。

    bash
    $
    helm upgrade --install newrelic newrelic/newrelic-infrastructure \
    >
    --namespace newrelic --create-namespace \
    >
    --version 2.7.2 \
    >
    -f values-newrelic.yaml
  3. ポッドがデプロイされ、安定した状態になっていることを確認します。

    bash
    $
    kubectl -n newrelic get pods -w

Helmチャートは、リストにあるWindowsの各バージョンごとに1つのDeamonSetを作成し、NodeSelectorを使用してNodeごとに対応するPodをデプロイします。

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

制限

Windows用のKubernetesインテグレーションには、以下のような制限があります。

  • Windows エージェントはKubernetes サンプル( K8sNodeSampleK8sPodSampleなど) のみを送信します。

    • SystemSampleStorageSampleNetworkSample 、およびProcessSampleは生成されません。
  • いくつかの Kubernetes metrics は、Windows kubelet が持っていないため、欠落しています。

    • ノードです。

      • fsInodes: 送信されません
      • fsInodesFree: 送信されません
      • fsInodesUsed: 送信されません
      • memoryMajorPageFaultsPerSecond: 値として常にゼロを返します
      • memoryPageFaults: 値として常にゼロを返します
      • memoryRssBytes: 値として常にゼロを返します
      • runtimeInodes: 送信されません
      • runtimeInodesFree: 送信されません
      • runtimeInodesUsed: 送信されません
    • Pod:

      • net.errorsPerSecond: 送信されません
      • net.rxBytesPerSecond: 送信されません
      • net.txBytesPerSecond: 送信されません
    • コンテナです。

      • containerID: 送信されません
      • containerImageID: 送信されません
      • memoryUsedBytes: UI では、ポッドをクリックすると表示されるポッド カードに表示され、データは表示されません。代わりにmemoryWorkingSetBytesを使用するようにグラフを更新することで、すぐにこれを修正します。
    • 巻です。

      • fsUsedBytes: ゼロなので、 fsUsedPercentはゼロです

Windows Kubeletの既知の問題

Windows版のKubeletにはいくつかの問題があり、統合機能がデータを取得できないことがあります。

  • 問題 90554:この問題により、統合が/stats/summaryエンドポイントにリクエストを行うと、Kubelet が 500 エラーを返します。これは Kubernetes 1.19 リリースに含まれ、リリース 1.16.11 にバックポートされました。1.17.7、および 1.18.4。この問題に対する統合側の解決策はありません。できるだけ早くいずれかのパッチ バージョンに更新することをお勧めします。詳細ログを有効にし、次のタイプのメッセージを探すことで、この問題の影響を受けているかどうかを確認できます。
bash
$
error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": error calling kubelet endpoint. Got status code: 500
  • 問題 87730:この問題により、最小負荷を実行しているときに Kubelet メトリクスが非常に遅くなります。タイムアウト エラーで統合が失敗します。この問題に対するパッチが Kubernetes 1.18 用に追加され、1.15.12 にバックポートされました。1.16.9、および 1.17.5。できるだけ早くパッチ バージョンのいずれかに更新することをお勧めします。この問題を軽減するために、 TIMEOUT構成オプションを使用して統合タイムアウトを増やすことができます。詳細ログを有効にし、次のタイプのメッセージを探すことで、この問題の影響を受けているかどうかを確認できます。
bash
$
error querying Kubelet. Get "https://<KUBELET_IP>/stats/summary": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Copyright © 2023 New Relic Inc.

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