Victoria Metrics Operator を使用して VM クラスターを管理する

Victoria Metrics Operator を使用して VM クラスターを管理する

Operator は Kubernetes のキラー機能であり、アプリケーションのインストール、構成、管理を大幅に簡素化できることは周知の事実です。同様に、VictoriaMetrics は管理用の対応する Operator、vm-operator も開発しました。その設計と実装は、アプリケーション監視構成を管理するための優れたツールである prometheus-operator にヒントを得ています。

vm-operator は次の CRD を定義します。

  • VMCluster: VM クラスターを定義します。
  • VMAgent: vmagent インスタンスを定義します。
  • VMServiceScrape:サービスによってサポートされるポッドからメトリックをスクレイピングするための構成を定義します。
  • VMPodScrape: Pod からメトリックをスクレイピングするための構成を定義します。
  • VMRule:アラームと録画のルールを定義します。
  • VMProbe:ブラックボックス エクスポーターを使用して、ターゲットのプローブ構成を定義します。

さらに、Operator はデフォルトで prometheus-operator 内の ServiceMonitor、PodMonitor、PrometheusRule、および Probe オブジェクトを認識し、CRD オブジェクトを使用して Kubernetes クラスター内の VM アプリケーションを管理できるようになります。

インストール

vm-operator は Helm Charts パッケージを提供しているので、Helm を使用してワンクリックでインストールできます。

   helm リポジトリにVM を追加しますhttps://victoriametrics.github.io/helm-charts/
☸ ➜ helm リポジトリの更新

ニーズに応じて値をカスタマイズします。デフォルトの values.yaml は次のコマンドで取得できます。

 ☸ ➜ helm show values ​​vm / victoria - metrics - operator > values ​​.yaml

変更したのは以下の内容のみです。

 # .yaml
rbac :いいえ
作成: true
pspEnabled : false # pspを作成しない
演算子:
# -- デフォルトでは、vm-operatorはprometheus-operatorオブジェクトを変換します
プロメテウスコンバータを無効にする: false
# -- デフォルトでは、vm-operator はオブジェクトに対して psp を作成します
psp_auto_creation_enabled : 無効
# -- 変換された prometheus-operator オブジェクトの所有権参照を有効にします。prometheus オブジェクトを削除すると、対応する victoria-metrics オブジェクトも削除されます。
enable_converter_ownership : false
# -- オペレーターにバンドルされているカスタム config-reloader を有効にします。
# vmagent vmauth の設定同期時間を短縮し予測可能にする必要があります。
useCustomConfigReloader : true
# -- リソース検証アドミッションコントローラを有効にするかどうか(本番環境では推奨)
# 入場Webフック:
# # -- 検証 Webhook を有効にします。
# 有効: false
# # -- オペレータがリクエストを検証できない場合の対処方法。
# ポリシー:失敗
# # -- cert-manager を使用していない場合は、カスタム CA バンドルを有効にします。
# # -- カスタム CA の場合は、シークレット - {{chart-name}}-validation を作成する必要があります
# # -- キー: tls.key、tls.crt、ca.crt
# caバンドル: ""
# 証明書マネージャ:
# # -- cert-manager による証明書の作成と挿入を有効にします。
# 有効: false
# # -- 必要に応じて、独自の発行者を指定します。空の場合はオペレーターが自己署名を作成します。
# 発行者: { }

次に、次のコマンドを使用して、ワンクリックで vm-operator をインストールします。

 ☸ ➜ helm アップグレード--install victoria-metrics-operator vm/victoria-metrics-operator -f values.yaml -n vm-operator --create-namespace
名前:ビクトリア-メトリック-オペレーター
最終配備: 2022年517日火曜日15:51:40
名前空間: vm -演算子
ステータス:展開済み
改訂: 1
テストスイート:なし
注記:
victoria - metrics -オペレーターがインストールされました。次のコマンドを実行しステータスを確認します:
kubectl --namespace vm-operator ポッドを取得します -l "app.kubernetes.io/instance=victoria-metrics-operator"

