Podman DesktopでPodを動かしてみる

# はじめに
<!-- 発端や概要を記載 -->
Podmanのナレッジもじわじわ増えてきてCLIでもおおよそ困ることは無いのですが、特にk8sを利用しておらずDockerで十分という方にはPodまわりの敷居が高いのではないかと思います。DokcerのいいところのひとつはDockerにはDesktopというGUI環境があることで、よくわからない人でも準備して貰えばボタンポチーで一応動かせることだと思います。これだけでものすごく社内導入の敷居がさがったりします。最近はPodmanもDesktopというGUI環境の開発が進んでいる様でDocker DesktopさながらにGUIでの管理を提供してくれるようなので、Podまわりがどんな感じか動かしてみました。

# 目次
<!-- タイトルとアンカー名を編集 -->
1. [Podman　Desktopとは](#Chapter1)
1. [準備(インストール)](#Chapter2)
1. [Podの確認](#Chapter3)
1. [参考文献](#reference)

<!-- 各チャプター -->
<a id="#Chapter1"></a>
# Podman Desktopとは

公式に書いてある通りでPodmanをまんまGUIから使える様にしたようなものです。（ほぼDocker Desktopでした）

> アプリケーション開発者のためのコンテナとKubernetes
Podman Desktopを使えば、ローカル環境から簡単にコンテナを扱えるようになります。Podman DesktopはPodman Engineを活用し、軽量でデーモンレスのコンテナツールを提供します。

https://podman-desktop.io/

ちなみに他のコンテナツールで作成したコンテナも扱えたりするようです（扱える様になる予定）
k8sやcrcとも連携できそうです。構成の選択肢が多いのはデベロッパーファーストでありがたいです。

ただし現在はまだv0.9.1なので、いろいろ安定性や機能面が足りないところもありそうです。
リリースノートが無さげなのですがロードマップはgitHubで公開されているようなので今後はそちらに注目するとよさそうです。

https://github.com/containers/podman-desktop/wiki/Roadmap

上記は古いのでこっちがおすすめ

https://github.com/orgs/containers/projects/2/views/1



<a id="#Chapter2"></a>
# 準備(インストール)

早速インストールしてみましょう。
実行環境はWin/Mac/LinuxでPodmanが4.xであることです。ダウンロードは[こちら](https://podman-desktop.io/downloads)から。私はMacなので、brewか.dmgが利用できます。PodmanEngine同様Armにも対応してます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/e4faa4a5-fa71-e6d7-f8bb-97574201355f.png)

```
> brew install podman-desktop
```

brewの場合アーキテクチャ判定がされるのでおそらくそのままでいいはず。(うろ覚えですが特に設定した記憶なし)
ちなみにこの時点でPodmanEngineが入っていない場合は、合わせてインストールされるようです。
私は前回入れていたのでそのまま完了しました。

インストールが完了して起動するとこんな感じ。Podmanが見つからない場合はinstallボタンがでるのでそこからinstallします。小難しい設定なしでも普通に動かせるのはいいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/ded35da7-fd3d-0bcf-cfe0-246ecc08d889.png)

左側のメニューはこんなかんじ。すでにPodmanで作成しているものがある場合はそれらも読み込まれます。
(※私の環境ではたまにここが機能しなくなる場合がありました。スリープ後とか長時間開けている場合認識しなくなったので、もし同じ現象が出た場合はMac再起動で直りました。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/a1d1c502-7758-7e92-d2bd-1c6c0286ec5b.png)


<a id="#Chapter3"></a>
# Podの確認

以前の記事で作成したdocker-composeベースのPod(kubernetes-hybrid.yml)を動かしてみます。

https://qiita.com/toomori/items/d461e607897aa8229166

Podタブに移動してー。。。ん、ボタンの１つもない。。。コマンドがコピーできるだけ。。コンソールを使えと。。まだこの辺りは未発展なのでしょうか。今後に期待したいですが、dockerもこんな感じだった記憶があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/9aba9a32-acfb-24b0-23b6-cf29c5179616.png)

とおもったらContainer側にありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/a0c7104e-4a54-fe33-6e8f-fecd6bb71289.png)

　[Play kubernetes YAML]のボタンから

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/5f116b1d-59ad-4cea-06ba-471f679687e4.png)

作成していたYAMLをアップして[Play]を実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/9a03bd6f-9693-5d63-ee48-57aad05e4b84.png)

完成。[Done]して再びPod側に戻ると、すでに実行中のPodがあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/1f825cca-001d-8ae5-3b0c-51202f942e4a.png)

Podメニューを選択すると、Podの概要が確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/f64d5a55-1efb-82f9-cac7-d91af480f586.png)

右上のメニューから他にKubernetesへのデプロイと、Podの起動/停止/破棄あたりができそうです。コマンド代わりくらいの感じです。

ImageとVolumeもそれぞれのタブをみると作られているのがわかります。（日時が変なのが気になるものの...これは私の環境のせいだとおもいます)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/c000595f-143a-41c4-b065-167ac552fdae.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/bd7b5588-39c1-1aa0-d6b0-378a5cd00f2e.png)

ContainersをみるとPodに紐づくContainerがネストされているので非常にわかりやすいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/2b98eb17-3335-c96d-4f16-50134f822d4a.png)

Containerを選択すると詳細画面がひらきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608370/544910bd-fe29-882e-5432-8c7d3c0c3fdf.png)

Logの確認やターミナルがさわれるのでちょっとしたデバッグにも便利そうです。メモリ/CPUが表示されているのはGoodです。

<a id="#Chapter4"></a>
# まとめ

PodのYAMLから実際にPodを動かして、Podman Desktopからその情報を参照することができました。Podを視覚的に簡単に参照できるのは非常に便利だと感じました。特にログやコンソールへのアクセスが手間にならないのはすごくいいと思います。

PodmanにもDesktop環境が用意されたことで、~~ますますDockerに似てきました~~使いやすくなりましたが、Pod現状ではこまかいオプションが必要な場合などは直接コンソールからのコマンドが必須です。現時点ではPodman Desktopはあくまでも補助ツールといった感じでの立ち位置で利用するのが良さそうです。


<a id="#reference"></a>
# 参考文献
- [Podman Desktopを触ってみる](https://tech.virtualtech.jp/entry/2022/08/26/142740)
- [Podman Desktop](https://podman-desktop.io/)