Kubernetes のイベントとは?
Kubernetes イベントは、Kubernetes システム内のノード、コンテナー、クラスター、またはポッドなどのリソースで発生する変更に対して自動的に生成されるオブジェクトです。これは、システム内のリソースで何が起こっているかをユーザーに通知します。つまり、コンテナーが強制終了され、ポッドがスケジュールされ、デプロイが更新されたなどです。これらのイベントは、Kubernetes システムを維持し、Kubernetes 環境でデバッグを実行するのに役立ちます。このブログでは、Kubernetes 環境でイベントにアクセスする方法を見つけて説明します。
前提条件
Kubernetes でイベントを監視する方法を学習する前に、システムがすべての基本的なニーズを満たしていることを確認してください。次のものが必要です。
- Ubuntu 20.04 またはその他の最新の Ubuntu バージョン
- Linux/Unix システムにインストールされた仮想マシン
- ミニキューブクラスター
- kubectl コマンドライン ツール
それでは、Kubernetes イベントにアクセスするさまざまな方法を学びましょう。
Minikube 環境を起動する
Kubernetes 環境を使用し、そこで作成されたイベントにアクセスするには、minikube にアクセスする必要があります。したがって、最初に次のコマンドを使用して minikube を起動します。
> ミニキューブを始める
これは、Kubernetes イベントにアクセスできる minikube ターミナルから始まります。これで、Kubernetes でイベントにアクセスまたは取得できるようになりました
Kubernetes でイベントを監視する方法
Kubernetes でイベントにアクセスまたは監視するには、さまざまな方法があります。ここでは、Kubernetes のイベントにアクセスするためにこれらのメソッドがどのように使用されるかを理解できるように、これらのメソッドについて説明します。最初の基本的な方法は、単純な kubectl get event コマンドを使用することです。 Kubernetes の「get」コマンドは、Kubernetes システムから 1 つ以上のリソースにアクセスするために使用されます。すべてのパラメーターの後に「get」コマンドが続き、要件に従って Kubernetes のイベントを取得します。したがって、最初に、次の基本コマンドでイベントを取得します。
> kubectl get イベント
このコマンドを使用して、リソース API を利用して最近のイベントを取得できます。システム全体で発生した最近のすべてのイベントが表示されます。
今後は、「get event」コマンドの結果を JSON 形式で表示する方法を紹介します。 kubectl を使用すると、出力を目的の形式で印刷できます。出力タイプを定義するだけです。ここでは、「get」コマンドを使用して Kubernetes のイベントにアクセスし、次のコマンドを使用して結果を JSON 形式で表示します。
> kubectl get イベント -ザ json
与えられた出力からわかるように、イベントは Kubernetes 環境から JSON 形式でリストされています。これは非常に単純で、kubectl コマンド ライン ツールで前のコマンドを実行するだけで簡単に使用できます。
次に示す方法は、フィルタリングされたイベントを Kubernetes から取得する方法です。ここまでで、「get events」kubectl コマンドを使用して Kubernetes のすべてのイベントを取得する方法と、出力を JSON 形式で表示する方法を学びました。ここで、必要に応じてイベントをフィルタリングし、必要なイベントのみを表示する方法を見てみましょう。イベントのフィルタリングは非常に簡単です。前に説明したように、必要に応じてパラメーターを使用し、その後に「get events」kubectl コマンドを使用する必要があります。次のコマンドを使用して、必要に応じてイベントをフィルタリングし、必要なイベントのみを表示します。
> kubectl get events –field-selector タイプ ! =ノーマルこのコマンドを使用すると、「通常」タイプを持たないイベントのみが表示されます。 「通常」タイプのイベントはほとんど単なるノイズであり、意味のある情報を提供しないため、それらをスキップできます。次の特定の出力は、「通常」タイプを持たないイベントを示しています。
特定のポッドのイベントを取得する方法
必要なイベントのみをフィルタリングできるように、特定のポッドのイベントのみにアクセスすることもできます。これを行うには、まず次のコマンドを使用して、Kubernetes 環境からすべてのポッドを一覧表示します。
> kubectl でポッドを取得このコマンドは、これまでに Kubernetes 環境で作成されたすべてのポッドを一覧表示します。
これで、すべてのポッドのリストができました。ポッド名を使用して、特定のポッドのイベントにアクセスできます。 「describe pod」コマンドの後にポッド名を使用して、そのポッドに関連するイベントを取得します。特定のコマンドのイベントにアクセスするサンプル コマンドは次のとおりです。
> kubeclt ポッドの説明 / ポッド名ここで、「pod-name」は、Kubernetes でイベントを表示する必要があるポッドの名前を表します。
特定のポッドのすべてのイベントを表示する完全なコマンドのサンプルを次に示します。
> kubectl でポッドを記述 / 依存-envars-デモ与えられた出力から、最初のポッドの名前は「dependent-envars-demo」であり、そのポッドのイベントにアクセスします。次の特定の出力は、dependent-envars-demo ポッドのイベントを示しています。
結論
この記事では、Kubernetes のイベントについて学びました。 Kubernetes 環境でのイベントとは何か、および Kubernetes システムでイベントにアクセスする方法を調べました。 Kubernetes のイベントにアクセスするためのオープンソースの無料の方法が多数あることがわかりました。また、kubectl コマンドを使用してこれらのメソッドを実装する方法も学びました。