詳細についてhttps://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator ご覧ください
https://docs.victoriametrics.com/guides/getting-started-with-vm-operator.html VM Operator スタートガイド 参照してください

インストールが完了したら、vm-operator のステータスをチェックして、インストールが成功したかどうかを確認できます。

 ☸ ➜ helm ls - n vm -オペレーター
名前 名前空間 リビジョン 更新 ステータス チャート アプリ バージョン
victoria - metrics - operator vm - operator 1 2022 - 05 - 17 15 : 53 : 14.60667 + 0800 CST デプロイ済み victoria - metrics - operator - 0.9 .0 0.24 .0
☸ ➜ kubectl --namespace vm-operator ポッドを取得します -l "app.kubernetes.io/instance=victoria-metrics-operator"
名前 準備完了 ステータス 再起動 年齢
ビクトリア-メトリック-オペレーター- d467cf69c - glh6v 1 / 1実行中0 2分58秒

VMクラスタを展開する

Operator がインストールされると、以下に示すようにいくつかの CRD が含まれます。

 ☸ ➜ kubectl で crd を取得します| grep victoriametrics
vmagents .operator .victoriametrics .com 2022-05-17 T07 : 51 : 42Z
vmalertmanagerconfigs.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmalertmanagers.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmalerts.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmauths.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmclusters .operator .victoriametrics .com 2022-05-17 T07 : 51 : 42Z
vmnodescrapes .operator .victoriametrics .com 2022-05-17 T07 : 51 : 42Z
vmpodscrapes .operator .victoriametrics .com 2022-05-17 T07 : 51 : 42Z
vmprobes.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmrules.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmservicescrapes.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z
vmsingles .operator .victoriametrics .com 2022-05-17 T07 : 51 : 42Z
vmstaticscrapes .operator .victoriametrics .com 2022-05-17 T07 : 51 : 42Z
vmusers.operator.victoriametrics.com 2022-05-17 T07 : 51 : 42Z

たとえば、今すぐ VM をデプロイしたい場合、単一ノード モードだけが必要な場合は、VMSingle オブジェクトを直接使用できます。 VM のクラスターを展開する場合は、VMCluster を直接使用してオブジェクトを定義できます。各コンポーネントを手動で作成する必要はありません。 Operator は、定義に従ってクラスターをプルアップするのに役立ちます。

たとえば、ここでは VMCluster オブジェクトを以下のように定義します。

 # vmcluster - デモ.yaml
apiバージョン: operator .victoriametrics .com / v1beta1
種類: VMCluster
メタデータ:
名前: vmcluster -デモ
仕様:
レプリケーション係数: 1
保持期間: "1週間"
ストレージ:
レプリカ数: 2
ストレージ
ボリュームクレームテンプレート:
仕様:
アクセスモード:
-一度だけ読み書き可能
リソース
リクエスト:
ストレージ: 10G
ストレージクラス名: nfs -クライアント
ストレージデータパス: / vm-データ
vmselect :
レプリカ数: 2
キャッシュマウントパス: / cache
ストレージ
ボリュームクレームテンプレート:
仕様:
ストレージクラス名: nfs -クライアント
アクセスモード:
-一度だけ読み書き可能
リソース
リクエスト:
ストレージ: 1G
vmin挿入:
レプリカ数: 2

ここでは、spec.retentionPeriod を使用してデータ保持期間を 1 週間に指定し、replicaCount を使用して各コンポーネントのレプリカ数を 2 に指定し、storage.volumeClaimTemplate を使用してデータ永続性の PVC テンプレートを指定します。 kubectl explain を通じて、オブジェクト全体の構成可能なプロパティを取得できます。

 ☸ ➜ kubectl で VMCluster .specを説明します
種類: VMCluster
バージョン: operator.victoriametrics.com/v1beta1
リソース: spec <オブジェクト>
説明
VMClusterSpecはVMClusterの望ましい状態を定義します
分野:
clusterVersion <文字列>
ClusterVersion は、すべてのコンポーネントのデフォルトのイメージ タグを定義します。それはできる
コンポーネント固有のイメージ.tag値で上書きされます。

