ludwig125のブログ

頑張りすぎずに頑張る父

GKEクラスタを作成するときに--no-enable-cloud-loggingオプションが使えなくなったっぽい

前提

自分は格安でGKEを使うために、g1-smallで運用している

GKEでデフォルトのクラスタを作成すると、ログ転送用にfluentdなどのPodが立ち上がってしまう。 このうちfluentdが結構なCPUとMemoryを使用してしまうので、自分は以下にあるような方法で --no-enable-cloud-logging を指定することでfluentdを動かないようにさせていた。

Fluentd を使用した Google Kubernetes Engine 用の Cloud Logging ログのカスタマイズ

    gcloud beta container clusters create gke-with-custom-fluentd \
       --zone us-east1-b \
       --no-enable-cloud-logging \
       --tags=gke-cluster-with-customized-fluentd \
       --scopes=logging-write

これでクラスタを作成すると、以下のようなWarningは出るものの、これまでなんとか使えていた

WARNING: From 1.14, legacy Stackdriver GKE logging is deprecated. Thus, flag `--enable-cloud-logging` is also deprecated. Please use `--enable-stackdriver-kubernetes` instead, to migrate to new Stackdriver Kubernetes Engine monitoring and logging. For more details, please read: https://cloud.google.com/monitoring/kubernetes-engine/migration.

起きたこと

これまではWarningだったけど、ついに完全に使えなくなったっぽい

$gcloud --quiet container clusters create $CLUSTER_NAME \
> --machine-type=$MACHINE_TYPE --disk-size 10 --zone $COMPUTE_ZONE \
> --no-enable-cloud-logging \
> --num-nodes=$NUM_NODES --preemptible
WARNING: From 1.14, legacy Stackdriver GKE logging is deprecated. Thus, flag `--enable-cloud-logging` is also deprecated. Please use `--enable-stackdriver-kubernetes` instead, to migrate to new Stackdriver Kubernetes Engine monitoring and logging. For more details, please read: https://cloud.google.com/monitoring/kubernetes-engine/migration.
WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.
WARNING: Newly created clusters and node-pools will have node auto-upgrade enabled by default. This can be disabled using the `--no-enable-autoupgrade` flag.
WARNING: Starting with version 1.18, clusters will have shielded GKE nodes by default.
WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).
This will enable the autorepair feature for nodes. Please see https://cloud.google.com/kubernetes-engine/docs/node-auto-repair for more information on node autorepairs.
ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=Legacy monitoring is not supported in clusters running Kubernetes 1.15 or above.

やったこと

Logging Using Stackdriver | Kubernetes

を参考に

$ kubectl label node <ノード> beta.kubernetes.io/fluentd-ds-ready=false --overwrite

を実行すると、各ノードのfluentd daemonsetが起動しなくなるので試しにこれをやってみた

  • 起動後に上書きするためにはoverwriteが必要だった

node名は以下で取得できる

kubectl get nodes

最初からKubernetesYamlファイルとして定義してデプロイ時に指定してもよさそう。