Kubernetes モニタリングの考慮事項と必要な権限
最終更新日: 20 年 2023 月 XNUMX 日Kubernetes モニタリングの考慮事項
- LM Container は、各 Kubernetes オブジェクト インスタンスをデバイスとして扱います。
- Kubernetes の統合は、Container Runtime Interface (CRI) に依存しません。 詳細については、「」を参照してください。 コンテナランタイムインターフェイス Kubernetes ドキュメントより。
- LM Container は、常に最新の 60 つのバージョンの Kubernetes を正式にサポートしており、正式リリースから XNUMX 日以内に新しいバージョンのサポートを提供することを目指しています。 詳細については、「」を参照してください。 Kubernetes モニタリングのサポート マトリックス.
- 追加されたすべての Kubernetes クラスターが 資料 ページ。 詳細については、を参照してください。 LogicMonitor Web ポータルを使用して Kubernetes クラスタを追加する.
Kubernetes の監視依存関係
- LMコンテナヘルムチャート — Unified LM Container Helm チャートを使用すると、Argus、Collectorset-Controller、kube-state-metrics (KSM) サービスなど、Kubernetes クラスターの監視に必要なすべてのサービスをインストールできます。
- アーガス— LogicMonitor の API を使用して、ノード、ポッド、サービスを監視に追加します。
- コレクターセット-コントローラー— データ収集のために XNUMX つ以上の Dockerized LogicMonitor Collector を管理します。 Kubernetes Cluster リソースが LogicMonitor に追加されると、データ収集が自動的に開始されます。 データは、Kubernetes API を介してノード、ポッド、コンテナー、およびサービスに対して収集されます。 さらに、標準のコンテナ化アプリケーション (Redis、MySQL など) が自動的に検出され、監視されます。
- Docker化されたCコレクター— データ収集に使用されるアプリケーション。
- Kube 状態メトリクス (KSM) サービス— Kubernetes API サーバーをリッスンし、オブジェクトの状態に関するメトリクスを生成する単純なサービス。
次の図は、LogicMonitor のアプリケーションがクラスター内でポッドとしてどのように実行されるかを示しています。
ご注意: LogicMonitorのKubernetesモニタリング統合は、と呼ばれるアドオン機能です。 LMコンテナ。 詳細については、カスタマー サクセス マネージャー (CSM) にお問い合わせください。
LogicMonitor ポータルの権限
- 次の管理権限が必要です。
- 設定:
- ロジックモジュール
- 少なくとも XNUMX つのダッシュボード グループ。
- 少なくとも XNUMX つのリソース グループ。
- 少なくとも XNUMX つのコレクター グループ。
クラスター内で実行されているホストがまだ監視対象に存在していない場合、リソースが作成されます。
- 設定:
- すべてのコレクター グループに対する表示権限が必要です。
- 認証用の API トークンを作成する場合は、必ず確認してください。 API トークンの作成を許可 下のチェックボックス 設定 > ユーザープロファイル。 すぐに使用できる管理者ユーザー ロールを除くすべてのユーザーが API トークンを作成できます。 詳細については、「」を参照してください。 API トークン。
- LM ポータルから LM コンテナをインストールするのが最適です。 管理者 ユーザーの役割。 詳細については、を参照してください。 役割.
Kubernetes クラスターの権限
LM コンテナをインストールするには、最小限の権限が必要です。
ClusterRole を作成するには、次の手順を実行します。
- を作成して保存する クラスターロール.yaml 次の構成のファイル:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: lm-container-min-permissions
rules:
- apiGroups:
- ""
resources:
- "*"
verbs:
- get
- list
- create
- apiGroups:
- ""
resources:
- configmaps
verbs:
- "*"
- apiGroups:
- apps
resources:
- deployments
- statefulsets
- replicasets
verbs:
- get
- list
- create
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
- clusterrolebindings
- roles
- rolebindings
verbs:
- "*"
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- "*"
- apiGroups:
- "*"
resources:
- collectorsets
verbs:
- "*"
- 次のコマンドを入力します。
kubectl apply -f cluster-role.yaml
- 次のコマンドを実行して、cluster-role-binding を作成し、特定のユーザーにすべてのリソースの表示専用権限を付与します。
kubectl create clusterrolebinding role-binding-view-only --clusterrole view --user <user-name>
- 次のコマンドを実行して、cluster-role-binding を作成し、特定のユーザーに LM コンテナー コンポーネントをインストールする権限を与えます。
kubectl create clusterrolebinding role-binding-lm-container --clusterrole lm-container-min-permissions --user <user-name>
LM Container のインストールの詳細については、次を参照してください。 LM Container Helm チャートのインストール or CLI を使用した LM Container Chart のインストール.