imagePullSecrets < [ ]オブジェクト>
ImagePullSecrets 同じディレクトリ内のシークレットへの参照のリスト(オプション)
レジストリからイメージを取得するために使用する名前空間。
http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
podSecurityPolicyName <文字列>
PodSecurityPolicyName -空の場合podSecurityPolicyの名前を定義します
value prefixedName が使用されます。
replicationFactor < 整数>
ReplicationFactorは、 異なるデータ間でデータのコピーをいくつ作成するかを定義します。
ストレージノード
保持期間<文字列> -必須-
保存されたメトリックの保持期間VictoriaMetricsにはデータ/
indexdb /フォルダのメトリックはデータから/パーティション作成されるやいなや削除される
保存期間が終了し、インデックスデータベースの逆インデックスデータが1回回転します。
設定された保存期間の半分
https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention
serviceAccountName <文字列>
ServiceAccountNameは、実行に使用するServiceAccountの名前です
VMSelectポッド。
vminsert <オブジェクト>
vmselect <オブジェクト>
vmstorage <オブジェクト>

同様に、コンポーネントで定義できるプロパティを取得する場合も、vmstorage オブジェクトで構成できるプロパティを表示するなど、このメソッドを使用して取得できます。

 ☸ ➜ kubectl で VMCluster .spec .vmstorageを説明します
種類: VMCluster
バージョン: operator.victoriametrics.com/v1beta1
リソース: vmstorage <オブジェクト>
説明
<>
分野:
親和性<>
アフィニティ 指定されている場合ポッドのスケジュール制約。
configMaps <[]文字列>
ConfigMapsはVMSelectと同じ名前空間内のConfigMapsのリストです。
VMSelect Pod にマウントされるオブジェクト。 ConfigMapは
/etc/vm/configs/<configmap-name> にマウントされます。
コンテナ <[]>
コンテナプロパティを使用すると、サイドカーの追加やパッチの挿入が可能になります。
既存のコンテナ。プロキシやバックアップなどに役立ちます。
dnsConfig <オブジェクト>
ポッドの DNS パラメータを指定します。ここで指定されたパラメータは
DNSPolicy に基づいて生成された DNS 構成にマージされます。
dnsPolicy <文字列>
DNSPolicyはポッドのDNSポリシーを設定します
extraArgs <map[文字列]文字列>
追加環境 <[]>
VMSelectポッドに追加されるExtraEnvs
ホストネットワーク <ブール値>
HostNetworkはポッドがノードネットワーク名前空間を使用できるかどうかを制御します
画像 <オブジェクト>
イメージ - VMStorage の Docker イメージ設定
コンテナの初期化 <[]>
InitContainers を使用すると、ポッド定義に initContainers を追加できます。それらの
VMSelectに注入するための秘密を取得するために使用できます。
外部ソースからの構成。実行中にエラーが発生した場合、
initContainer により Pod が再起動されます。詳細:
https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ 使用方法
シークレットフェッチ以外のユースケースのinitContainersは完全に
メンテナーがサポートする範囲外であり、そうすることで、
この動作は予告なしにいつでも中断される可能性があることをご了承ください。
ライブネスプローブ <>
CRDポッドに追加されるLivenessProbe
logFormat <文字列>
VMSelect で構成する LogFormat。デフォルトまたはJSON
logLevel <文字列>
VMSelect で構成する LogLevel。
メンテナンス挿入ノードID <[]整数>
MaintenanceInsertNodeIDs - 指定されたノード ID を挿入リクエストから除外します
ルーティングにはポッドサフィックスを含める必要があります。ポッド0の場合、IDは0などになります。
たとえば、pod-0、pod-1、pod-2、pod-3 があるとします。 pod-0とpod-3を除外するには
ルーティングを挿入し、ノードIDを定義します: [0,3]。ストレージ拡張時に便利
クラスターで一部のデータを再バランスしたい。
maintenanceSelectNodeIDs <[]integer>
MaintenanceInsertNodeIDs - 指定されたノード ID を選択リクエストから除外します
ルーティングには、ポッドサフィックスを含める必要があります。pod-0 の場合、ID は 0 などになります。
名前 <文字列>
名前は非推奨であり、0.22.0 リリースで削除されます。
nodeSelector <map[文字列]文字列>
NodeSelector ポッドがスケジュールされるノードを定義します。
podDisruptionBudget <オブジェクト>
PodDisruptionBudget はオペレータによって作成されました
podMetadata <オブジェクト>
PodMetadataはラベルと注釈を設定し、
VMSelectポッド。
ポート <文字列>
ヘルスチェック接続用のポート
優先度クラス名 <文字列>
ポッドに割り当てられた優先クラス
準備プローブ <>
CRDポッドに追加されるReadinessProbe
replicaCount <整数> -必須-
ReplicaCount は、VMStorage クラスターの予想サイズです。コントローラー
最終的には、実行中のクラスタのサイズが予想と同じになります。
サイズ。
リソース <オブジェクト>
リソースコンテナのリソース要求と制限、
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
rollingUpdateStrategy <文字列>
RollingUpdateStrategyはアプリケーションの更新戦略を定義します。デフォルトは
OnDeleteの場合、この場合オペレータは更新プロセスを処理します。変更可能です
ローリングアップデート
ランタイムクラス名 <文字列>
RuntimeClassName - Kubernetes ポッドのランタイム クラスを定義します。
https://kubernetes.io/docs/concepts/containers/runtime-class/
スケジューラ名 <文字列>
SchedulerName - Kubernetes スケジューラ名を定義します
秘密 <[]文字列>
SecretsはVMSelectオブジェクトと同じ名前空間内のSecretのリストです。
VMSelect Pod にマウントする必要があります。秘密は
/etc/vm/secrets/<シークレット名>。
セキュリティコンテキスト<>
SecurityContextはポッドレベルのセキュリティ属性と共通コンテナを保持します
設定。デフォルトでは、デフォルトの PodSecurityContext になります。
サービススクレイプスペック <>
vmselect VMServiceScrape spec に追加される ServiceScrapeSpec
serviceSpec <オブジェクト>
vmstorage の追加サービスを作成する ServiceSpec
スタートアッププローブ <>
CRDポッドに追加されるStartupProbe

