Hostpath
- KubernetesNode上のボリュームをコンテナにマッピングするプラグイン
Directory
はディレクトリが存在しない場合に作成しないDirectoryOrCreate
はディレクトリが存在しない場合には作成して起動する- 利用できないようにしているKubernetesも多いみたい
- あまり推奨の構成ではないようで、検証環境とかは手っ取り早くHostpathというのはありなのかもしれない
Sampleをデプロイ
sample-hostpath.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="na">apiVersion</span><span class="pi">:</span> <span class="s">v1</span> <span class="na">kind</span><span class="pi">:</span> <span class="s">Pod</span> <span class="na">metadata</span><span class="pi">:</span> <span class="na">name</span><span class="pi">:</span> <span class="s">sample-hostpath</span> <span class="na">spec</span><span class="pi">:</span> <span class="na">containers</span><span class="pi">:</span> <span class="pi">-</span> <span class="na">image</span><span class="pi">:</span> <span class="s">nginx:1.12</span> <span class="na">name</span><span class="pi">:</span> <span class="s">nginx-container</span> <span class="na">volumeMounts</span><span class="pi">:</span> <span class="pi">-</span> <span class="na">mountPath</span><span class="pi">:</span> <span class="s">/srv</span> <span class="na">name</span><span class="pi">:</span> <span class="s">hostpath-sample</span> <span class="na">volumes</span><span class="pi">:</span> <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">hostpath-sample</span> <span class="na">hostPath</span><span class="pi">:</span> <span class="na">path</span><span class="pi">:</span> <span class="s">/etc</span> <span class="na">type</span><span class="pi">:</span> <span class="s">DirectoryOrCreate</span> |
1 |
kubectl apply -f sample-hostpath.yaml |
Podからマウントされているか確認
1 |
kubectl exec -it sample-hostpath cat /srv/hostname |
出力結果
1 |
k3d-k3s-default-worker-1 |
dfコマンドで見ると
1 |
df | grep /srv |
overlayとでる。出ていればマウントされいているに違いない。
1 2 |
overlay 61255492 13356212 44757956 23% /srv /dev/sda1 61255492 13356212 44757956 23% /srv/hosts |
ホスト上のファイルを確認
1 |
docker exec -it k3d-k3s-default-worker-1 cat /etc/hostname |
出力結果
1 |
k3d-k3s-default-worker-1 |