- 発売日:2025/06/05
- 出版社:技術評論社
- ISBN:9784297148997
目次
第1章イントロダクション
1-1 本書の目的と概要
1-2 対象読者
1-3 本書の読み方
1-3-1 本書の構成
1-4 使用する環境とソフトウェア
1-4-1 AWS環境における準備
1-4-2 PC環境における準備
1-5 注意点
1-6 本書のリポジトリとサポートページ
1-7 まとめ
第2章Dockerネットワークの要素技術
2-1 Dockerネットワークの全体像と技術
2-1-1 Dockerの基本操作
2-1-2 Dockerの基本的なネットワーク構成と要素技術
2-1-3 まとめ
2-2 インターネットの通信の全体像
2-2-1 ネットワークの階層構造
2-2-2 プロトコルと通信の流れ
2-2-3 IPアドレスとMACアドレスのしくみ
2-2-4 ブリッジ、スイッチ、ルータとルーティング
2-2-5 Dockerコンテナの通信
2-2-6 通信フローのまとめ
2-3 VXLAN
2-3-1 VLANとは
2-3-2 VXLANとは
2-3-3 VXLANの特徴
2-3-4 VXLAN環境の構築
2-3-5 DockerとVXLAN
2-3-6 まとめ
2-4 Network Namespace
2-4-1 Network Namespaceとは
2-4-2 vethを使ったnetnsの通信
2-4-3 netnsを使った独自ネットワークの構築
2-4-4 まとめ
2-5 iptables
2-5-1 iptablesとコンテナ
2-5-2 iptablesの基本的な要素
2-5-3 チェインの流れ
2-5-4 Dockerにおけるiptablesの設定
2-5-5 まとめ
第3章 Dockerネットワークのしくみ
3-1 Dockerのネットワーク構成
3-1-1 Dockerインストール時のネットワーク構成
3-1-2 コンテナ起動時のネットワーク構成
3-1-3 まとめ
3-2 Dockerネットワークドライバ
3-2-1 ネットワークドライバの種類
3-3 ログからわかるコンテナ間の通信
3-3-1 事前準備
3-3-2 通信経路のトレース
3-3-3 まとめ
3-4 ログからわかるコンテナ外部との通信
3-4-1 事前準備
3-4-2 通信経路のトレース
3-4-3 まとめ
3-5 マルチホストネットワークの構築
3-5-1 独自ネットワークの構築
3-5-2 マルチホストを実現するネットワークプラグイン
3-5-3 オーバレイネットワークのしくみ
3-5-4 オーバレイネットワークの構築
3-5-5 まとめ
3-6 チャットアプリ開発を通じた実践的なネットワーク構築
3-6-1 全体像
3-6-2 コードの用意
3-6-3 Dockerfileの作成
3-6-4 コンテナのビルド
3-6-5 各コンテナの起動
3-6-6 チャット実施
3-6-7 まとめ
第4章 Kubernetesネットワークのしくみ
4-1 Kubernetesネットワークの全体像
4-1-1 Kubernetesとネットワーク
4-1-2 Kubernetesの特徴
4-1-3 Kubernetesのコンポーネント
4-1-4 Kubernetesのネットワーク
4-1-5 まとめ
4-2 Kubernetesの環境構築
4-2-1 minikubeを用意
4-2-2 アプリを用意
4-2-3 Docker環境を切り替え
4-2-4 コンテナイメージをビルド
4-3 Podの通信のしくみ
4-3-1 Pod内の通信
4-3-2 Pod間の通信
4-3-3 ノードとPodの通信
4-3-4 まとめ
4-4 Serviceのしくみ
4-4-1 事前準備
4-4-2 Serviceとは
4-4-3 ClusterIP
4-4-4 NodePort
4-4-5 LoadBalancer
4-4-6 ルーティングと負荷分散
4-4-7 名前解決
4-4-8 まとめ
4-5 Ingressのしくみ
4-5-1 Ingressとは
4-5-2 環境構築
4-5-3 Ingressの設定方法
4-5-4 Ingress Controllerと裏側のしくみ
4-5-5 まとめ
4-6 リソースを適用するときの各コンポーネントの動き方
4-6-1 Kubernetesのコンポーネント
4-6-2 事前準備
4-6-3 Deploymentが生成されるまでの流れ
4-6-4 Serviceが生成されるまでの流れ
4-6-5 まとめ
第5章 CNI(Container Network Interface)
5-1 CNIのしくみ
5-1-1 Kubernetesにおけるネットワークの要件
5-1-2 CNIとは
5-1-3 設定ファイル
5-1-4 環境変数
5-1-5 まとめ
5-2 CNIプラグインの裏側のしくみ
5-2-1 CNIプラグインを支えるバックエンド技術
5-2-2 代表的なCNIプラグイン
5-2-3 Calicoを使ったネットワーク環境の構築
5-2-4 まとめ
5-3 Network Policy
5-3-1 Network Policyとは
5-3-2 podSelector
5-3-3 namespaceSelector
5-3-4 Selectorの組み合わせ
5-3-5 Network Policyのしくみ
5-3-6 まとめ
第6章 サービスメッシュを支える技術
6-1 サービスメッシュとIstio
6-1-1 サービスメッシュとは
6-1-2 Istioとは
6-1-3 Istioのアーキテクチャ
6-1-4 サイドカーとサイドカーフリー
6-1-5 まとめ
6-2 Istioの使い方としくみ
6-2-1 環境構築
6-2-2 サンプルアプリの起動
6-2-3 クラスタ外部からのアクセス許可
6-2-4 タイムアウト
6-2-5 認証
6-2-6 Kialiによるアーキテクチャの可視化
6-2-7 まとめ
1-1 本書の目的と概要
1-2 対象読者
1-3 本書の読み方
1-3-1 本書の構成
1-4 使用する環境とソフトウェア
1-4-1 AWS環境における準備
1-4-2 PC環境における準備
1-5 注意点
1-6 本書のリポジトリとサポートページ
1-7 まとめ
第2章Dockerネットワークの要素技術
2-1 Dockerネットワークの全体像と技術
2-1-1 Dockerの基本操作
2-1-2 Dockerの基本的なネットワーク構成と要素技術
2-1-3 まとめ
2-2 インターネットの通信の全体像
2-2-1 ネットワークの階層構造
2-2-2 プロトコルと通信の流れ
2-2-3 IPアドレスとMACアドレスのしくみ
2-2-4 ブリッジ、スイッチ、ルータとルーティング
2-2-5 Dockerコンテナの通信
2-2-6 通信フローのまとめ
2-3 VXLAN
2-3-1 VLANとは
2-3-2 VXLANとは
2-3-3 VXLANの特徴
2-3-4 VXLAN環境の構築
2-3-5 DockerとVXLAN
2-3-6 まとめ
2-4 Network Namespace
2-4-1 Network Namespaceとは
2-4-2 vethを使ったnetnsの通信
2-4-3 netnsを使った独自ネットワークの構築
2-4-4 まとめ
2-5 iptables
2-5-1 iptablesとコンテナ
2-5-2 iptablesの基本的な要素
2-5-3 チェインの流れ
2-5-4 Dockerにおけるiptablesの設定
2-5-5 まとめ
第3章 Dockerネットワークのしくみ
3-1 Dockerのネットワーク構成
3-1-1 Dockerインストール時のネットワーク構成
3-1-2 コンテナ起動時のネットワーク構成
3-1-3 まとめ
3-2 Dockerネットワークドライバ
3-2-1 ネットワークドライバの種類
3-3 ログからわかるコンテナ間の通信
3-3-1 事前準備
3-3-2 通信経路のトレース
3-3-3 まとめ
3-4 ログからわかるコンテナ外部との通信
3-4-1 事前準備
3-4-2 通信経路のトレース
3-4-3 まとめ
3-5 マルチホストネットワークの構築
3-5-1 独自ネットワークの構築
3-5-2 マルチホストを実現するネットワークプラグイン
3-5-3 オーバレイネットワークのしくみ
3-5-4 オーバレイネットワークの構築
3-5-5 まとめ
3-6 チャットアプリ開発を通じた実践的なネットワーク構築
3-6-1 全体像
3-6-2 コードの用意
3-6-3 Dockerfileの作成
3-6-4 コンテナのビルド
3-6-5 各コンテナの起動
3-6-6 チャット実施
3-6-7 まとめ
第4章 Kubernetesネットワークのしくみ
4-1 Kubernetesネットワークの全体像
4-1-1 Kubernetesとネットワーク
4-1-2 Kubernetesの特徴
4-1-3 Kubernetesのコンポーネント
4-1-4 Kubernetesのネットワーク
4-1-5 まとめ
4-2 Kubernetesの環境構築
4-2-1 minikubeを用意
4-2-2 アプリを用意
4-2-3 Docker環境を切り替え
4-2-4 コンテナイメージをビルド
4-3 Podの通信のしくみ
4-3-1 Pod内の通信
4-3-2 Pod間の通信
4-3-3 ノードとPodの通信
4-3-4 まとめ
4-4 Serviceのしくみ
4-4-1 事前準備
4-4-2 Serviceとは
4-4-3 ClusterIP
4-4-4 NodePort
4-4-5 LoadBalancer
4-4-6 ルーティングと負荷分散
4-4-7 名前解決
4-4-8 まとめ
4-5 Ingressのしくみ
4-5-1 Ingressとは
4-5-2 環境構築
4-5-3 Ingressの設定方法
4-5-4 Ingress Controllerと裏側のしくみ
4-5-5 まとめ
4-6 リソースを適用するときの各コンポーネントの動き方
4-6-1 Kubernetesのコンポーネント
4-6-2 事前準備
4-6-3 Deploymentが生成されるまでの流れ
4-6-4 Serviceが生成されるまでの流れ
4-6-5 まとめ
第5章 CNI(Container Network Interface)
5-1 CNIのしくみ
5-1-1 Kubernetesにおけるネットワークの要件
5-1-2 CNIとは
5-1-3 設定ファイル
5-1-4 環境変数
5-1-5 まとめ
5-2 CNIプラグインの裏側のしくみ
5-2-1 CNIプラグインを支えるバックエンド技術
5-2-2 代表的なCNIプラグイン
5-2-3 Calicoを使ったネットワーク環境の構築
5-2-4 まとめ
5-3 Network Policy
5-3-1 Network Policyとは
5-3-2 podSelector
5-3-3 namespaceSelector
5-3-4 Selectorの組み合わせ
5-3-5 Network Policyのしくみ
5-3-6 まとめ
第6章 サービスメッシュを支える技術
6-1 サービスメッシュとIstio
6-1-1 サービスメッシュとは
6-1-2 Istioとは
6-1-3 Istioのアーキテクチャ
6-1-4 サイドカーとサイドカーフリー
6-1-5 まとめ
6-2 Istioの使い方としくみ
6-2-1 環境構築
6-2-2 サンプルアプリの起動
6-2-3 クラスタ外部からのアクセス許可
6-2-4 タイムアウト
6-2-5 認証
6-2-6 Kialiによるアーキテクチャの可視化
6-2-7 まとめ
