Slide 1

Slide 1 text

30分で分かる Podmanイン・アクション 2024/1/15 田中司恩/Tanaka Shion(@tnk4on) インフラエンジニアBooks

Slide 2

Slide 2 text

インフラエンジニアBooks Podmanイン・アクション 自己紹介 ● 田中 司恩(タナカ シオン) / @tnk4on ○ https://tnk4on.github.io/ ● Red Hatのソリューションアーキテクト。Red Hatへの転職と同時に福岡 に移住。 ● 大阪芸術大学音楽工学コース卒。在学中よりメディア・アート、サウンド ・アート作品の制作を行う。 ● コンテナに興味を持ち、OpenShiftやPodmanに関する情報をブログ、雑 誌/書籍に多数投稿。「Podmanイン・アクション」の著者の1人。 ● 2020年頃よりPodmanコミュニティに参加、PR/Issue/翻訳などを行い、 Podmanの日本語情報発信を積極的に展開中。 ● 最近はPodmanを推す人 Podmanの非公式Xアカウント https://x.com/podman_jp

Slide 3

Slide 3 text

インフラエンジニアBooks Podmanイン・アクション 2023年に開催したPodman関連のイベント ● Podmanハンズオン(2023/10/17開催) ● Podmanスペシャルイベント(2023/11/16開催) ○ イベントページ / アーカイブ ● CNDTスペシャル - 次世代コンテナランタイム Podmanを体験(12/8開催) ● Red Hat OpenShift Platform 入門編ハンズオンワークショップ(12/14開催) OpenShift Slack https://bit.ly/openshiftjp-slack coming soon!👉

Slide 4

Slide 4 text

インフラエンジニアBooks Podmanイン・アクション 目次 自己紹介 ・・・・・・・・・・・・・・・・・・・・・・・・・・ 002 事前アンケート ・・・・・・・・・・・・・・・・・・・・・・003 Part 1 Podmanについて ・・・・・・・・・・・・・・・・・・・・・006 Part 2 原著と翻訳本について ・・・・・・・・・・・・・・・・・ 014 Part 3 書籍の見どころ ・・・・・・・・・・・・・・・・・・ ・ ・ ・019 Part 4 Podmanの参考情報 ・・・・・・・・・・・・・・・・・・ ・032

Slide 5

Slide 5 text

インフラエンジニアBooks Podmanイン・アクション 事前アンケート(n=91)

Slide 6

Slide 6 text

Part 1 Podmanについて

Slide 7

Slide 7 text

インフラエンジニアBooks Podmanイン・アクション Part 1 Podmanとは “Podman (POD マネージャー) は、Linux® システム上で コンテナを開発、管理、実行するための オープンソース ツールです。Red Hat® のエンジニアがオープンソース ・コミュニティと共に開発した Podman は、libpod ライ ブラリを使用してコンテナエコシステム全体を管理しま す。 “ “アーキテクチャがデーモンレスで包括的であることか ら、Podman はコンテナ管理の選択肢として、より安全 で利用しやすいものとなっています。また、開発者は Buildah や Skopeo などの付属のツールと機能を使用し て、コンテナ環境をニーズに合わせてカスタマイズする ことができます。 “ インフラエンジニアBooks Podmanイン・アクション https://www.redhat.com/ja/topics/containers/what-is-podman podman desktop

Slide 8

Slide 8 text

インフラエンジニアBooks Podmanイン・アクション Part 1 Podmanとは ● コンテナを構築、管理、実行する次世代のコンテナエンジン ● Open Container Initiative(OCI)を標準フォーマットとして採用 ● Dockerとの互換性(コマンドライン、Dockerイメージ、Compose、 Docker互換API、など) ● Red Hatの開発チームを中心にOSSで開発 ● Fedora/CentOS/RHEL 系 Linux ディストリビューションに同梱 ○ RHEL8 以降、OS 同梱のコンテナエンジンが Docker から Podman に変更(RHEL 8 以降はDocker非サポート) ○ Red Hat 製品の中ではPodmanが多く使われる ● Linuxだけでなく、macOS、Windowsでも使用可能 インフラエンジニアBooks Podmanイン・アクション

