すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:登録済みクラスターの Kubernetes イベントセンターを作成する

最終更新日:Nov 09, 2025

Kubernetes イベントセンターを作成して、登録済みクラスターのイベントを記録できます。これらのイベントには、Pod の構成変更やコンポーネントの例外などが含まれます。Kubernetes イベントセンターは、クラスターイベントをリアルタイムで収集、保存、可視化します。イベントセンターでは、イベントのクエリと分析、アラートの設定が可能です。このトピックでは、登録済みクラスターの Kubernetes イベントセンターを作成する方法について説明します。

前提条件

背景情報

Kubernetes のアーキテクチャは、状態機械に基づいています。イベントは、状態のトランジションが発生したときに生成されます。通常のイベントは、通常の状態間のトランジション中に生成されます。警告イベントは、通常の状態と異常な状態の間のトランジション中に生成されます。

ACK は、さまざまなシナリオのイベントに対応する、すぐに使えるモニタリングソリューションを提供します。ACK によって維持される node-problem-detector および kube-eventer ツールを使用すると、Kubernetes イベントをモニターできます。事件监控关系图

  • node-problem-detector は、Kubernetes ノードを診断するためのツールです。node-problem-detector はノードの例外を検出し、ノードイベントを生成し、kube-eventer と連携してこれらのイベントに関するアラートを発生させ、アラートのクローズドループ管理を可能にします。node-problem-detector は、Docker エンジンのハング、Linux カーネルのハング、アウトバウンドトラフィックの例外、ファイル記述子の例外などの例外が検出されたときにノードイベントを生成します。詳細については、「NPD」をご参照ください。

  • kube-eventer は、ACK によって維持されるオープンソースのイベントエミッターです。kube-eventer は、Kubernetes イベントを DingTalk、Log Service、EventBridge などのシンクに送信します。kube-eventer は、さまざまなレベルのイベントをフィルターするためのフィルター条件も提供します。kube-eventer を使用して、リアルタイムでイベントを収集し、特定のイベントでアラートをトリガーし、非同期でイベントをアーカイブできます。詳細については、「kube-eventer」をご参照ください。

ステップ 1: イベントセンターコンポーネントに RAM 権限を付与する

onectl を使用する

  1. オンプレミスマシンに onectl をインストールします。詳細については、「onectl を使用して登録済みクラスターを管理する」をご参照ください。

  2. 次のコマンドを実行して、Resource Access Management (RAM) 権限をイベントセンターコンポーネントに付与します:

    onectl ram-user grant --addon ack-node-problem-detector

    期待される出力:

    Ram policy ack-one-registered-cluster-policy-ack-node-problem-detector granted to ram user ack-one-user-ce313528c3 successfully.

コンソールを使用する

登録済みクラスターにコンポーネントをインストールする前に、AccessKey ペアを設定して、登録済みクラスターに Alibaba Cloud リソースへのアクセス権限を付与する必要があります。AccessKey ペアを設定する前に、Resource Access Management (RAM) ユーザーを作成し、RAM ユーザーに Alibaba Cloud リソースへのアクセス権限を付与します。

  1. RAM ユーザーの作成

  2. カスタムポリシーの作成

    イベントハブに必要なカスタムポリシードキュメントを展開して表示します

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "log:CreateProject",
                    "log:GetProject",
                    "log:DeleteProject",
                    "log:CreateLogStore",
                    "log:GetLogStore",
                    "log:UpdateLogStore",
                    "log:DeleteLogStore",
                    "log:CreateConfig",
                    "log:UpdateConfig",
                    "log:GetConfig",
                    "log:DeleteConfig",
                    "log:CreateMachineGroup",
                    "log:UpdateMachineGroup",
                    "log:GetMachineGroup",
                    "log:DeleteMachineGroup",
                    "log:ApplyConfigToGroup",
                    "log:GetAppliedMachineGroups",
                    "log:GetAppliedConfigs",
                    "log:RemoveConfigFromMachineGroup",
                    "log:CreateIndex",
                    "log:GetIndex",
                    "log:UpdateIndex",
                    "log:DeleteIndex",
                    "log:CreateSavedSearch",
                    "log:GetSavedSearch",
                    "log:UpdateSavedSearch",
                    "log:DeleteSavedSearch",
                    "log:CreateDashboard",
                    "log:GetDashboard",
                    "log:UpdateDashboard",
                    "log:DeleteDashboard",
                    "log:CreateJob",
                    "log:GetJob",
                    "log:DeleteJob",
                    "log:UpdateJob",
                    "log:PostLogStoreLogs",
                    "log:CreateSortedSubStore",
                    "log:GetSortedSubStore",
                    "log:ListSortedSubStore",
                    "log:UpdateSortedSubStore",
                    "log:DeleteSortedSubStore",
                    "log:CreateApp",
                    "log:UpdateApp",
                    "log:GetApp",
                    "log:DeleteApp",
                    "cs:DescribeTemplates",
                    "cs:DescribeTemplateAttribute"
                ],
                "Resource": [
                    "*"
                ],
                "Effect": "Allow"
            }
        ]
    }
  3. RAM ユーザーへのポリシーのアタッチ

    カスタムポリシーを作成するか、AliyunECIFullAccess ポリシーを選択して、RAM ユーザーに権限を付与できます。

  4. AccessKey ペアの作成 (RAM ユーザー用)。

    警告

    詳細については、「ネットワークアクセス制御のための AccessKey ペアベースのポリシーを設定する」をご参照ください。AccessKey の呼び出し元を信頼できるネットワーク環境に限定して AccessKey のセキュリティを強化することをお勧めします。

  5. AccessKey ペアを使用して、登録済みクラスターに alibaba-addon-secret という名前の Secret を作成します。

    イベントセンターのコンポーネントをインストールすると、システムは自動的に AccessKey ペアを使用してクラウドリソースにアクセスします。

    次のコマンドを実行して、イベントセンターの Secret を作成します。

    kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'
    説明

    前のステップで取得した AccessKey ペアで <your AccessKey ID><your AccessKey Secret> を置き換えます。

ステップ 2: Kubernetes イベントセンターをインストールする

onectl を使用する

次のコマンドを実行して、イベントセンターコンポーネントをインストールします:

onectl addon install ack-node-problem-detector

期待される出力:

Addon ack-node-problem-detector, version xxx installed.

コンソールを使用する

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のペインで、[操作] > [イベントセンター] を選択します。

  3. 任意: コンソールに Ack-node-problem-detector Is Not Installed と表示された場合は、[イベントセンターの作成] をクリックします。

  4. [イベントセンター] ページで、[イベント概要 (イベントセンター)] タブをクリックして、Kubernetes イベントセンターに関する情報を表示します。

    Kubernetes イベントセンターは、イベントの概要、イベントの詳細、および Pod のライフサイクルに関する情報を提供します。クエリをカスタマイズしたり、アラートを設定したりすることもできます。

結果

構成が完了すると、Kubernetes イベントセンターを使用できます。詳細については、「Kubernetes イベントセンターの作成と使用」をご参照ください。

登録済みクラスター用に Kubernetes イベントセンターが作成されると、イベントセンターを使用して、イベントの概要の確認、イベントの詳細の表示、Pod のライフサイクルの確認、アラートの設定、クエリのカスタマイズができます。