ISBN 9784295006633
Kubernetes実践ガイド : クラウドネイティブアプリケーションを支える技術
概要
Kubernetesでクラウドネイティブアプリケーションを設計・運用する
想定読者
KubernetesをIT基盤として業務に導入・運用するSREやクラウドエンジニア
こんな人には向いていない
- Dockerコンテナを触ったことがない完全初学者。コンテナの基礎概念が前提として求められる
- 2019年以降に追加されたKubernetes機能(Gateway API・Sidecar Containerなど)を主眼に求める読者。刊行時点のAPIセットが中心で最新差分は別途補う必要がある
- 本番クラスタを数年間にわたり自力設計・運用してきた上級者。実践経験者にとっては基礎解説の比重が相対的に大きく感じられる可能性がある
この本で身につくこと
- Pod・ReplicaSet・Deploymentのオブジェクト階層を理解し、アプリケーションのライフサイクル管理を設計できる
- ServiceとIngressを組み合わせたクラスタ内外のトラフィックルーティングを構成できる
- クラウドネイティブアプリケーションのローリングアップデート・オートスケーリング戦略を実装できる
- リソース制限・ヘルスチェック・RBACを用いたクラスタの安定運用設計の基礎を習得できる
ハイライト(外部からの言及)
Kubernetes実践ガイドは、タイトルの通りKubernetesそのものよりは、どう活用するかが多いので、試験対策としてはなくてもいいかも知れません。 — 出典
CKA受験者が完全ガイドとの対比で本書を評価。Kubernetesの内部動作より「どう活用するか」に重心があるという本書の性格が、資格試験との距離感という具体的な文脈から端的に浮かび上がっている
以下の2冊を実際にKubernetesクラスタを作って操作して勉強しました。また、やりっぱなしだとすぐに忘れてしまうので、Qiitaに自分の言葉で検証結果をまとめました。 — 出典
CKA合格者が本書(「以下の2冊」の一冊)を活用した学習サイクルを開示。実クラスタ構築+アウトプット(記事化)を組み合わせた方法論は、本書がハンズオン前提で設計されていることを傍証する
いや,冗談というのが冗談で,上述の書籍で必ず知識をつけられます。さらに、2019年12月現在は、他にも多数の書籍がリリースされているため、日本語で膨大な情報を書籍でまとまった情報として得られますね。 — 出典
CloudNativeDaysの登壇者が「Kubernetesを始めるには?」への答えとして本書を完全ガイドと対で推薦した後、ユーモアを交えながらも「必ず知識がつく」と断言した箇所。実践コミュニティ内での本書の入門書としての位置づけを示す
章立て
第1章 クラウドネイティブが目指す世界
第1部 Kubernetes基礎知識。Cloud Native Computing Foundation の文脈で本書の位置付けを示す
第2章 コンテナを支える技術
Linux Namespace / cgroups / Union FS を扱う。Docker の中身を理解する基礎章
第3章 Kubernetesのアーキテクチャ
API Server / etcd / Controller / Scheduler の関係を整理。トラブルシュート時の戻り場所
第4章 Kubernetesクラスタの構築
kubeadm等を使ったクラスタ構築手順を扱う。マネージドサービス利用時でも、ノード構成の原理を理解しておくと障害時の対処力が変わる。実習後に再読すると定着が早い。
第5章 Kubernetesオブジェクトの概要
Pod・Deployment・Service等の主要オブジェクトを横断的に概観する橋渡し章。初読では全体像把握に留め、後続章の操作を試した後に戻ると理解の定着が速い。
第6章 コンテナアプリケーションカタログ
第2部 クラウドネイティブアプリケーションの開発・運用。実装段階の指針集
第7章 継続的インテグレーション
コンテナイメージのビルド・テスト・レジストリ登録の流れを整理する。CI設計の全体感を先に掴むことで、次章の継続的デリバリへの接続がスムーズになる。
第8章 継続的デリバリ
GitOps の実装パターン。Argo CD / Flux への接続点
第9章 マイクロサービス
Service Mesh / Istio を扱う。本書の到達点で、本書1部の知識を統合する位置付け
関連記事 / 参考情報
- SREやクラウドエンジニアが読むと良さげな本まとめ — SRE・クラウドエンジニア向け実務書リスト。本書をKubernetes実践の参考書として収録
- クラウドネイティブ勉強法 (テックコミュニティ編) — クラウドネイティブ技術を体系的に学ぶロードマップ記事。本書をKubernetes実践ステップに位置づけている
- CloudNativeDays Tokyo 2019登壇までの軌跡 — カンファレンス登壇準備の学習記録。本書をクラウドネイティブ知識習得の足場として参照
- 【2020年版】k8s周りでよく使われるOSS・サービスを一言でまとめてみた — Kubernetesエコシステムのツール・サービスを俯瞰するサーベイ記事
- Certified Kubernetes Administrator (CKA)受験記録 — CKA試験対策の学習記録。本書をKubernetes知識強化の参考文献として言及
- CKA受験記 — CKA合格者による学習リソース紹介。本書を実践的なクラスタ操作習得に活用した例
学習のヒント
- 「実践ガイド」の名の通りハンズオン構成が想定されるため、minikubeまたはkindでローカルクラスタを用意しながら読み進めると定着が速い。各リソース操作をkubectlで確認する習慣が理解の厚みを大きく変える
- CKA受験を目指す場合、Pod・Service・RBAC・NetworkPolicyのリソース操作章を重点演習すると試験範囲に直結しやすい。本書をKubernetesの骨格理解に充て、kubectl実技の繰り返しを並行すると効率が上がる
- 2019年刊行のため、本書で全体像を掴んだ後は公式ドキュメント(kubernetes.io)で最新APIとの差分を確認するサイクルを持つと、バージョン間のギャップによる混乱を防げる
前提知識
- Dockerのコンテナ・イメージ・Dockerfileの基礎操作(docker build / run / push)
- Linuxコマンドの基本(ファイル操作・ネットワーク疎通確認・プロセス管理)
- クラウドプラットフォーム(AWS / GCP / Azure のいずれか)でのVM・ネットワーク設定の操作経験
次に読む本
Kubernetesの知識地図
Kubernetes実践ガイドで基本オブジェクト操作とCI/CDパイプラインの骨格を把握した後、「知識地図」ではネットワーク設計・セキュリティ強化・マルチクラスタ運用など各専門領域をトピック単位で体系的に深掘りできる。実務で課題に直面した際の辞書的活用にも適している。
SRE サイトリライアビリティエンジニアリング
本書がKubernetesのリソース操作・デプロイ戦略という技術層を扱うのに対し、Google SRE本はSLO設計・エラーバジェット・インシデント管理など運用組織のフレームワークを提供する。クラスタ技術を習得した後、チームレベルの信頼性設計へ繋げる段階で読む順序が自然。
クラウドネイティブパターン
Kubernetes実践ガイドがオーケストレーション層の操作を中心に扱うのに対し、クラウドネイティブパターンはコンテナ化アプリケーション側の設計パターン(ヘルスエンドポイント・構成の外部化・サーキットブレイカ等)を体系化する。インフラとアプリ設計を両輪で補う順序として適切。
出版社による内容紹介
本書では、クラウドネイティブに求められる背景やトレンドを押さえるとともに、「Kubernetes」やそのエコシステムを利用し、クラウドネイティブアプリケーションの実装について解説しています。Kubernetesは、コンテナを管理するコンテナオーケストレーションツールであり、これを活用することで、適切なインフラリソースの提供だけではなく、アプリケーションの開発や展開が、容易かつ動的に行える環境を構築できます。 本書の読者対象は、これからクラウドネイティブアプリケーションの開発・運用を始める方です。したがってその内容も、Kubernetesとそのエコシステムを活用したアプリケーションの開発、運用にフォーカスしています。最初にKubernetesそのものの仕組みの基礎を説明したあとは、その上で動くアプリケーションを運用するために必要なエコシステムやその活用方法に重点を置いています。 全体は、2部構成になっており、第1部では、クラウドネイティブアプリケーションを支える技術の一つとして注目される、Kubernetesの概要を紹介します。クラウドネイティブの考え方からKubernetesが提供するコンポーネントの役割まで、本書を読み進める上でのポイントを取り上げます。 第2部では、Kubernetesエコシステムを活用して、クラウドネイティブアプリケーションの開発やその上で動くアプリケーションの管理方法を紹介します。クラウドの特徴を活かしたアプリケーション開発や運用の重要性を取り上げます。 発行:インプレス
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。