Slide 9

Slide 9 text

インフラエンジニアBooks Podmanイン・アクション Part 1 Podmanのその他の特徴 ● デーモンレス ● Fork & Execモデル ● ルートレス実行前提の設計 ● systemdとの連携 ● 各種動作をきめ細かくカスタマイズ可能 ● Kubernetesと互換のあるPod ● 標準OSとしてのRHEL ● Podmanの関連ツール(Buildah、Skopeo) etc… インフラエンジニアBooks Podmanイン・アクション

Slide 10

Slide 10 text

インフラエンジニアBooks Podmanイン・アクション Part 1 DockerとPodmanの違いを例えると… コカコーラとペプシコーラ どちらも炭酸飲料という点では同じ

Slide 11

Slide 11 text

インフラエンジニアBooks Podmanイン・アクション Part 1 Docker互換のコマンドライン ● podman run:コンテナを実行 ● podman build:コンテナイメージをビルド(作成)する ● podman images:ローカルにあるコンテナイメージをリスト表示する ● podman rmi:指定したローカルのコンテナイメージを削除する ● podman pull:コンテナレジストリからコンテナイメージをプル(取得)する ● podman push:コンテナレジストリにコンテナイメージをプッシュ(保存)する etc… alias docker=podman

Slide 12

Slide 12 text

インフラエンジニアBooks Podmanイン・アクション Part 1 開発から実稼働環境まで柔軟なインターフェースを提供 RESTful API systemd Quadlet * podmanはKube APIの多くをサポートしています https://docs.podman.io/en/latest/markdown/podman-kube-play.1.html RHEL system role (Ansible) Kubernetes* podman desktop Command Line Interface (CLI) Dev Prod Web Console (cockpit-podman)

Slide 13

Slide 13 text

インフラエンジニアBooks Podmanイン・アクション Part 1 エッジ Podmanの適用箇所オーバービュー (シングルノード) インフラ運用 開発 ローカル検証 リモート検証 (シングルノード) ローカル開発 リモート開発 (シングルノード) (シングルノード) 本番実行(可用性が不要なアプリ) HPC環境 アプリ追加が制限された セキュアな環境でのコンテナ実行 (HPCクラスター) (クラスター) (シングルノード) 本番実行 (可用性が不要なアプリ) エッジ向けに構成した RHEL /Kubernetes

Slide 14

Slide 14 text

Part 2 原著と翻訳本について

Slide 15

Slide 15 text

インフラエンジニアBooks Podmanイン・アクション Part 2 原著「Podman in Action」と著者Daniel(Dan) Walsh 原著: Podman in Action (Manning Publications) * 著者: Daniel Walsh ** ● 元 SELinux のメイン開発者 (セキュリティの専門家) ● Podman の生みの親Red Hat でコンテナツールの開発をリード (原著は電子書籍で無料で読めます ***) インフラエンジニアBooks Podmanイン・アクション * https://www.manning.com/books/podman-in-action ** https://www.redhat.com/en/authors/dan-walsh *** https://rheb.hatenablog.com/entry/podman-in-action

Slide 16

Slide 16 text

インフラエンジニアBooks Podmanイン・アクション Part 2 翻訳本「Podmanイン・アクション」 ● 翻訳にあたりFedora 38 + Podman v4.5.1でコマンド出力を全て取り直し ○ 原著はFedora 35 + Podman v4.1がベース ● 本文や図表も該当のバージョンの内容に変更 ● 原著のミスなどの修正だけでなく、翻訳にあたり意訳が必要だったり記述の 意図が読み取りにくい部分は逐次著者に確認を実施。 ○ 翻訳において必要な部分は訳註として追記 ● ローカリゼーションチームが参加したことで、短期間にもかかわらず翻訳の 質をあげることができた インフラエンジニアBooks Podmanイン・アクション “本書は日本語で読めるPodmanの決定版書籍”

Slide 17

Slide 17 text

インフラエンジニアBooks Podmanイン・アクション Part 2 物理本の特徴 ● サイズ:B5変形版 ● ページ数:376ページ ● 帯の機能比較表 ● カバー裏のコマンドクイックリファレンス

Slide 18

Slide 18 text

インフラエンジニアBooks Podmanイン・アクション Part 2 翻訳チームと翻訳プロジェクト 2022-12 英語版出版 2023-04 翻訳開始 2023-07-04 初稿完成 2023-08-30 入稿 2023-09-16 販売開始 v4.4 Podman version v4.5 v4.6 v4.7 AAMT 2023, Tokyo ~機械翻訳の今と未来を探る~(AAMT2023) 配布資料より抜粋 Red Hat社内で有志を募って翻訳を開始 ● コンサルタント (3名) ● テクニカルセールスエンジニア (2名) ● サポートエンジニア (3名) ● 翻訳者 (3名) エンジニアが翻訳し、翻訳者がレビューする ● エンジニア:担当外の詳しい翻訳内容 ● 翻訳者:全体 + 用語・表現を統一

Slide 19

Slide 19 text

Part 3 書籍の見どころ

Slide 20

Slide 20 text

インフラエンジニアBooks Podmanイン・アクション Part 3 本書で学べること ● DockerとPodmanのアーキテクチャー、思想の違い ● コマンドの実行元OSがFedoraなのでLinuxについての知識が増える ○ コンテナの基本はLinux ● Podmanの基礎的なコマンドから高度な内容まで順番に紹介しており、 チュートリアルとして使用できる ○ コマンド例を使用したPodmanハンズオンを個人的に作成 ● ルートレスやコンテナセキュリティに関する詳細な解説 ○ ルートレスやコンテナセキュリティについて本質的に学べる ○ 困った時に辞書的に使える

Slide 21

Slide 21 text

インフラエンジニアBooks Podmanイン・アクション Part 3 本書の構成 Chapter タイトル Chapter 1 次世代コンテナエンジンPodman Chapter 2 コマンドライン Chapter 3 ボリューム Chapter 4 Pod Chapter タイトル Chapter 5 カスタマイズと設定ファイル Chapter 6 ルートレスコンテナ Part 1 基礎 Part 2 設計 Chapter タイトル Chapter 7 systemdとの統合 Chapter 8 Kubernetesとの連携 Chapter 9 サービスとしてのPodman Chapter タイトル Chapter 10 コンテナ隔離におけるセキュリティ Chapter 11 その他のコンテナセキュリティに関す る考慮事項 Part 3 高度なトピック Part 4 コンテナのセキュリティ

Slide 22

Slide 22 text

インフラエンジニアBooks Podmanイン・アクション Part 3 本書の構成 Chapter タイトル Appendix A Podman関連のコンテナツール Appendix B OCIランタイム Appendix C Podmanの入手 Appendix D Podmanへの貢献 Appendix E macOSでPodmanを使用する Appendix F WindowsでPodmanを使用する Appendix 付録 ※ 本書ではPodman Desktopの記述はありません (原著執筆時点でPodman Desktopは開発中であったため)

Slide 23

Slide 23 text

インフラエンジニアBooks Podmanイン・アクション Part 3 コンテナ、Podmanの基礎 <本書 p.12より抜粋> <本書 p.37より抜粋>

Slide 24

Slide 24 text

インフラエンジニアBooks Podmanイン・アクション Part 3 DockerとPodmanのアーキテクチャーの違い <本書 p.21より抜粋> <本書 p.22より抜粋>

Slide 25

Slide 25 text

インフラエンジニアBooks Podmanイン・アクション Part 3 Dockerにおける短縮名の扱い <本書 p.67より抜粋>

Slide 26

Slide 26 text

インフラエンジニアBooks Podmanイン・アクション Part 3 PodmanのPodの解説 <本書 p.94より抜粋> <本書 p.100より抜粋>

Slide 27

Slide 27 text

インフラエンジニアBooks Podmanイン・アクション Part 3 レジストリの設定ファイル <本書 p.120より抜粋> <本書 p.121より抜粋>

Slide 28

Slide 28 text

インフラエンジニアBooks Podmanイン・アクション Part 3 PodmanサービスとPodmanのリモート接続 <本書 p.219より抜粋> <本書 p.220より抜粋>

Slide 29

Slide 29 text

インフラエンジニアBooks Podmanイン・アクション Part 3 コンテナのセキュリティ <本書 p.236より抜粋> <本書 p.240より抜粋>

Slide 30

Slide 30 text

インフラエンジニアBooks Podmanイン・アクション Part 3 本書はこういう人にオススメ ● これからコンテナを始めてみようと思う初心者の方 ● Dockerを普段使っているが、難しい部分は抽象化してなんとなく使ってい る方 ● Dockerとは違う観点からコンテナについて学びたい方 ● ルートレスやコンテナセキュリティについて深掘りしたい方

Slide 31

Slide 31 text

インフラエンジニアBooks Podmanイン・アクション Part 3 (参考)Docker DesktopとPodman Desktopの違い 「Podman Advanced Pod-01:DockerからPodmanへの移行」より抜粋 Docker Engineの構成 Podman machineの構成

Slide 32

Slide 32 text

Part 4 Podmanの参考情報

Slide 33

Slide 33 text

インフラエンジニアBooks Podmanイン・アクション Part 4 Podmanの参考リンク Podmanの公式サイト、ブログ等 ● GitHubリポジトリ :https://github.com/containers/podman ● 公式サイト:https://podman.io/ ● 公式ブログ:https://blog.podman.io/ ● Podman Desktop公式サイト :https://podman-desktop.io/ ● Podman Desktop公式ブログ :https://podman-desktop.io/blog ● Red Hat Developerブログ :https://developers.redhat.com/blog ● Red Hat Blog:https://www.redhat.com/en/blog ● Enable Sysadmin(更新停止中) :https://www.redhat.com/sysadmin/ Podmanの日本語の情報 ● RHEL日本語公式ドキュメント :https://access.redhat.com/documenta tion/ja-jp/red_hat_enterprise_linux/9/h tml/building_running_and_managing_con tainers/index ● 赤帽エンジニアブログ :https://rheb.hatenablog.com/ ● Podmanリリースノート(日本語翻訳) :https://zenn.dev/tnk4on/articles/pod man-release_notes-jp ● 非公式Xアカウント :https://twitter.com/podman_jp

Slide 34

Slide 34 text

インフラエンジニアBooks Podmanイン・アクション Part 4 Podman参考情報 ● 【ウェビナー】RHEL 101(Podman編):録画 / 資料 ● 【ハンズオン】Podmanハンズオン:コンテンツ ● 【有償トレーニングと認定試験】 ○ Red Hat OpenShift Development I: Introduction to Containers with Podman | DO188 ○ Red Hat 認定スペシャリスト試験 - Containers - | EX188

Slide 35

Slide 35 text

インフラエンジニアBooks Podmanイン・アクション Part 4 Podman Advanced Pod-01:DockerからPodmanへの移行 Podmanイン・アクションの次の一冊にオススメ 「DockerからPodmanへの移行を」テーマに、移行に必要な考え方やツールの紹 介、Podman machine、Podman Desktopのアーキテクチャーについて解説 ● 第1章:DockerからPodmanへ移行する時に必要な考え方、移行を助けるツール、 移行方法 ● 第2章:Docker Composeの移行に使用するツールやコマンドの紹介、Podへの移 行方法 ● 第3章:Podman Desktopの初期設定方法、各機能の紹介、WindowsとmacOSにお けるPodman machineの仕組み ● 第4章:PodmanとDockerを同時に使えるテスト環境としてFedora CoreOSの紹 介、セットアップ方法 技術書典オンラインマーケット(推奨/PDF入手可) https://techbookfest.org/product/sCq1qpfKnLLNRzaKCEJTi9 Amazon Kindleストア https://www.amazon.co.jp/dp/B0CP8Y54CB 入手先👉

Slide 36

Slide 36 text

Thank you