Kubernetes のイベントとは?
実行されたすべてのアクションまたは一部のリソースに対して行われた変更は、ログに記録されます。これらのログは、Kubernetes ではイベントと呼ばれます。これらのイベントは、Kubernetes 環境のデバッグと管理に役立ち、リソースに対する決定がどのように行われるかを理解するのにも役立ちます。 Kubernetes のノード、クラスター、ポッドなどのオブジェクトで行われる変更または作業のために生成されるイベントは多数あります。さらに、Kubernetes のイベントは、Kubernetes オブジェクトで何が起こっているかを理解するのに役立ちます。一般に、Kubernetes でイベントを監視するには 2 つの方法があります。彼らです:
- Kubectl 取得イベント
- kubectl はポッド/ポッド名を記述します
次のセクションでは、簡単な例を使用して両方の方法を示します。ただし、最初に、システムが Kubernetes のイベントを確認および監視するためのすべての基本的なニーズを満たしていることを確認する必要があります。
前提条件
Kubernetes でフィルターを取得してイベントを監視する方法を学習する前に、システムに次のツールがインストールされていることを確認してください。
- Ubuntu バージョン 20.04 またはその他の最新バージョン
- ミニキューブクラスター
- Kubectl コマンド ライン ツール
これらのツールがすべてインストールされていることを前提として、フィルターを取得して Kubernetes でイベントを監視する方法について学習します。
Minikube クラスターを起動する
kubectl コマンドを使用したり、Kubernetes で機能を実行したりするには、最初に minikube クラスターを起動する必要があります。 minikube クラスターを使用すると、任意の kubectl コマンドを実行して、必要な機能を実行できます。 「start」コマンドを使用して、minikube クラスターを開始します。
> ミニキューブを始める
これにより minikube クラスターが開始され、システムは任意の kubectl コマンドを実行する準備が整います。
前に説明したように、イベントを取得するには 2 つの方法があります。ここでは、両方の方法を 1 つずつ説明します。
Kubectl Get Events メソッドを使用して Kubernetes イベントを取得する
「kubectl get events」は、Kubernetes 環境で発生したすべてのイベントを一覧表示する kubectl コマンドです。端末で次のコマンドを入力するだけで、Kubernetes のイベントの完全なリストを取得できます。
> kubectl get イベントこれは、特定のリソースまたはクラスター全体に関連するイベントのリストを取得するための非常に一般的な方法です。
Kubectl Describe Pod/Pod-Name を使用して Kubernetes イベントを取得する
すべてのイベントを一覧表示する 2 つ目の方法は、「describe」コマンドを使用することです。 「kubectl describe pod/pod-name」は、特定のポッドに関連する Kubernetes のイベントを取得できる kubectl コマンドです。 「ポッド名」は、イベントがリストされているポッドの名前を表します。ターミナルで次のコマンドを入力し、特定のポッドのイベントを取得します。
> kubectl でポッドを記述 / 依存-envars-デモ
与えられた出力から、「dependent-envars-demo」は Kubernetes でイベントを一覧表示するポッドの名前であり、残りはその特定のノードのイベントの詳細です。
Kubectl コマンドを使用して Kubernetes でイベントを監視する方法
Kubernetes は、イベントを長期間にわたって保存、アクセス、または転送するための組み込みサポートを提供しません。そのため、イベントを長期間保持するには、サードパーティのログ ツールを使用する必要があります。 Kubernetes イベントを追跡するために、さまざまな無料およびオープンソースのサードパーティ ソリューションを利用できます。これらのツールを使用すると、Kubernetes のイベントを報告し、すべての Kubernetes クラスター リソースを可視化できます。したがって、Kubectl コマンドを使用して、Kubernetes のイベントを直接監視または収集できます。次のコマンドを使用して、展開中のイベントを直接監視します。
> kubectl get イベント - 見る
Kubewatch ツールを使用してフィルターを取得し、Kubernetes でイベントを監視する
前述のように、Kubernetes のイベントをフィルタリングおよび監視するために使用できる無料のオープンソース ツールが多数あり、Kubewatch はそれらのツールの 1 つです。このセクションでは、kubectl コマンドを使用して Kubewatch をインストールし、Kubernetes のイベントを監視および追跡する方法について説明します。これは Golang で書かれており、Flock、Webhook、Hipchat、Slack などに通知を送信してイベントを監視および報告するために使用されます。
Kubewatch のインストールは非常に簡単で、わずか 2 ステップで完了します。最初に構成ファイルを作成し、次にデプロイする必要があります。以下の手順に従います。
ステップ 1: YAML 構成ファイルを作成する
最初に、Kubewacth 構成を含む YAML ファイルを作成します。 YAML ファイルを作成するには、「nano」コマンドを使用できます。 「nano」コマンドは、Kubernetes 環境でファイルを開いたり作成したりするために使用されます。したがって、nano コマンドを使用して「kubewatch.yaml」ファイルを作成します。次のコマンドを参照してください。
> ナノ kubewatch.yamlこのコマンドを実行すると、Kubewatch 構成の詳細を保存できる「kubewatch」という名前の YAML ファイルが作成されます。 Kubewatch 構成は、次のスナップショットに示されています。
Kubewatch 構成を「kubewatch.yaml」ファイルに保存したら、Kubewatch ツールをインストールするように構成できます。
ステップ 2: YAML ファイルを構成する
次のステップは、前のステップで作成した構成ファイルをデプロイすることです。そのために、次のコマンドを使用します。
> kubectl 作成 -f kubewatch.yaml
指定された出力から、Kubewatch 構成が正常に作成されたことを確認できます。これで、Kubewatch ツールは、構成された通知チャネルを介してイベント通知を送信する準備が整いました。
結論
この記事では、特に Kubernetes のフィルター イベントと監視イベントに焦点を当てながら、Kubernetes のイベントについて説明しました。 kubectl describe pod/pod-name と kubectl get events の 2 つの方法を学び、Kubernetes でイベントを監視しました。また、Kubewatch ツールをインストールして Kubernetes のイベントを監視および監視する方法も学びました。