Kubernetesソリューション

Oracle Logging AnalyticsのKubernetesモニタリング・ソリューションを使用して、OCIにデプロイされたKubernetes、サード・パーティのパブリック・クラウド、プライベート・クラウド、または管理対象Kubernetesデプロイメントを含むオンプレミスに対するインサイトを監視および生成します。

分析のために、メトリック、オブジェクト情報の形式でのKubernetes状態、Kubernetes環境の様々なログなどのテレメトリ・データが収集されます。

ノート

Kubernetesのログ・アナリティクス・ソリューションは、公式のKubernetes1.22を超えるバージョンと、OKEやEKSなどの対応するクラウド・フレーバをサポートしています。

Kubernetesソリューションのすべての操作を実行するために必要な権限については、すべてのKubernetesソリューション操作を許可を参照してください。

次のタイプのログがKubernetes環境から収集されます:

タイプ コンポーネント: ログ・ソース・マッピング メタデータ・エンリッチメント

Kubernetesコンポーネント/システム・ログ

Kubeプロキシ: Kubernetesプロキシ・ログ

Kube Flannel : Kubernetes Flannelログ

Kube DNS Autoscaler: Kubernetes DNS Autoscalerログ

コアDNS: KubernetesコアDNSログ

CSIノード・ドライバ: Kubernetes CSIノード・ドライバ・ログ

プロキシ: OKEプロキシ・クライアント・ログ

Autoscaler: Kubernetes Autoscalerログ

Kubelet : Kubernetes Kubeletログ

Kubernetesクラスタ名

KubernetesクラスタID

ノード

ネームスペース

ポスト

コンテナ

コンテナ・イメージ名

OSログ

Syslogログ: Linux Syslogログ

Cronログ: Linux Cronログ

セキュア・ログ: Linuxセキュア・ログ

メール・ログ: Linuxメール配信ログ

監査ログ: Linux監査ログ

Ksplice/Uptrackログ: Kspliceログ

YUMログ: Linux YUMログ

Kubernetesクラスタ名

KubernetesクラスタID

ノード

Kubernetesポッド/コンテナ・ログ

Kubernetesコンテナ汎用ログ

Kubernetesクラスタ名

KubernetesクラスタID

ノード

ネームスペース

ポスト

コンテナ

コンテナ・イメージ名

Kubernetes環境から次のオブジェクト情報が収集されます:

オブジェクト ログ・ソース メタデータ・エンリッチメント
ノード Kubernetesノード・オブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

ポスト Kubernetesポッド・オブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

デプロイメント(ワークロード) Kubernetesデプロイメント・オブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

DaemonSet (ワークロード) Kubernetes DaemonSetオブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

StatefulSet (ワークロード) Kubernetes StatefulSetオブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

ジョブ(ワークロード) Kubernetesジョブ・オブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

CronJob (ワークロード) Kubernetes CronJobオブジェクト・ログ

Kubernetesクラスタ名

KubernetesクラスタID

Kubernetesクラスタとログ・アナリティクスを接続

