2020/08/05
GKEで使っているPersistent Diskのデータ容量を増やす
概要
とあるサービスをGKE上で動かしています。
そのサービスはデータ保存領域をGCEのComput DiskをPersistent Diskとして登録して利用しています。
このDisk容量は、Stackdriver monitoringでモニタリングしているのですが…
利用率が90%を超えた旨のアラートが飛ぶようになったので、対応しました。
単純にDiskをリサイズしてもダメで、パーティションの設定などを行う必要があるのが大変でした。
実施事項
以下の手順でデータ容量を増やして、サービスを再開させました。
サービスを停止
kubectl
コマンドを使って、対象のサービスを停止して、Diskをフリーな状態にしました。
- Deployment
- PersistentVolumeClaim
- PersistentVolume
Compute Diskのバックアップ
snapshotを作成しました。
% gcloud beta compute disks snapshot ${DISK_NAME} \
--project=${PROJECT_ID} \
--zone=${GCLOUD_ZONE} \
--snapshot-names=${SNAPSHOT_NAME} \
--description="${SNAPSHOT_DESC}"
Compute Diskのリサイズ
diskのリサイズを実行しました。
% gcloud beta compute disks resize ${DISK_NAME} \
--project=${PROJECT_ID} \
--zone=${GCLOUD_ZONE} \
--size=${DISK_SIZE}
VMインスタンスを立ち上げ
リサイズしたデータを追加したVMインスタンスを起動します。
- SSHできるようにFirewallの設定などをしておきます。
SSHで接続したら、以下のコマンドを使って、リサイズした領域が全て使えるように設定変更を行いました。
# mountポイントの作成
$ sudo mkdir -p /mnt/disks/extend
# mount
$ sudo mount -o defaults /dev/disk/by-id/google-my-disk-name-here /mnt/disks/extend
# 使用量を確認
$ sudo df -h
# おまじない
$ sudo e2fsck -f /dev/sdb
# Disk容量の拡張
$ sudo resize2fs /dev/sdb
# 使用量を確認(ちゃんと拡張されたか確認)
$ sudo df -h
VMインスタンスの片付け
- 上記で作成したVMインスタンスを停止後削除します。
- Firewallの設定も忘れず削除しました。
サービスを再起動
以下の設定で、Disk容量の部分を変更後
- PersistentVolumeClaim
- PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-persistent-volume-here
spec:
storageClassName: my-storage-class-name-here
capacity:
storage: 200Gi
accessModes:
- ReadWriteOnce
gcePersistentDisk:
pdName: my-disk-name-here
fsType: ext4
kubectl
コマンドを使って、対象のサービスを再起動しました。
- Deployment
- PersistentVolumeClaim
- PersistentVolume
pod起動後、kubectl exec -it podname -n namespace -- bash
を使ってログインして df
コマンドから容量を確認すると良いかもしれないですね。
以上になります。
関連する記事
[小〜中規模向け]GKEにTiDBをデプロイする
MySQL互換のNewSQLであるTiDBをGKEにデプロイしてみました。
NATS JetStream Controllerを使ってNATSをGKEにデプロイする
helm chartのnackを使って、NATS JetStreamサーバーをデプロイして、Stream/Consumerをk8sリソースとして管理する
GKEにDragonflydbをデプロイする
redis互換のdragonflydbをGKEにデプロイしました
[GKE]Kafka Strimziをアップグレードする
GKEにデプロイしているKafka Strimzi 0.26.0を0.30.0にアップグレードする