ストレージ <オブジェクト>
ストレージ - StorageDataPathの永続ボリュームを追加します。
永続キャッシュ
storageDataPath <文字列>
StorageDataPath - ストレージデータへのパス
終了猶予期間秒数 <整数>
TerminationGracePeriodSeconds コンテナの正常終了期間
許容範囲 <[]Object>
許容範囲 指定されている場合、ポッドの許容範囲。
トポロジースプレッド制約< [ ] >
TopologySpreadConstraints 組み込み Kubernetes ポッド構成オプション
ポッドがクラスタ内の障害ドメインにどのように分散されるかを制御します。
リージョンゾーンノード その他のユーザー定義のトポロジドメインなど
https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
vmBackup <オブジェクト>
バックアップ用の VMBackup 構成
vmInsertPort <文字列>
VMInsert 接続用の VMInsertPort
vmSelectPort <文字列>
VMSelect接続用のVMSelectPort
volumeMounts < [ ]オブジェクト>
VolumeMountsは出力追加のVolumeMountsの設定を可能にします
デプロイメント定義。指定されたボリュームマウントは他のボリュームマウントに追加されます
VMSelectコンテナ内のボリュームマウント
StorageSpec オブジェクト。
巻数< [ ] >
ボリュームは出力デプロイメント追加のボリュームを構成できます
意味。指定されたボリュームは、他のボリュームに追加されます。
StorageSpec オブジェクトの結果として生成されます。

上記で定義したオブジェクトを直接適用します。

 ☸ ➜ kubectl apply -f vmcluster -デモ.yaml
☸ ➜ kubectl で vmcluster を取得します
名前挿入ストレージ選択年齢 ステータス
vmcluster -デモ2 2 2 7 m21s 拡張

適用後、vm-operator は CRD オブジェクトが作成されたことを確認し、定義に従って対応する VM クラスター (上記のコンポーネント サービス) を自動的に作成します。


☸ ➜ kubectl ポッドを取得する
名前 準備完了 ステータス 再起動 年齢
vminsert - vmcluster -デモ- 84956 d98b5 - 5 ckft 1 / 1実行中0 93
vminsert - vmcluster -デモ- 84956 d98b5 - kpcj6 1 / 1実行中0 93
vmselect - vmcluster -デモ- 0 1 / 1実行中0 3分 7 秒
vmselect - vmcluster -デモ- 1 1 / 1実行中0 3分 7 秒
vmstorage - vmcluster -デモ- 0 1 / 1実行中0 4分 54 秒
vmstorage - vmcluster -デモ- 1 1 / 1実行中0 4分54秒
☸ ➜ kubectl でサービスを取得
名前 タイプ クラスタ- IP 外部- IP ポート( S )年齢
vminsert - vmcluster -デモ ClusterIP 10.102 .145 .24 <なし> 8480 / TCP 4分57秒
vmselect - vmcluster -デモ ClusterIP なし<なし> 8481 / TCP 6分 31 秒
vmstorage - vmcluster - demo ClusterIP なし<なし> 8482 / TCP 8400 / TCP 8401 / TCP 8分 18 秒

単純な VMCluster オブジェクトを定義するだけで、VM クラスターを管理できます。とても便利じゃないですか?特にコンポーネント レプリカの数が多い場合は、-storageNode パラメータを手動で構成する必要はありません。

VM クラスターは正常にインストールされましたが、まだデータがないため、監視インジケーターのキャプチャを構成する必要があります。ここで VMAgent オブジェクトを直接作成し、以下に示すようにオブジェクトを作成できます。

 # vmagent - デモ.yaml
apiバージョン: operator .victoriametrics .com / v1beta1
種類: VMAgent
メタデータ:
名前: vmagent -デモ
仕様:
サービススクレイプ名前空間セレクター: { }
podScrape名前空間セレクタ: { }
ポッドスクレイプセレクタ: { }
サービススクレイプセレクタ: { }
ノードスクレイプセレクタ: { }
ノードスクレイプ名前空間セレクタ: { }
静的スクレイプセレクタ: { }
静的スクレイプ名前空間セレクタ: { }
レプリカ数: 1
リモート書き込み:
- URL : "http://vminsert-vmcluster-demo.default.svc.cluster.local:8480/insert/0/prometheus/api/v1/write"

同様に、VMAgent のすべての構成可能なプロパティを取得するには、kubectl explain VMAgent.spec を使用します。ここで最も重要な構成は、vminsert コンポーネントのサービス アドレスである remoteWrite.url を通じてリモート書き込み URL アドレスを指定することです。キャプチャするインジケーターをフィルタリングするために、他のいくつかのプロパティを使用できます。

上記の VMAgent オブジェクトを適用するだけで、監視データのキャプチャを開始できます。

 ☸ ➜ kubectl apply -f vmagent -デモ.yaml
☸ ➜ kubectl で vmagent を取得する
名前 年齢
vmagent -デモ6

作成後、vm-operator は対応する説明に従って対応する vmagent インスタンスを作成します。

 ☸ ➜ kubectl get pods -l app .kubernetes .io / name = vmagent
名前 準備完了 ステータス 再起動 年齢
vmagent - vmagent -デモ- 6 dcc7f9dfd - hxsff 2 / 2実行中0 4分 24 秒

vmagent には 2 つのコンテナがあり、1 つは vmagent アプリケーション コンテナで、もう 1 つは Secret オブジェクトをマウントするために使用される config-reloader コンテナであることがわかります。構成の変更を監視し、vmagent の構成を再読み込みするための信号を送信します。 Secret オブジェクトには、vmagent キャプチャ インジケーターの構成コンテンツが含まれています。

次のコマンドを実行すると、ローカル マシンから vmagent ポートにアクセスできるようになります。

 ☸ ➜ kubectl ポート転送svc / vmagent - vmagent - demo 8429 : 8429
127.0.0.1 から転送: 8429 - > 8429
[ :: 1 ] から転送中: 8429 -> 8429

ブラウザで http://127.0.0.1:8429/targets にアクセスして、vmagent によって収集されたクラスター メトリックを確認できます。

