はじめに¶
共有k3sのshare-anchorに分散ストレージであるlonghornを導入したところ,PVの割り当てに失敗したため原因の調査と対応にあたりました.
TL;DR¶
【原因その1】 PV, PVCのマニフェストファイルについての知識が不足していた →【対策】longhornのUIからボリュームを作成した 【原因その2】仮想マシンのCPUが不足していた →【対策】vCPUのcore数を1増やした
Share-anchorの構成¶
https://cdsl-tut.esa.io/wiki/615

Volumeの状態がFaultに...¶
longhorn自体は2021年の12月に導入したのですが,ingressでブラウザに画面を表示するだけで満足していました.
ところが実際にPVを作成してマウントしようとするとFaultと表示されてしまうことがわかりました...
kubernetes完全に理解した(理解してない)¶
なにが起こっているのかわからなかったのでとりあえず自分でもやってみることにしました. まあさすがに導入した当人ですし,ドキュメントとかQiitaとか参照してテンプレ通りやればできるでしょうと高を括っていたのですが,kubernetesのPVとPVCについて,マニフェストファイルについてよくわかっていなかったので結局できませんでした.(恥ずかしいので今回作ったマニフェストファイルは載せません.勘弁してください.) https://longhorn.io/
UIで簡単に作れることが判明¶
longhornのドキュメントに書いてあるのに見落としていました...
早速VolumeタブからCreate Volumeを選択
Nameはとりあえずlonghornにしました
その後作成したVolumeのプルダウンメニュー(Operation)からCreate PV/PVCを選択
PV Nameをlonghorn-pv,PVC Nameをlonghorn-pvcとしました.
するとなんということでしょう,
あっという間にPVとPVCができあがりました!!!

新たな壁¶
Podを立てようとしたところ,ステータスがContainerCreatingで止まっていることがわかりました...
原因調査のためにまずは現状の全てのPodの状態を調べてみました.
するとlonghorn-systemのinstance-managerの中にPending状態のPodが一部確認できました.
不覚のイージーミス...¶
このPodをkubectl describeコマンドで調べてみると...
あら
あらら
CPUが足りていませんでした...!
しかも同等の性能 (2vCPU, 50GB) にしたはずのanchor-2のがなぜか1vCPUになっていました...
完全に私のミスです
とりあえず増やしてみた¶
1 coreずつ増やしました. | VM | before | after | | -------- | -------- | --------| | anchor-s1 | 2 core | 3 core| | anchor-2 | 1 core | 2 core|
できた!!!¶
解決です.
ようやくHealthyの文字を拝むことができました(健康大事!!!)

まとめ¶
- 公式ドキュメントをよく読みましょう
- VMの設定は見直しましょう
- Podが立たないときは詳細 (describe) を確認しましょう