GKEアップグレード通知をメールで受信する
概要
GKEのアップグレード通知をPub/Subで公開する機能がベータ版で用意されているため、
その機能を使用して、GKEアップグレード通知をメールで受信する方法を記述する。
下記のサービスを使用する。
・GKE
・Cloud Pub/Sub
・Cloud Functions
・Stackdriver Logging
・Stackdriver Monitoring
設定手順
Pub/Subのトピックを作成する
gcloud pubsub topics create gke-upgrade-notification
GKEのアップグレード通知を有効にする
gcloud beta container clusters update <クラスタ名> --notification-config=pubsub=ENABLED,pubsub-topic=projects/<PROJECT_ID>/topics/gke-upgrade-notification
Cloud Functionsの関数を作成する
gcloud pubsub topics create gke-upgrade-notification
gcloud beta container clusters update <クラスタ名> --notification-config=pubsub=ENABLED,pubsub-topic=projects/<PROJECT_ID>/topics/gke-upgrade-notification
トリガーを Cloud Pub/Sub にし、作成したトピック [gke-upgrade-notification] を指定する。
package p
import (
"context"
"fmt"
"log"
)
// PubSubMessage is the payload of a Pub/Sub event. Please refer to the docs for
// additional information regarding Pub/Sub events.
type PubSubMessage struct {
Data []byte `json:"data"`
Attributes PubSubAttributes `json:"attributes"`
}
type PubSubAttributes struct {
Payload string `json:"payload"`
}
func OutputLog(ctx context.Context, m PubSubMessage) error {
// output log
log.Print(fmt.Sprintf("GKE Upgrade start. Data: %s", string(m.Data)))
log.Print(fmt.Sprintf("GKE Upgrade start. Payload: %s", m.Attributes.Payload))
return nil
}
StackdriverLoggingのログベース指標 [info-gke-upgrade] を作成する
resource.type="cloud_function"
AND resource.labels.function_name:"OutputGKEUpgradeLog"
AND textPayload:"GKE Upgrade start."
StackdriverMonitoringのアラートを作成する
ログベース指標 [info-gke-upgrade]に基づいてアラートを作成する。
任意のメールアドレスをアラート通知先に設定する。
動作検証
クラスタのノードプールをアップグレードする。
gcloud container clusters upgrade cluster --cluster-version <VERSION> --node-pool <NODE_POOL>
アラートで設定したメールアドレスに通知が届く。
ソースコード
本記事の検証用ソースコードはこちら
Author And Source
この問題について(GKEアップグレード通知をメールで受信する), 我々は、より多くの情報をここで見つけました https://qiita.com/hikarusi/items/abfffaa04074c925181e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .