podmanとは
Podmanとは、RedHat社が開発したコンテナ管理ツールです。OSSで公開されていて、Red Hat Enterprise Linux/CentOS 7.6以降でパッケージが配布されています。また、ubuntuなどでもパッケージで導入することができます。
Redhatは、Dockerdやcontainerdのようなデーモンプロセスを必ず経由して使うシステムは、これらのプロセス停止により全機能が停止してしまうため危険だと主張しています。
それを避けるため、Podmanは、UNIXドメインソケットを使わずに動作します。また、systemdとの連携なども簡単に行えるようになっていたり、ユーザ毎のローカルレポジトリが利用できるようになっているなど、Linuxとの親和性がより強化されています。
なお、Podmanは、Dockerと互換性を持って作られていて、引数などの指定方法は、すべてDockerと同じです。さらに、Podの管理やKubernetesの管理用のYAMLファイルを 出力する機能が追加されています。
次は、Podmanのアーキテクチャです。
このアーキテクチャからも分るように、Podmanはコンテナ管理ツールの中に高レベルのランタイムまでを含んでいます。低レベルのランタイムとしては、runcを使います。
podmanのpod機能
podmanは、ほとんどdockerと同じコマンド体系となっていますが、Podが扱えるように機能が拡張されています。Podは、複数のコンテナをまとめて管理するための機能です。podmanのPod機能には次のような特徴があります。
- podman pod createなどでPodを作成し、podman addでコンテナを追加していく
- podman runに--podオプションを付けて起動すると自動的にPodを生成できる
- Podを作成すると管理用のコンテナであるinfraが自動的に生成される
- infraは、Pod内のリソース(公開するポート、CPUやメモリなど)を管理する
- Podのリソースは設定されると後から変更できない(変更には再生成が必要)
- Podに参加するコンテナがListenするポートは、127.0.0.1を通して他のポートから通信できる
【カテゴリ】:システム管理  仮想化  オープンソースソフトウェア  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |
関連用語
- Kubernetesとは
- Dockerとは
- runcとは
- rktとは
- Kata Containerとは
- gVisorとは
- containerdとは
- CRI-Oとは
- Podとは
- Deploymentとは
- ReplicaSetとは
- Minikubeとは
- Microk8sとは
- Dockerfileとは