0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GKE 1.25におけるPersistent Volume Claim利用

Posted at

はじめに

運用している GKEにおいて、バージョンアップに伴いPersistent Volume Claimが利用できなくなる不具合があったので、記事として残しておきます。

環境

  • GKE Standard
    • v1.25.9.gke-2300 (v1.18.x頃から運用し随時バージョンアップ)
    • COS_CONTAINERD
    • 限定公開クラスタ
    • ノードプール: 1
    • ノード: 1
    • チャネル: Stable

事象

v1.25.8.gke-1000からv1.25.9.gke-2300へのバージョンアップが行われた後、クラスタ上のワークロードがpendingのままになって動かないという状況でした。
ワークロードがpendingで構築されていないため、当該アプリケーションが利用できない状態でした。

ワークロードのログには以下出力がありました。

1 node(s) had volume node affinity conflict.
preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.

調査

出力からして、Persistent Volumeに問題があるだろうと推測して調べていきました。
対象のワークロードはpd-ssdのボリュームにマウントして利用しているので、マウントが出来ていないとかそういった問題だろうという見立てから始まりました。

  • ワークロード(StatefulSet)がPersistent Volume Claimを参照しているが、これが Pending
    image (33).png
  • PVC自体のステータスは Bound になっており利用できる状態
    image (33).png

原因

「Compute Engine 永続ディスクの CSI ドライバ」が無効の場合に、PVCが正しく利用できなかったというものでした。

出力されていたログを元にたどり着いたページにて、同一と思われる現象の報告がありました。

実際に当該クラスタの設定を確認すると、無効だったことが確認できました。
image (31).png

対処方法

「Compute Engine 永続ディスクの CSI ドライバ」を有効化します
コマンドは公式ページ記載の通りです

gcloud container clusters update CLUSTER-NAME \
   --update-addons=GcePersistentDiskCsiDriver=ENABLED

image (32).png

※ このパラメータは、最近のStandardクラスタやAutopilotを使っている場合にはデフォルトで有効になっています。

Linux クラスタ: GKE バージョン 1.18.10-gke.2100 以降または 1.19.3-gke.2100 以降。
Windows クラスタ: GKE バージョン 1.22.6-gke.300 以降または 1.23.2-gke.300 以降。
Autopilot クラスタの場合、Compute Engine 永続ディスクの CSI ドライバはデフォルトで有効になっており、無効にすることや編集することはできません。

この対応によりワークロードが正しく動作するようになったことも確認できました。

事象について

本環境においてはv1.25.8.gke-1000からv1.25.9.gke-2300へのバージョンアップ時に発生したが、このバージョンアップがPVCの利用に影響を及ぼすような記載は、GoogleCloudでは見つかっていません。
Kuberentesとしての更新でいうと、kubernetes 1.25.9 change logにも関連する記載ありませんでしたが、
kubernetes 1.25.7 change logにおいては、CSIドライバについて以下の更新が記載されていました。

Remove check for CSI driver running on node for CSI migration

これを読む限りでは、CSIドライバの設定をチェックしなくなったので、有効・無効による動作差異はむしろなくなるのではないかという推察です。ただしこれも、v1.25.7時点でのことなので、今回バージョンアップでの影響が出たことについては整合性が取れていません。

本事象については問い合わせもしておりますので、何らか新規情報があれば更新します。
まずは、同じ事象で困った方の目にいち早くこの解決策が届くことを祈ります。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?