このページでは、Pub/Sub を使用して Google Kubernetes Engine(GKE)クラスタに関する通知を受信する方法について説明します。
概要
スケジュール設定された重要なアップグレードや利用可能なセキュリティ情報など、GKE クラスタに関連する特定のイベントが発生すると、GKE は、構成した Pub/Sub トピックにメッセージとしてイベントの通知をパブリッシュします。これらの通知を Pub/Sub サブスクリプションで受信し、サードパーティ サービスと統合して、受信したい通知タイプをフィルタできます。
クラスタ通知のメリット、通知の仕組み、フィルタリングが重要な理由に関する詳細は、クラスタ通知をご覧ください。新規および既存の Standard クラスタを使用するか、既存の Autopilot クラスタを更新して、クラスタ通知を構成できます。
始める前に
始める前に、次の作業が完了していることを確認してください。
- Google Kubernetes Engine API を有効にする。 Google Kubernetes Engine API の有効化
- このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、
gcloud components update
を実行して最新のバージョンを取得する。
- プロジェクトに Pub/Sub トピックを作成します。
新しいクラスタでクラスタ通知を有効にする
新しい Standard クラスタでの GKE クラスタ通知は、Google Cloud CLI または Google Cloud コンソールを使用して有効にできます。Autopilot クラスタで通知を有効にするには、まず Autopilot クラスタを作成してから、クラスタ通知を使用するようにクラスタを更新する必要があります。
gcloud
新しいクラスタでクラスタ通知を有効にするには、次のコマンドを実行します。
gcloud container clusters create CLUSTER_NAME \
--region=COMPUTE_REGION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
次のように置き換えます。
CLUSTER_NAME
: 新しいクラスタの名前。COMPUTE_REGION
: 新しいクラスタのコンピューティング リージョン。ゾーン Standard クラスタの場合は、--zone=COMPUTE_ZONE
を使用します。PROJECT_ID
: Google Cloud プロジェクト ID。TOPIC_NAME
: Pub/Sub トピックの名前。NOTIFICATION_TYPE
: 受信する通知タイプのパイプ(|)区切りリスト。たとえば、filter="UpgradeEvent|SecurityBulletinEvent"
はUpgradeEvent
とSecurityBulletinEvent
の通知のみを送信し、他のすべてのタイプは無視します。
コンソール
新しい Standard クラスタでクラスタ通知を有効にするには、次の操作を行います。
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
[add_box 作成] をクリックします。
[クラスタを作成] ダイアログで、[GKE Standard] の横にある [構成] をクリックします。
ナビゲーション パネルの [クラスタ] セクションで、[自動化] をクリックします。
[通知を有効にする] チェックボックスをオンにします。
プルダウン リストから、作成した Pub/Sub トピックを選択します。
通知をフィルタリングするには、[通知タイプをフィルタする] チェックボックスをオンにして、受信する通知タイプを選択します。
クラスタの構成を続けます。
[作成] をクリックします。
通知を有効にした後、トピックのサブスクリプションの種類を選択します。
既存のクラスタでクラスタ通知を有効にする
既存のクラスタでの GKE クラスタ通知は、Google Cloud CLI または Google Cloud コンソールを使用して有効にできます。
gcloud
既存のクラスタでクラスタ通知を有効にするには、次のコマンドを実行します。
gcloud container clusters update CLUSTER_NAME \
--region=COMPUTE_REGION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
次のように置き換えます。
CLUSTER_NAME
: クラスタの名前。COMPUTE_REGION
: 新しいクラスタのコンピューティング リージョン。ゾーン Standard クラスタの場合は、--zone=COMPUTE_ZONE
を使用します。PROJECT_ID
: Google Cloud プロジェクト ID。TOPIC_NAME
: Pub/Sub トピックの名前。NOTIFICATION_TYPE
: 受信する通知タイプのパイプ(|)区切りリスト。たとえば、filter="UpgradeEvent|SecurityBulletinEvent"
はUpgradeEvent
とSecurityBulletinEvent
の通知のみを送信し、他のすべてのタイプは無視します。
コンソール
既存のクラスタでクラスタ通知を有効にするには、次の手順を行います。
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
変更するクラスタの名前をクリックします。
[自動化] セクションで、[通知] の横にある
[通知を編集] をクリックします。[通知を編集] ダイアログで、[通知を有効にする] チェックボックスをオンにします。
プルダウン リストから、作成した Pub/Sub トピックを選択します。
通知をフィルタリングするには、[通知タイプをフィルタする] チェックボックスをオンにして、受信する通知タイプを選択します。
[変更を保存] をクリックします。
通知を有効にした後、トピックのサブスクリプションの種類を選択します。
クラスタ通知をフィルタする
通知を通知タイプでフィルタすると、必要な通知を受け取ることができます。
次の方法でフィルタする通知を選択できます。
- GKE: クラスタ通知の有効化の前の例で示したように、
--notification-config
フラグにfilter
の値を指定します。 - Pub/Sub: サブスクリプションの作成時にメッセージをフィルタするように Pub/Sub サブスクリプションを構成します。
GKE で既存のフィルタを変更する
既存の GKE クラスタ通知フィルタを変更するには、既存のクラスタで通知を有効にするの操作を行い、gcloud
コマンドでフィルタする新しい通知タイプを指定するか、Google Cloud コンソールで新しいタイプを選択します。
GKE でフィルタを無効にする
GKE 通知フィルタは、gcloud CLI または Google Cloud コンソールを使用して無効にし、クラスタに該当するすべての通知タイプを受け取ることができます。
gcloud
gcloud CLI を使用してフィルタを無効にするには、次のコマンドを実行します。
gcloud container clusters update CLUSTER_NAME \
--region=COMPUTE_REGION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/PROJECT_ID/topics/TOPIC_NAME
コンソール
Google Cloud コンソールを使用してフィルタを無効にするには、次の操作を行います。
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
変更するクラスタの名前をクリックします。
[自動化] セクションで、[通知] の横にある
[通知を編集] をクリックします。[通知を編集] ダイアログで、[通知タイプをフィルタする] チェックボックスをオフにします。
[変更を保存] をクリックします。
クラスタ通知の設定を確認する
Autopilot モードでは、クラスタの通知を次のように確認できます。
- コントロール プレーンのアップグレードを開始します。
- GKE がノードを新しいバージョンに自動的にアップグレードするまで待ちます。所要時間は、構成したメンテナンスの時間枠と除外によって変動する場合があります。
- GKE がノードをアップグレードしたら、Pub/Sub サブスクリプションを確認します。
Standard モードでは、クラスタの通知を次のように確認できます。
特定のノードプールを新しいバージョンにアップグレードします。ノード上の GKE バージョンを変更しない場合は、ノード上で現在インストールされている同じバージョンにアップグレードできます。
GKE がノードをアップグレードしたら、Pub/Sub サブスクリプションを確認します。
手動で確認できるのは UpgradeEvent
通知タイプの設定のみです。フィルタが、このタイプを無視するように構成されている場合、メッセージは表示されません。
クラスタ通知を無効にする
クラスタ通知は、gcloud CLI または Google Cloud コンソールを使用して無効にできます。
gcloud
gcloud CLI を使用して通知を無効にするには、次のコマンドを実行します。
gcloud container clusters update CLUSTER_NAME \
--region=COMPUTE_REGION \
--notification-config=pubsub=DISABLED
コンソール
Google Cloud コンソールを使用して通知を無効にするには、次の操作を行います。
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
変更するクラスタの名前をクリックします。
[自動化] セクションで、[通知] の横にある
[通知を編集] をクリックします。[通知を編集] ダイアログで、[通知を有効にする] チェックボックスをオフにします。
[変更を保存] をクリックします。
必要に応じて、通知用に作成した Pub/Sub トピックを削除します。
次のステップ
- クラスタ通知の詳細を理解する。
- Pub/Sub 通知の構成を確認する。
- サードパーティ サービス用のクラスタ通知を構成する方法を確認する。