vmagent は、vm-operator によって制御される Kubernetes サービス検出を通じてキャプチャするターゲットを取得します。

VMクラスタの検証

次に、VM クラスターを検証するために Grafana をインストールします。簡単にするために、Helm Chart を直接使用してインストールします。

 helm リポジトリ追加grafana https://grafana.github.io/helm-charts
☸ ➜ helm リポジトリの更新

以下のように、データ ソースと組み込みダッシュボードを事前に値で定義できます。

<< EOF |ヘルム インストール グラファナ グラファナ/グラファナ- f -
データソース:
データソース.yaml :
apiバージョン: 1
データソース:
-名前: victoriametrics
タイプ:プロメテウス
組織ID : 1
url : http : // vmselect - vmcluster - demo.default.svc.cluster.local : 8481 / select / 0 / prometheus /
アクセス:プロキシ
isDefault :
更新間隔秒数: 10
編集可能: true
ダッシュボードプロバイダー:
ダッシュボードプロバイダー.yaml :
apiバージョン: 1
プロバイダー:
-名前: 'デフォルト'
組織ID : 1
フォルダ: ''
タイプ:ファイル
削除を無効にする: true
編集可能: true
オプション:
パス: / var / lib / grafana / dashboards / default
ダッシュボード:
デフォルト
ビクトリアメトリックス:
ネットID : 11176
改訂: 18
データソース: victoriametrics
vmagent :
ネットID : 12683
改訂: 7
データソース: victoriametrics
Kubernetes : :
ネットID : 14205
改訂: 1
データソース: victoriametrics
終了
名前:グラファナ
最終配備: 2022年517 火曜日17:13:14
名前空間:デフォルト
ステータス:展開済み
改訂: 1
注記:
1.次のコマンドを実行し「admin」ユーザーのパスワードを取得します
kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --デコード;エコー
2.クラスター内から次の DNS 名ポート80経由で Grafana サーバーにアクセスできます
グラファナ.default .svc .cluster .local
同じシェル次のコマンドを実行して、アクセスする Grafana URL を取得します
POD_NAME をエクスポートします $ ( kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}")
kubectl --namespace デフォルトポート転送 $POD_NAME 3000
3.手順1 パスワードユーザー名「admin」でログインします
###########################################################################
###### 警告:永続性無効になっています!!!次の場合、データは失われます。#####
###### Grafana ポッド終了します。 #####
###########################################################################

インストールが完了したら、上記のコマンドを使用して Grafana サービスをローカルで公開できます。

 ☸ ➜ POD_NAME をエクスポートします $ ( kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}")
kubectl --namespace デフォルトポート転送 $POD_NAME 3000
127.0 .0 .1 から転送: 3000 -> 3000
[ :: 1 ] から転送中: 3000 -> 3000

ログインユーザー名は admin で、パスワードは次のコマンドで取得できます。

 ☸ ➜ kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --デコード;エコー

victoriametrics クラスターのダッシュボードを表示できます。

通常、次のページが表示されます。

これは、デフォルトでは VMAgent が vmagent 自体を含む VM クラスター関連コンポーネントのメトリックを収集するため、VM クラスター ダッシュボードを正常に表示できますが、node-exporter などの他のメトリックは収集されないためです。 16098 ダッシュボードを Grafana にインポートできます。

現時点では、 VMNodeScrape CRD オブジェクトを通じて定義できます。 VMNodeScrape オブジェクトを使用すると、Kubernetes ノードを自動的に検出し、次のリソース オブジェクトを作成してノード エクスポータ インジケーターを収集できます。

 # vmnode -エクスポーター- .yamlをスクレイピング
apiバージョン: operator .victoriametrics .com / v1beta1
種類: VMNodeScrape
メタデータ:
名前:ノード-エクスポーター
仕様:
パス: /メトリック
port : "9111" #ノードのポートを指定-エクスポーター
scrape_interval : 15
# relabelConfigs: # 再ラベル設定
# セレクタ: # フィルターノード

