かつてPodman Desktopは、PodmanのGUI画面といった様なソフトウェアでした。必要な機能を最低限実装して、GUIで色々コンテナーを管理する様なそういったソフトウェアでした。
Podman Desktopもバージョン1.0に到達してどんな感じになったのかなと思いリリースノートを確認したところ、色々機能追加されている様な感じだったので触ってみました。
ちなみに私は普段macOSを普段使い、Podman DesktopとPodmanはHomebrewを使って導入していたので、brew upgrade
を実行することで最新版に更新できました。
OSごとのインストール方法については、公式ドキュメントをご覧ください。
https://podman-desktop.io/docs/Installationpodman-desktop.io
Podman Desktop 1.0を触ってみる
さて、Linux以外でPodmanを動かす場合、仮想マシンのなかでPodmanを動かすためにPodman Machineを動かす必要があります。以前のバージョンのPodman Machineが残っていたので、一旦削除して作り直しました。コマンドで実行する場合は次の様に実行しますが、同じ作業はGUIからボタンをぽちぽち押していくだけで可能になっています。
podman machine rm podman-machine-default podman machine init podman machine start
Podman Machine起動後の画面がこちらです。
この画面にも映り込んでいますが、OpenShift Localというのが気になります。Red Hat OpenShift Local は、最小限の OpenShift Container Platform 4 クラスターと Podman コンテナーランタイムをローカルコンピューターで実行するものです。どうやらPodman DesktopからOpenShift Localの実行が可能みたいです。
OpenShift LocalをPodman Desktopで実行してみる
実行すると、自動的にOSに対応するOpenShift Localインストーラーがダウンロードされて、インストーラーが実行されるようです。
インストール後にイニタライズ実行すると、OpenShift Localを使ってOpenShiftが自分のラップトップ上で動かせます。
インストール要件はドキュメントにある様に、対応するOSで実行する必要があります。
OpenShift Localを動かすにはシークレットキーが必要です。
シークレットキーは上記文書にも書かれていますが、Red Hat Hybrid Cloud Console の Red Hat OpenShift Local ページからダウンロードできます。アクセスするにはRed Hatアカウントが必要です(無料)。
実行中に必要なもののダウンロードが行われ、途中でシークレットキーの入力を促されます。ダウンロードしたPull Secret
ファイルの中身をコピペしてください。そうすると処理が続行されます。
この待ち時間の間、OpenShiftのコマンドラインをダウンロードしておきます。 以下からダウンロードできます。OSとアーキテクチャーを間違えないように気をつけます。
全部の処理が終わると、OpenShiftが実行されます。OpenShift稼働後の使い方については公式のドキュメント にもありますが、OpenShift Web コンソールへのアクセスしてプロジェクト(KubernetesではNamespaceの様なものの)を作って使っていくだけです。
次のように実行すると、標準設定したブラウザーでOpenShift Container Platform Web コンソールが開きます。
crc console
ログインユーザーとパスワードは、これまたドキュメントに書かれていますが、次のように実行するとでユーザーとデフォルトパスワードが表示されます。入力するとログインできます。
crc console --credentials
ラップトップにある程度システムリソースがあれば、Podman Desktopを使って簡単にOpenShiftを動かすことができるようになったわけです。 ちなみに現バージョンはApple SiliconモデルのMacでも動作するのを確認してます。
Podman Desktopで「kind」を使ってみる
さらに、kindもサポートしていました。kindは「Kubernetes in Docker」の名が示すように、DockerのコンテナーのなかでKubernetesクラスターを簡単に実行するものです。ローカルでKubernetesを動かすツールだとminikubeかkindかがよく使われるツールの代表でしょうか。Podman Desktopで使えるのはkindの方です。kind自体は、ちょっと前のバージョンでPodmanサポートしていました。
Podman Desktopで作成したkindクラスターは停止してから削除という形をとります。しばらく使うなら「停止」しておけばリソースを使い潰すことはありません。
Podman Desktop 1.0は設定からOpenShiftを動かしたり、kindを使ってセットアップしたKubernetesクラスターを動かすことが可能になっています。GUIでは最新のバージョンを動かすのみですが、kind CLIをインストールしておくことで、CLIベースでPodmanを使ったローカルのKubernetesクラスターの実行も可能になっています。コンテナベースのアプリケーション開発やテストに使うことができそうです。
まとめ
ローカルのKubernetesクラスターやOpenShift、Dockerとほぼ同じように使えるPodmanが利用できる状況になりました。今回特に取り上げませんでしたが、現在のPodmanはDocker APIをしゃべることができるので、VSCodeでDocker Desktopを使ったDev Containerを使っていたユーザーはDocker DesktopからPodmanに乗り換えるだけで同じ作業ができるようになっています。
普段のコンテナベースの開発にPoman Desktopは活躍しそうです。
これで、個人的にはもうDocker Desktopは使わなくても良いかも? とはいえ、こういったブログを書く身としてはこれからもDocker Desktopも追いかけていきます。