問題
Kubernetes 統合のインストール中に端末から、または Kubernetes 統合のインストール後に New Relic インフラストラクチャ ログに、New Relic Kubernetes 統合のエラー メッセージが表示されます。
Kubernetes 統合の手動インストール中に次のエラー メッセージが表示された場合:
$repo newrelic not found
Helm チャートに newrelic リポジトリを追加するためのこのコマンドを忘れたか、スキップした可能性があります。
$helm repo add newrelic https://helm-charts.newrelic.com
使用しているライセンスが無効な場合、 agent
またはforwarder
コンテナのログに次のようなエラーが表示されます。
$2018-04-09T14:20:17.750893186Z time="2018-04-09T14:20:17Z" level=error $msg="metric sender can't process 0 times" error="InventoryIngest: events$ were not accepted: 401 401 Unauthorized Invalid license key."
この問題を解決するには、有効なを指定してください。
エージェントがNewRelicサーバーに接続できない場合、 agent
またはforwarder
コンテナのログに次のようなエラーが表示されます。
$2018-04-09T18:16:35.497195185Z time="2018-04-09T18:16:35Z" level=error $msg="metric sender can't process 1 times" error="Error sending events: $Post https://staging-infra-api.newrelic.com/metrics/events/bulk: $net/http: request canceled (Client.Timeout exceeded while awaiting headers)"
エラーの内容によっては、ログに表示されるメッセージが異なる場合があります。
この問題に対処するには、 New Relic networks documentation を参照してください。
Kubernetesインテグレーションには kube-state-metrics
が必要です。 これが欠落している場合は、 newrelic-infra
コンテナ ログに次のようなエラーが表示されます。
$time="2022-06-21T09:12:20Z" level=error msg="retrieving scraper data: retrieving ksm data: discovering KSM endpoints: timeout discovering endpoints"
このエラーが発生する一般的な理由は以下の通りです。
kube-state-metrics
クラスターにデプロイされていません。kube-state-metrics
カスタム展開を使用して展開されます。kube-state-metrics
の複数のバージョンが実行されており、Kubernetes統合が正しいバージョンを検出していません。
Kubernetes 統合は、デフォルトですべての名前空間でラベル"app.kubernetes.io/name=kube-state-metrics"
を利用して、クラスター内のkube-state-metrics
自動的に検出します。
ヘルムチャート値のksm.config
で検出動作を変更できます。
ガイド付きインストール中、以下のような出力エラーは、Kubernetes クライアントと Kubernetes API サーバーの間でネットワーク接続の問題が発生していることを示しています。ガイド付きインストールを再度実行する前に、Kubernetes クライアントが Kubernetes API サーバーに接続できることを確認してください。
$Unable to connect to the server: dial tcp [7777:777:7777:7777:77::77]:443: i/o timeout
ガイド付きインストール中に、 nrk8s-kubelet pod is not starting
のような出力エラーが発生し、Kubernetes kubelet ポッドを 5 分以内に開始できず、このタイムアウトによりインストール スクリプトが終了したことを示します。この場合、 kubectl get pods -o wide -n newrelic | grep nrk8s-kubelet
を実行してポッドのステータスを確認し、再起動できます。
- ポッドが
ImagePullBackOff
ステータスの場合、ネットワーク接続を確認して、ここにリストされているドメインからイメージをプルできるようにしてください。 - ポッドのステータスが
Pending
またはContainerCreating
の場合は、kubectl logs newrelic-bundle-nrk8s-kubelet-***<DNT>** -n newrelic
とkubectl logs newrelic-bundle-nrk8s-kubelet-**</DNT>*** -n newrelic -c kubelet
を使用して、ログから考えられる原因を特定してください。
インストレーション中にNew Relic dockerhubと Google のregistry.k8s.io
に問題がある場合は、それらのドメインが「許可」リストに追加されているかどうかを確認してください。 インストレーションはこの場所からコンテナイメージを取得します。 ホワイトリストに追加する追加の Google レジストリ ドメインを見つけるには、 コマンドに従う必要がある場合があります。 registry.k8s.io
通常、ローカル レジストリ ドメインにリダイレクトします。 たとえば、地域に応じてasia-northeast1-docker.pkg.dev
になります。