上記のオブジェクトを適用するだけです:

 ☸ ➜ kubectl apply -f vmnode -exporter -scrape .yaml
☸ ➜ kubectl で vmnodescrape を取得します
名前 年齢
ノード-エクスポーター19

作成後、vmagent は自動的にオブジェクトを識別し、ノード エクスポーターを取得します。

この時点で、ノード エクスポーターのダッシュボードを確認すると、すべてが正常であることがわかります。

さらに、VMServiceScrape を使用して、スクレイピングするサービス (エンドポイント) を定義することもできます。セレクタに基づいて vmagent のスクレイピング構成を生成します。定義されたサービスを持たないポッドのインジケーターをスクレイピングする場合は、VMPodScrape を通じて定義できます。同様に、アラーム関連情報の管理用の対応する CRD もあります。 vm-operator を使用すると、VM クラスターの管理が大幅に軽減されるため、強くお勧めします。

<<:  IDC:中国のパブリッククラウドサービス市場規模は2021年下半期に151.3億米ドルに達した

>>:  それは単に利益が大きいからでしょうか? Google が Web3 を導入する意図は何ですか?

推薦する

Google の意味解析アルゴリズムを考慮したウェブサイトのコンテンツのレイアウト方法

少し前に、Google は「Google はセマンティック検索技術を組み合わせて検索アルゴリズムを改...

サイト降格につながる7つの死刑執行人の簡単な分析

サイトの降格は、多くの最適化担当者が遭遇する問題です。分析すると、サイトが降格される可能性があること...

百度青大根アルゴリズムのアップグレード ウェブサイトのSEO最適化が再び大きな打撃を受ける

Baidu の Green Radish Algorithm の導入後、スパムリンクを持つ多数の W...

統合されたシンプルでインテリジェントなKetian Cloud Collaboration 3.0により、コミュニケーションが改善されます

[51CTO.comからのオリジナル記事] 最近、シスコとTCLの合弁会社であるシスコクラウドが北京...

エッジコンピューティングにおけるストレージデバイスの 5 つの設計上の考慮事項

過去 5 年間で、世界中で生成、使用、送信、保存されるデータの量は膨大になりました。 5G は予測不...

不動産ウェブサイトを宣伝するための健全で永続的な方法をいくつか簡単に分析します

インターネットはますますオープンになり、人々はますますインターネットに慣れ親しんでいます。インターネ...

車のインターネットがビジネスイノベーションを加速

自動車業界におけるビッグデータ、モノのインターネット、人工知能の継続的かつ急速な進歩により、自動車業...

raksmart: 300G の米国高防御サーバー、CC 攻撃を無視、月額 99 ドルから、トラフィック無制限

米国サンノゼにあるRaksmartの自社データセンターは、米国の高防御サーバーを備え、最大300Gの...

Dreamhost-VPS シンプルレビュー (旧バージョン VPS)

まず、昨日テスト用に Dreamhost VPS を提供してくれたウェブマスターに感謝したいと思いま...

ウェブサイトのスムーズな立ち上げを確実にするために、繰り返しはしないでください

ウェブサイトのコンテンツがインターネット上のコンテンツとあまりにも類似しています。ウェブサイトのコン...

セカンダリカラムは、ウェブサイトのホームページの重さを改善するために不可欠です。

ウェブサイトを構築したことがある人なら誰でも、重みとランキングの良いウェブサイトは、そのウェブサイト...

モンスターはトラブル回避のためChinaHR.comを売却:売却も閉鎖もできない

ChinaHR.comが親会社であるMonsterによって売却されるというニュースが最近注目を集めて...

Hostkvm: シンガポールの VPS ルームの簡単なレビュー、実際のネットワーク データを共有し、hostkvm の仕組みを説明します

シンガポールは東南アジア諸国の中でもネットワーク状況が最も良く、中国に来た時の効果もかなり良く、速度...

[革命はここにあり、接続の夜明けは終わりません] Guanmai Technology: サービスとしての WAN

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますSD-WA...

グローバルApp Storeアプリケーション市場分析レポート!

2008 年 7 月、Apple は App Store を立ち上げました。それ以来、App Sto...