テナンシ内のKubernetesクラスタに関する必要な情報を収集し、クラスタの接続に必要な権限が設定されていることを確認します。Oracleでは、管理者権限を持つユーザーがこの操作を実行することをお薦めします。接続に成功すると、関連するKubernetesコンポーネントおよびコンピュート・ノードからのログ、メトリックおよびオブジェクト情報がこのクラスタから収集されます。

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」「ソリューション」をクリックし、「Kubernetes」をクリックします。「Kubernetesモニタリング・ソリューション」ページが開きます。

  2. Kubernetesモニタリング・ソリューション・ページで、「クラスタの接続」をクリックします。データの追加ウィザードが開きます。ここでは、「Kubernetesのモニター」セクションはすでに展開されています。「Oracle OKE」をクリックします。「OKE環境モニタリングの構成」ページが開きます。

  3. クラスタの表の対応する行をクリックして、Oracle Logging Analyticsに接続するOKEクラスタを選択します。表の詳細を使用して、適切なOKEクラスタを識別します。「次」をクリックします。

  4. メニューから、テレメトリ・データと関連するモニタリング・リソースを格納するコンパートメントを選択します。

  5. オプションで、必要なポリシーおよび動的グループが作成されます。このチェック・ボックスは、すでに作成されている場合は無効にできます。必要なポリシーについては、すべてのKubernetesソリューション操作の許可を参照してください。

  6. オプションで、使用状況メトリックのコレクション用にメトリック・サーバーがインストールされます。このチェック・ボックスは、すでにインストールされている場合は無効にできます。

  7. 「ソリューション・デプロイメント・オプション」を選択します:

    • 前述のクラスタを自動的に有効化: Oracle Logging Analyticsで必要なすべてのリソースを自動的に作成できるようにするには、このオプションを選択します。

      自動ログ収集構成では、次のリソースが作成または更新されます。

      • IAMポリシーおよび動的グループ
      • Oracle Logging Analyticsのログ・グループおよびエンティティ
      • 管理エージェント・キー
      • メトリック・ネームスペース
      • 管理エージェント構成
      • Fluentd構成
      • Kubernetesマニフェストおよびhelmチャート
    • 前述のクラスタを手動でデプロイします: Oracle Logging Analyticsで、すべてのOracle Cloud Infrastructureリソースを作成し、Helm / Kubernetesマニフェストを介してFluentdおよびその他の構成のデプロイメントを管理する機能を提供するために、このオプションを選択します。ただし、インストール手順は接続ワークフローの最後に提供されます。このオプションを使用すると、自動デプロイメントで使用されるデフォルト構成およびその他の収集パラメータをカスタマイズできます。
  8. 「ログ収集の構成」をクリックして、指定した構成を確認します。

    Oracle Cloud Infrastructureリソースが作成されました。

  9. ソリューションの手動デプロイメント・オプションを選択した場合は、Helmチャート・デプロイメントの接続ワークフローの最後に表示されるインストール手順に従います。

これにより、Kubernetesクラスタからデータを収集するための構成が完了します。Kubernetesモニタリング・ソリューションのページに移動し、データ収集が完了するまで数分待ちます。データ収集が進行中の場合、クラスタの最新のテレメトリUnknownです。このステータスの変更後に解決策を表示できます。

Kubernetesクラスタのモニター

Kubernetesクラスタから収集されたテレメトリ・データは、環境とそのパフォーマンスに関するインサイトを取得するのに役立つ複数のビューで表示されます。

Kubernetesクラスタのソリューションを表示するには:

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」「ソリューション」をクリックし、「Kubernetes」をクリックします。「Kubernetesモニタリング・ソリューション」ページが開きます。

  2. Kubernetesモニタリング・ソリューション・ページで、モニターおよび分析するクラスタの名前をクリックします。選択したクラスタのソリューションが開き、デフォルトの「クラスタ」ビューが表示されます。

トポロジの層を横断するために使用できるソリューションおよび様々なビューを確認し、「クラスタ・ビュー」「ワークロード・ビュー」「ノード・ビュー」および「ポッド・ビュー」の各レベルで詳細を取得します。フィルタ・コンテキストは、異なるビュー間で維持されます。

クラスタ・ビュー

Kubernetesソリューション・クラスタ・ビューの例:


クラスタ・ビュー

クラスタ・ビューには、次のセクションが表示されます。

  • 時間セレクタ(イメージの2つ): Last 60 Minutes (デフォルト)とLast 24 Hoursの2つの時間範囲オプションがあります。時間範囲に加えた変更は、「イベント」および「右パネル・ウィジェット」に影響します。

  • フィルタ(イメージ内の1):

    • ネームスペース・フィルタ: Kubernetesネームスペースでビューをフィルタします。
  • トポロジ (イメージ内の3): このセクションには、Kubernetes環境から収集されたオブジェクト・データが表示されます。ネームスペースを右クリックして、フィルタに追加します。次に、トポロジ・ビューが変更され、ワークロードおよびノードを含むネームスペース内のオブジェクトが反映されます。トポロジは現在の時間に基づいており、時間範囲設定の影響を受けません。

    トポロジ内の各オブジェクトの色は、そのオブジェクトまたはその子に関連付けられたアクティブな警告イベントから導出されたステータスを示します。たとえば、1つ以上の警告イベントがあるポッドの場合、ポッドの色コードはREDに変更され、対応するワークロード(ポッドを所有)およびネームスペースも同じステータスで反映されます。

  • ネームスペース別のポッド (イメージ内の5): トポロジで使用可能なポッド。各ポッドの色の詳細は、上の段落を参照してください。
  • 左パネルのサマリー (イメージの4): 左パネルのサマリーは現在の時間に基づいており、時間範囲設定の影響を受けません。
  • イベント(イメージの7): このセクションには、Kubernetesクラスタで発生した状態の変更がイベントの形式で表示されます。「警告のみ」または「すべて」でさらにイベントをフィルタできます。

    「イベント」セクションを展開すると、ページの中央に表を表示できます。

  • 右側のパネル・ウィジェット(イメージ6): これらのウィジェットは、システムの状態をモニターするのに役立ちます。The type of widgets available upon using the rotating scroll bar are CPU core (used/allocatable) in %, CPU core used, Memory (used/allocatable) in %, Memory used, Kubernetes system, OS health, Total API server requests, API server request duration, API response size, API request execution duration, etcd request duration, Network: bytes rx, Network: byts tx, Network Packet Rx Rate, Network: Packet Tx Rate, Network: Packet Rx Dropped Rate, and Network: Packet Tx Dropped Rate.

