Kubernetes でのエージェントの設定
Cloud Insights ではを使用します "Tegraf" 統合データを収集するエージェントとして。Telegraf はプラグインベースのサーバエージェントで、指標、イベント、ログの収集とレポートに使用できます。入力プラグインは、システム /OS に直接アクセスするか、サードパーティ API を呼び出すか、設定されたストリームをリスニングすることによって、エージェントに必要な情報を収集するために使用されます(例:) Kafka や StatsD など)を参照してください。出力プラグインは、収集した指標、イベント、およびログをエージェントから Cloud Insights に送信するために使用します。
Cloud Insights のTelegrafの最新バージョンは*1.22.3*です。
|
正確な監査およびデータレポートを作成するためには、 * Network Time Protocol ( NTP; ネットワークタイムプロトコル) * または * Simple Network Time Protocol ( SNTP ) * を使用して、 Agent マシンの時刻を同期することを強くお勧めします。 |
|
Agent をインストールする前にインストールファイルを確認する場合は、「バージョン情報」を参照してください [Verifying Kubernetes Checksums]。 |
オペレータベースのインストールか、スクリプトベースのインストールか?
Cloud Insights は、Kubernetesクラスタを監視するためのKubernetesオペレータを構築しました。NetApp Kubernetes Monitoring Operator(NKMO)は、スクリプトでインストールされる監視方法よりも優れた機能です。これにより、Cloud Insights で制御可能な監視をより柔軟に設定し、お客様による設定操作を減らすことができ、K8sクラスタで実行される他のソフトウェアを監視する機会を強化できます。
NKMOは、Cloud Insights へのデータ収集、変換、および配信に、基礎となるテレグラムソフトウェアを引き続き使用します。これは、カスタムリソース定義とカスタムリソースで強化され、Kubernetesクラスタごとに監視をカスタマイズできるようになりました。
エージェントをインストールしています
サービスデータコレクタをインストールしていて、エージェントをまだ設定していない場合は、最初に適切なオペレーティングシステム用のエージェントをインストールするように求められます。このトピックでは、 Tegraf エージェントを次のオペレーティングシステムにインストールする手順について説明します。
エージェントをインストールするには、まず次の手順を実行する必要があります。
-
エージェントに使用するホストにログインします。
-
Cloud Insights サイトにログインし、 * Admin > Data Collectors * に移動します。
-
[+Data Collector ] をクリックして、インストールするデータコレクタを選択します。
-
ホストに対応する Kubernetes プラットフォームを選択します
-
残りの手順を実行します。
Windows 、 Linux 、または Mac にエージェントをインストールするには、次の手順に従います "以下の手順を参照して"。
|
ホストにエージェントをインストールしたら、そのホストに再度エージェントをインストールする必要はありません。 |
|
サーバ /VM にエージェントをインストールすると、 Cloud Insights は、設定したデータコレクタからの収集に加えて、そのシステムからメトリックを収集します。これらの指標は、のように収集されます "「ノード」指標"。 |
|
プロキシを使用している場合は、 Tegraf エージェントをインストールする前に、お使いのプラットフォームのプロキシの手順をお読みください。 |
Kubernetes にエージェントをインストールする
Kubernetes では、次の 2 つの方法でデータを収集できます。
-
NetApp Kubernetes Monitoring Operator の設定Kubernetes のインストールに推奨される方法です。
-
従来のスクリプトベースのエージェントのインストール(非推奨)
インストール手順は、選択した内容によって異なります。
-
NetApp Kubernetes Monitoring Operator インストールは、 Kubernetes 1.17 以降でサポートされます。Docker コンテナランタイムとともに使用すると、 Cloud Insights では、 NFS と iSCSI について POD / PV / ストレージ間のマッピングを表示できます。その他のランタイムでは iSCSI しか表示されません。
-
OpenShift 4.6-4.8 で実行している場合は、これらの前提条件を満たしていることを確認するだけでなく、以下の * OpenShift Instructions * に従う必要があります。
-
次のコマンドを使用できる必要があります。 curl 、 _sudo _ (スクリプトベースのインストールには不要)、 _openssl 、 _sha256sum 、および kubectl.最適な結果を得るには、これらのコマンドをパスに追加してください。
-
kube-state-metrics をインストールする必要があります。詳細については、以下を参照してください。kube-state-metrics は、オペレータベースのインストール時に自動的にインストールされます。
-
プロキシの背後にいる場合は、「 Kubernetes 向けのプロキシサポートの設定」セクションの手順に従ってください。
-
セキュリティコンテキスト制約を必要とする Kubernetes バリアントを実行している場合は、「 Kubernetes からデータを収集するためのエージェントの設定」セクションの手順に従ってください。これはオペレータベースのインストールでインストールされます。
-
Kubernetes クラスタのロールおよびロールのバインドを作成する権限が必要です。
監視は Linux ノードにのみインストールされます
Cloud Insights では、 Linux を実行している Kubernetes ノードの監視をサポートしています。 Kubernetes ノードセレクタを指定して、これらのプラットフォームで次の Kubernetes ラベルを検索します。
プラットフォーム | ラベル |
---|---|
Kubernetes v1.17 以降 |
Kubernetes の IO / OS = Linux |
Rancher + catt.io をオーケストレーション / Kubernetes プラットフォームとして使用 |
catt.io/os=linux |
NetApp Kubernetes Monitoring Operator Installation
-
クラスタ名とネームスペースを入力します。
-
これらのコードを入力したら、エージェントインストーラスニペットをコピーできます
-
このスニペットをクリップボードにコピーするには、ボタンをクリックします。
-
スニペットを a_bash_window に貼り付け、実行します。
-
インストールが自動的に開始されます。完了したら、 Complete Setup ボタンをクリックします。
OpenShift の手順
OpenShift 4.6-4.8 で実行している場合は、「特権モード」設定を変更する必要があります。次のコマンドを実行して、エージェントを開いて編集します。「 NetApp Monitoring 」以外のネームスペースを使用している場合は、コマンドラインでそのネームスペースを指定します。
kubectl edit agent agent-monitoring-netapp -n netapp-monitoring ファイルで、 change_privileged-mode : false_to _privileged-users mode : true_
NetApp Kubernetes Monitoring Operator 向けのプロキシサポートを設定します
監視オペレータのプロキシを設定するには、次の手順を実行します。
まず、 _agent-monitoring -NetApp_file を開き、編集します。
kubectl -n netapp-monitoring edit agent agent-monitoring-netapp このファイルの _spec : _ セクションに、次のコードブロックを追加します。
spec: proxy: isAuProxyEnabled: <true or false> isTelegrafProxyEnabled: <true or false> isFluentbitProxyEnabled: <true or false> password: <password for proxy, optional> port: <port for proxy> server: <server for proxy> username: <username for proxy, optional> noProxy: <comma separated list of IPs or resolvable hostnames that should bypass a proxy>
カスタム / プライベート Docker リポジトリを使用
カスタムの Docker リポジトリを使用する場合は、次の手順を実行します。
Docker シークレットを取得します。
kubectl -n netapp-monitoring get secret docker -o yaml 上記のコマンドの出力から、 _.dockerconfigjson : _ の値をコピーして貼り付けます。
Docker シークレットをデコードします。
echo <paste from _.dockerconfigjson:_ output above> | base64 -d の出力は次の JSON 形式になります。
{ "auths": {"docker.<cluster>.cloudinsights.netapp.com" : {"username":"<tenant id>", "password":"<password which is the CI API key>", "auth" :"<encoded username:password basic auth key. This is internal to docker>"} } }
Docker リポジトリにログインします。
docker login docker.<cluster>.cloudinsights.netapp.com (from step #2) -u <username from step #2> password: <password from docker secret step above>
Cloud Insights からオペレータ用 Docker イメージを取得します。
docker pull docker.<cluster>.cloudinsights.netapp.com/netapp-monitoring:<version> 次のコマンドを使用して <version> フィールドを確認します。
kubectl -n netapp-monitoring get deployment monitoring-operator | grep "image:" 社内のポリシーに従って、オペレータ用の Docker イメージをプライベート / ローカル / エンタープライズ Docker リポジトリにプッシュします。
オープンソースの依存関係をすべてプライベート Docker レジストリにダウンロードします。次のオープンソースイメージをダウンロードする必要があります。
docker.io/telegraf:1.21.4 gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.3.0
FLUENT ビットが有効になっている場合は、次のファイルもダウンロードしてください。
docker.io/fluent-bit:1.8.12 docker.io/kubernetes-event-exporter:0.10
エージェント CR を編集して新しい Docker repo の場所を反映し、自動アップグレードを無効にします(有効な場合)。
kubectl -n netapp-monitoring edit agent agent-monitoring-netapp enableAutoUpgrade: false
docker-repo: <docker repo of the enterprise/corp docker repo> dockerRepoSecret: <optional: name of the docker secret of enterprise/corp docker repo, this secret should be already created on the k8s cluster in the same namespace>
spec セクションで、次の変更を行います。
spec: telegraf: - name: ksm substitutions: - key: k8s.gcr.io value: <same as "docker-repo" field above>
スクリプトベースのKubernetes監視からオペレータベースの監視へのアップグレード
スクリプトベースのKubernetes監視をすでにインストールしている場合は、次の手順に従って、オペレータベースの監視にアップグレードします。
アップグレードの手順
-
スクリプトベースのモニタリングインストールからConfigMapを保持します。
kubectl --namespace ci-monitoring get cm -o yaml > /tmp/telegraf-configs.yaml . K8sオペレータベースの監視解決策 のインストール中に使用するK8sクラスタ名を保存して、データの継続性を確保します。
CIにKubernetesクラスタの名前を覚えていない場合は、次のコマンドラインを使用して、保存した構成からクラスタを抽出できます。
cat /tmp/telegraf-configs.yaml | grep kubernetes_cluster | head -2 . スクリプトベースの監視を削除します
Kubernetes 上のスクリプトベースのエージェントをアンインストールするには、次の手順を実行します。
モニタリングネームスペースが Telegraf 専用に使用されている場合:
kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf
kubectl delete ns ci-monitoring
モニタリングネームスペースが Telegraf 以外の目的で使用されている場合:
kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf
スクリプトベースのインストール
|
スクリプトベースのインストールは廃止されました。Kubernetesクラスタの監視には、Kubernetesオペレータベースの収集ツールを使用してください。 |
-
エージェントアクセスキーを選択します。
-
インストールダイアログの * エージェントインストーラスニペットのコピー * ボタンをクリックします。コマンドブロックを表示する場合は、オプションで、 [_ Reveal Agent Installer Snippet] ボタンをクリックします。
-
コマンドを次のようにして bash_window に貼り付けます。
-
必要に応じて、 install コマンドの一部として名前空間をオーバーライドしたり、クラスタ名を指定したりできます。そのためには、コマンドブロックを変更して final_./$installerNam_ の前に次のいずれかまたは両方を追加します
-
cluster_name = < クラスタ名 >
-
namespace = < 名前空間 >
コマンドブロックには、次のように配置されています。
installerName=cloudinsights-kubernetes.sh ... && CLUSTER_NAME=<cluster_name> NAMESPACE=<new_namespace> sudo -E -H ./$installerName --download --install
_cluster_name _ は Cloud Insights から Kubernetes クラスタの名前で指標を収集し、 _namespace_は Tegraf エージェントを導入するネームスペースです。指定したネームスペースがない場合は作成されます。
-
-
準備ができたら、コマンドブロックを実行します。
-
コマンドは、適切なエージェントインストーラをダウンロードしてインストールし、デフォルト設定を行います。明示的に namespace_ を設定していない場合は、名前を入力するように求められます。終了すると、エージェントサービスが再起動されます。コマンドには一意のキーがあり、 24 時間有効です。
-
完了したら、 [* Complete Setup* (セットアップ完了) ] をクリックします。
Kubernetes スクリプトベースのプロキシサポートを設定しています
|
次の手順は '_http_proxy/https_proxy_environment 変数を設定するために必要なアクションの概要を示しています一部のプロキシ環境では '_no_proxy 環境変数も設定する必要があります |
プロキシの背後にあるシステムの場合、 Telegraf エージェントをインストールする前に、現在のユーザー * の http_proxy 変数および / または _http_proxy_environment 変数を設定するには、次の手順を実行します。
export https_proxy=<proxy_server>:<proxy_port> * Tegraf エージェントのインストール後に、 appropriate _https_proxy_ および / または _http_proxy_environment 変数を、 _TETRF -demonset および _TETR_replicaset に追加して設定します。
kubectl edit ds telegraf-ds
… env: - name: https_proxy value: <proxy_server>:<proxy_port> - name: HOSTIP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.hostIP …
kubectl edit rs telegraf-rs
… env: - name: https_proxy value: <proxy_server>:<proxy_port> - name: HOSTIP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.hostIP …
次に Tegraf を再起動します。
kubectl delete pod telegraf-ds-* kubectl delete pod telegraf-rs-*
DemonSet 、 ReplicaSet 、およびエージェントの停止 / 起動
DemonSet と ReplicaSet が Kubernetes クラスタ上に作成され、必要な Telegraf エージェント / ポッドが実行されます。デフォルトでは、これらの Telegraf エージェント / ポッドはマスターノードと非マスターノードの両方にスケジュールされます。
エージェントの停止と再起動を容易にするには、次のコマンドを使用して Tegraf DemonSet YAML および ReplicaSet YAML を生成します。これらのコマンドは、デフォルトの名前空間「 CI-monitoring 」を使用していることに注意してください。独自のネームスペースを設定した場合は、これらのネームスペースと後続のすべてのコマンドおよびファイルを置き換えます。
独自のネームスペースを設定した場合は、これらのネームスペースと後続のすべてのコマンドおよびファイルを置き換えます。
kubectl --namespace ci-monitoring get ds telegraf-ds -o yaml > /tmp/telegraf-ds.yaml kubectl --namespace ci-monitoring get rs telegraf-rs -o yaml > /tmp/telegraf-rs.yaml
その後、次のコマンドを使用して Tegraf サービスを停止および開始できます。
kubectl --namespace ci-monitoring delete ds telegraf-ds kubectl --namespace ci-monitoring delete rs telegraf-rs
kubectl --namespace ci-monitoring apply -f /tmp/telegraf-ds.yaml kubectl --namespace ci-monitoring apply -f /tmp/telegraf-rs.yaml
Kubernetes からデータを収集するようにエージェントを設定します
注:スクリプトベースのインストールのデフォルトの名前空間は、 _CI-MOCI_です 。オペレータベースのインストールの場合、デフォルトのネームスペースは _NetApp-monitoring _ です。名前空間を使用するコマンドでは、必ずインストールに適した名前空間を指定してください。
エージェントが実行するポッドは、次の項目にアクセスできる必要があります。
-
ホストパス
-
ConfigMap
-
秘密
これらの Kubernetes オブジェクトは、 Cloud Insights UI に用意されている Kubernetes Agent インストールコマンドの一部として自動的に作成されます。OpenShift などの一部の Kubernetes タイプでは、これらのコンポーネントへのアクセスをブロックする追加のセキュリティレベルが実装されています。SecurityContextConstraint は、 Cloud Insights UI に用意されている Kubernetes エージェントインストールコマンドの一部として作成されていないため、手動で作成する必要があります。作成したら、 Tegraf ポッドを再起動します。
apiVersion: v1 kind: SecurityContextConstraints metadata: name: telegraf-hostaccess creationTimestamp: annotations: kubernetes.io/description: telegraf-hostaccess allows hostpath volume mounts for restricted SAs. labels: app: ci-telegraf priority: 10 allowPrivilegedContainer: true defaultAddCapabilities: [] requiredDropCapabilities: [] allowedCapabilities: [] allowedFlexVolumes: [] allowHostDirVolumePlugin: true volumes: - hostPath - configMap - secret allowHostNetwork: false allowHostPorts: false allowHostPID: false allowHostIPC: false seLinuxContext: type: MustRunAs runAsUser: type: RunAsAny supplementalGroups: type: RunAsAny fsGroup: type: RunAsAny readOnlyRootFilesystem: false users: - system:serviceaccount:ci-monitoring:monitoring-operator groups: []
kube-state-metrics サーバをインストールしています
|
オペレータベースのインストールでは、 kube-state-metrics のインストールを処理します。オペレータベースのインストールを実行する場合は、このセクションを省略してください。 |
|
Kubernetes の永続ボリューム( PVS )をバックエンドストレージデバイスにリンクする機能を含むすべての機能を活用するには、 kube-state-metrics バージョン 2.0 以降を使用することを強く推奨します。kube-state-metrics バージョン 2.0 以降では、 Kubernetes オブジェクトラベルはデフォルトでエクスポートされません。Kubernetes オブジェクトラベルをエクスポートする kube-state-metrics を設定するには、メトリックラベル「 allow 」リストを指定する必要があります。の --metric-labels -allowlist_option を参照してください "kube-state-metrics ドキュメント"。 |
kube-state-metrics サーバをインストールするには、次の手順を実行します(スクリプトベースのインストールを実行する場合に必要です)。
-
一時フォルダ(例えば、 /tmp/kube-state-yaml -files/_ )を作成し、から .yaml ファイルをコピーします https://github.com/kubernetes/kube-state-metrics/tree/master/examples/standard をこのフォルダに追加します。
-
kube-state-metrics のインストールに必要な .yaml ファイルを適用するには、次のコマンドを実行します。
kubectl apply -f /tmp/kube-state-yaml-files/
kube-state-metrics カウンタ
kubbe 状態メトリックカウンタの情報にアクセスするには、次のリンクを使用します。
エージェントをアンインストールしています
これらのコマンドは、デフォルトの名前空間「 CI-monitoring 」を使用していることに注意してください。独自のネームスペースを設定した場合は、それらのネームスペースと、以降のすべてのコマンドおよびファイルを置き換えます。
Kubernetes 上のスクリプトベースのエージェントをアンインストールするには、次の手順を実行します。
モニタリングネームスペースが Telegraf 専用に使用されている場合:
kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf kubectl delete ns ci-monitoring モニタリングネームスペースが Telegraf 以外の目的で使用されている場合:
kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf オペレータベースのインストールの場合は、次のコマンドを実行します。
kubectl delete ns netapp-monitoring kubectl delete agent agent-monitoring-netapp kubectl delete crd agents.monitoring.netapp.com kubectl delete role agent-leader-election-role kubectl delete clusterrole agent-manager-role agent-proxy-role agent-metrics-reader kubectl delete clusterrolebinding agent-manager-rolebinding agent-proxy-rolebinding agent-cluster-admin-rolebinding
スクリプトベースの Tegraf インストール用に手動で作成した Security Context Constraint の場合は、次の手順を実行します。
kubectl delete scc telegraf-hostaccess
Agent をアップグレードしています
これらのコマンドは、デフォルトの名前空間「 CI-monitoring 」を使用していることに注意してください。独自のネームスペースを設定した場合は、それらのネームスペースと、以降のすべてのコマンドおよびファイルを置き換えます。
テレグラムエージェントをアップグレードするには、次の手順に従います。
-
既存の構成をバックアップします。
kubectl --namespace ci-monitoring get cm -o yaml > /tmp/telegraf-configs.yaml
-
Agent をアンインストールします(手順については、上記を参照)。
Kubernetes のチェックサムの検証
Cloud Insights エージェントのインストーラで整合性チェックが実行されますが、ダウンロードしたアーティファクトのインストールまたは適用前に独自の検証を実行したいユーザもいます。デフォルトのダウンロードおよびインストールではなく、ダウンロードのみの操作を実行するには、 UI から取得したエージェントインストールコマンドを編集し、末尾の「インストール」オプションを削除します。
次の手順を実行します。
-
指示に従ってエージェントインストーラスニペットをコピーします。
-
スニペットをコマンドウィンドウに貼り付ける代わりに、テキストエディタに貼り付けます。
-
コマンドから末尾の「 --install 」( Linux/Mac )または「 -install 」( Windows )を削除します。
-
コマンド全体をテキストエディタからコピーします。
-
次に、コマンドウィンドウ(作業ディレクトリ内)に貼り付けて実行します。
Windows 以外( Kubernetes の場合は次の例を使用します。実際のスクリプト名は異なる場合があります)
-
Download and install (デフォルト):
installerName=cloudinsights-kubernetes.sh … && sudo -E -H ./$installerName --download –-install * ダウンロードのみ:
installerName=cloudinsights-kubernetes.sh … && sudo -E -H ./$installerName --download
download-only コマンドを使用すると、必要なアーティファクトがすべて Cloud Insights から作業ディレクトリにダウンロードされます。アーティファクトには次のものがありますが、これらに限定することはできません。
-
インストールスクリプト
-
環境ファイル
-
YAML ファイル
-
署名済みチェックサムファイル( SHA256 署名)
-
署名の検証に使用する PEM ファイル( NetApp_cert.pem )
インストールスクリプト、環境ファイル、 YAML ファイルは、目視検査を使用して検証できます。
PEM ファイルは、フィンガープリントが次のようになっていることを確認することで検証できます。
E5:FB:7B:68:C0:8B:1C:A9:02:70:85:84:C2:74:F8:EF:C7:BE:8A:BC 具体的には、
-
Windows 以外:
openssl x509 -fingerprint -sha1 -noout -inform pem -in netapp_cert.pem * Windows の場合
Import-Certificate -Filepath .\netapp_cert.pem -CertStoreLocation Cert:\CurrentUser\Root
署名済みチェックサムファイルは、 PEM ファイルを使用して確認できます。
-
Windows 以外:
openssl smime -verify -in sha256.signed -CAfile netapp_cert.pem -purpose any * Windows (上記の「証明書のインポート」を使用して証明書をインストールした後):
Get-AuthenticodeSignature -FilePath .\sha256.ps1 $result = Get-AuthenticodeSignature -FilePath .\sha256.ps1 $signer = $result.SignerCertificate Add-Type -Assembly System.Security [Security.Cryptography.x509Certificates.X509Certificate2UI]::DisplayCertificate($signer)
すべてのアーティファクトが正常に検証されたら、次のコマンドを実行してエージェントのインストールを開始できます。
Windows 以外:
sudo -E -H ./<installation_script_name> --install Windows の場合
.\cloudinsights-windows.ps1 -install
Kubernetes Agent のインストールに関するトラブルシューティング
エージェントの設定で問題が発生した場合の対処方法を次に示します。
問題 | 次の操作を実行します |
---|---|
etcd が Kubernetes クラスタデータストアではないクラスタの場合、次のメッセージがテレグラフの RS ポッドに表示されます。 [ プラグインでの inputs.prometheus] エラー:キーペア /etc/Kubernetes /pki/ etcd/server.crt をロードできませんでした: /etc/Kubernetes /pki/ etcd/server.key : open /etc/Kubernetes /pti /pskt server または crt file |
Cloud Insights でサポートされているのは、 Kubernetes データストアとしての _etcd_as の監視のみです。次の手順に従って設定を変更することで、エージェントを変更して etcd データの収集を回避することができます。 kubectl -n NetApp-monitoring edit agent agentMonitoring -netapp in that file : -name : prometheus_etcd run-mode : -ReplicaSet |
すでに Cloud Insights を使用してエージェントをインストールしました |
ホスト /VM にエージェントがすでにインストールされている場合は、エージェントを再度インストールする必要はありません。この場合は、 Agent Installation (エージェントのインストール)画面で適切な Platform and Key (プラットフォームとキー)を選択し、 * Continue * (続行)または * Finish (完了) * をクリックします。 |
すでにエージェントをインストールしていますが、 Cloud Insights インストーラを使用してインストールしていません |
前のエージェントを削除し、 Cloud Insights エージェントのインストールを実行して、適切なデフォルト設定ファイルを設定します。完了したら、 [* Continue * (続行) ] または [* Finish (完了) ] をクリックします。 |
Kubernetes 永続ボリュームと対応するバックエンドストレージデバイスの間にハイパーリンク / 接続がありません。My Kubernetes Persistent Volume がストレージサーバのホスト名を使用して設定されます。 |
手順に従って既存の Tegraf エージェントをアンインストールし、最新の Tegraf エージェントを再インストールします。Tegraf バージョン 2.0 以降を使用している必要があります。 |
次のようなログにメッセージが表示されます。 E0901 15 : 21 : 39.96145 1 reflector.GO : 178]k81.io/kube-state/internal/store/Builder.GO : 352 : Failed to list *v1.MutatingWebhookConfiguration : 8s could not find the requested resource E0901 15:15:2ku161781. |
これらのメッセージは、 Kubernetes バージョン 1.17 以下で kube-state-metrics バージョン 2.0.0 以降を実行している場合に発生する可能性があります。Kubernetes のバージョンを取得するには、次の Leubectl version_ kbe-state-metrics バージョンを取得します。 kubectl デプロイ /kube-state-metrics -o jsonpath='{.image}' これらのメッセージが発生しないようにするには、 kube-state-metrics デプロイを修正して、次の Leases 設定を具体的に無効にしてください。 _hookates_web_volumeconfigurations resources= 証明リクエスト , configmaps,cronjobs,demonsets,horizontalscalers,ingleers,jobs,limitrange,scapers,networkpolicies , nodes,persistentvolumes,persistentvolumesalims,persistentvolumes,podeters, replicaSets,replicaSets,replicationcontrollers ,residetodポッド ,residetappeditors,appers,uns,uns,uns,uns,sets,uns,uns,uns,uns,uns,sets,uns,sets,uns,sets,uns,uns,sets,uns,uns,sets,uns,uns,uns,wodecodeclieticecodetics,sets,sets,sets,sets,uns,sets,uns,uns,sets,sets,sets,un 検証する Web フック設定 ' ボリュームの添付ファイル |
Kubernetes に Tegraf をインストールまたはアップグレードしましたが、 Tegraf ポッドは起動しません。Telegraf ReplicaSet または DemonSet は、次のような障害を報告しています。 Error creating : PoD "Telegraf-RS" is forbidden : Unable to validate against any security context constraint : [spec.volumes [2] : Invalid Value : "hostPath" : hostPath volumes are not allowed to be used] |
セキュリティコンテキスト制約を作成します(前述の「 Kubernetes からデータを収集するためのエージェントの設定」セクションを参照)。Security Context Constraint に指定された名前空間とサービスアカウントが、 Telegraf ReplicaSet および DemonSet の名前空間とサービスアカウントと一致することを確認します。kubectl 説明 SCC テレホ - ホストアクセス |
grep サービスアカウント kubectl-n CI- モニタリング — 説明 RS テレグラム af-rs |
grep -i " 名前空間 : "kubectl-n CI- モニタリング説明 RS テレグラム af-r |
grep -i " サービスアカウント : "kubectl-n CI-monitoring -ds-describe " テレグラムの説明 "-ds-describe - ネームスペース "grep |
Telegraf から次のようなエラーメッセージが表示されますが、 Telegraf は起動して実行されます。 Oct 11 14 : 23 : 41 IP-172-39-47 systemd[1] : InfluxDB への指標の報告用に、プラグイン駆動型のサーバーエージェントを起動しました。10 月 11 日 14 : 23 : 41 IP-172-41-39-47 テレグラム [1827] : time="2021 - 10-11T14 : 23 : 41Z" level= error msg=" キャッシュディレクトリの作成に失敗しました。/etc/テレ グラム /.cache/snowflake 、 err: mkdir /etc/テレ グラム f/.ca che: 許可が拒否されました。ignored \n" func = "gosnowfleke. (*defaultLogger).Errorf" file="log. go:120" Oct 11 14:23:41 IP-172-21-39-47 TEテレ グラフ [1827]: time="2021 - 10-11T14:23:41Z" level=error.msg=" 失敗しました。無視されます。/etc/テレ グラム /.cache/snowflake/ocspa_response_cache.json を開きます。ファイルまたはディレクトリがありません \n" func="gosnowflake.(*defaultLogger).Errorf" file="log.go:120"Oct. 1114:23:41 IP-172-41-39-47 テレグラム [1827:1127]~21-21Z: Telegraf 1.19.3 を起動しています |
これは問題と呼ばれています。を参照してください "この GitHub の記事" 詳細:Tegraf が起動して動作している限り、ユーザはこのエラーメッセージを無視できます。 |
Kubernetes で、 Telegraf ポッドが次のエラーを報告しています。 "Error in processing mountstats info: failed to open mountstats file: /hostfs /proc/1/mountstats 、 error: open /hostfs /proc/1/mountstats : permission denied" |
SELinux が有効で強制されている場合、 Telegraf ポッドが Kubernetes ノードの /proc/1/mountstats ファイルにアクセスできない可能性があります。この制限を緩和するには、次のいずれかを実行してください。•スクリプトベースのインストールの場合は、テレグラム DS を編集し(「 kubectl edit DS テレグラム」)、「特権 : false 」を「特権 : true 」に変更します。オペレータベースのインストールの場合は、エージェント(「 kubectl edit agent agent-monitoring -netapp 」)を編集し、特権モードを「 true 」に変更します。 |
Kubernetes で、 Telegraf ReplicaSet ポッドから次のエラーが報告されています。 [ プラグインの inputs.prometheus] エラー: Could not load keypair /etc/Kubernetes /pki/ etcd/server.crt : /etc/Kubernetes /pki/ etcd/server.key : open /etc/Kubernetes /pki/ etcd/server.key :特定のディレクトリまたは crt ファイルをロードできませんでした |
追加情報はから入手できます "サポート" ページまたはを参照してください "Data Collector サポートマトリックス"。