各セクションを展開してより大きなビジュアライゼーションを表示し、マウス・オーバーして詳細を表示できます。

ワークロード・ビュー

Kubernetesソリューション・ワークロード・ビューの例:


kubernetesワークロード・ビュー

セクション「時間セレクタ」「イベント」「左パネル・サマリー」および「右パネル・ウィジェット」は、クラスタ・ビューと同じです。ネームスペース・フィルタ・コンテキストはクラスタ・ビューから保持され、ワークロードの追加フィルタもこのビューで使用できます。「ワークロード別ポッド」セクションには、ポッドが属するワークロード別にグループ化された形式で表示されます。また、このビューには「ワークロードの詳細」が含まれています。この項では、各タイプのワークロードを展開して、ネームスペース、ワークロード名、ステータスおよびその経過時間の詳細情報を表示できます。

ノード・ビュー

Kubernetesソリューション・ノード・ビューの例:


Kubernetesソリューション・ノード・ビュー

セクション「時間セレクタ」「イベント」「左パネル・サマリー」および「右パネル・ウィジェット」は、クラスタ・ビューと同じです。「ネームスペース・フィルタ」および「ワークロード・フィルタ」コンテキストは「ワークロード」ビューから保持され、このビューではノードの追加フィルタも使用できます。「ノード別ポッド」セクションには、ポッドが属するノード別にグループ化された形式で表示されます。また、このビューにはノード・ステータスが含まれています。このセクションでは、各ノードを展開して、ステータス、問題、経過時間、OS、コンテナ・ランタイム、kubelet/kubeproxyバージョン、CPU、メモリー(容量)、メモリー(割当て可能)などの詳細情報を表示できます。問題があるノードまたは準備ができていないノードのみのステータスを選択的に表示することもできます。

ポッド・ビュー

Kubernetesソリューション・ポッド・ビューの例:


Kubernetesソリューション・ポッド・ビュー

セクション「時間セレクタ」「イベント」「左パネル・サマリー」および「右パネル・ウィジェット」は、クラスタ・ビューと同じです。「ネームスペース・フィルタ」、「ワークロード・フィルタ」および「ノード・フィルタ」コンテキストは、「ノード」ビューから保持されます。「ポッド」セクションには、フィルタの選択に基づいてポッドとそのステータスが表示されます。また、このビューにはポッド・ステータスが含まれています。このセクションでは、各ポッドを展開して、ステータス、ノード、ネームスペース、ポッドIP、コントローラ、コントローラの種類、スケジューラなどの詳細情報を表示できます。ポッドの詳細は、「実行中」、「失敗」、「成功」、「保留中」などの現在のステータスに基づいて選択的に表示することもできます。

すべてのKubernetesソリューション操作を許可

ログ、メトリックおよびオブジェクト情報の収集を許可する動的グループを作成します。

ALL {instance.compartment.id = '<OKE_COMPARTMENT_OCID>'}
ALL {resource.type='managementagent', resource.compartment.id='<TELEMETRY_COMPARTMENT_OCID>'}

動的グループがデータ収集操作を実行できるようにするポリシーを作成します。

allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment id <TELEMETRY_COMPARTMENT_OCID>
allow dynamic-group <dynamic_group_name> to use METRICS in compartment id <TELEMETRY_COMPARTMENT_OCID> WHERE target.metrics.namespace = 'mgmtagent_kubernetes_metrics'
allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_DISCOVERY_UPLOAD} in tenancy

動的グループおよびIAMポリシーの詳細は、OCIドキュメント: 動的グループの管理およびOCIドキュメント: ポリシーの管理を参照してください。