本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

入門Kubernetes(クバネティス)

入門Kubernetes(クバネティス)

Dockerと連携して利用するデプロイ/オーケストレーションツール、Kubernetesの全体像と特徴を手軽に学べる!

コンテナの作成と実行方法とKubernetesクラスタの作成を紹介し、Kubernetesの主要コンポーネントの機能と特徴を解説します。サンプルアプリを用意しており、それを立ち上げて読み進めていく構成。順番に読み進めて、手を動かしていけば、Kubernetesの一通りの機能について学ぶことができます。
はじめに

1章 Kubernetes入門
1.1 ベロシティ
1.1.1 イミュータブルであることの価値
1.1.2 宣言的設定
1.1.3 自己回復するシステム
1.2 サービスとチームのスケール
1.2.1 分離
1.2.2 アプリケーションとクラスタの簡単なスケール
1.2.3 マイクロサービスによる開発チームのスケール
1.2.4 一貫性とスケールのための依存関係の切り離し
1.3 インフラの抽象化
1.4 効率性
1.5 まとめ

2章 コンテナの作成と起動
2.1 コンテナイメージ
2.1.1 Dockerイメージフォーマット
2.2 Dockerでのアプリケーションイメージの作成
2.2.1 Dockerfile
2.2.2 イメージのセキュリティ
2.2.3 イメージサイズの最適化
2.3 リモートレジストリへのイメージの保存
2.4 Dockerコンテナランタイム
2.4.1 Dockerでコンテナを動かす
2.4.2 kuardアプリケーションへのアクセス
2.4.3 リソース使用量の制限
2.5 後片付け
2.6 まとめ

3章 Kubernetesクラスタのデプロイ
3.1 パブリッククラウドへの Kubernetesのインストール
3.1.1 Google Kubernetes Engineへの Kubernetesのインストール
3.1.2 Azure Container Serviceへの Kubernetesのインストール
3.1.3 Amazon Web Serviceへの Kubernetesのインストール
3.2 minikubeを使ったローカルへの Kubernetesのインストール
3.3 Raspberry Piで Kubernetesを動かす
3.4 Kubernetesクライアント
3.4.1 クラスタのステータス
3.4.2 Kubernetesのワーカノードの表示
3.5 クラスタのコンポーネント
3.5.1 Kubernetes proxy
3.5.2 Kubernetes DNS
3.5.3 Kubernetesの UI
3.6 まとめ

4章 よく使う kubectlコマンド
4.1 Namespace
4.2 Context
4.3 Kubernetes APIオブジェクトの参照
4.4 Kubernetesオブジェクトの作成、更新、削除
4.5 オブジェクトの Labelと Annotation
4.6 デバッグ用コマンド
4.7 まとめ

5章 Pod
5.1 Kubernetesにおける Pod
5.2 Pod単位で考える
5.3 Podマニフェスト
5.3.1 Podの作成
5.3.2 Podマニフェストの作成
5.4 Podを動かす
5.4.1 Podの一覧表示
5.4.2 Podの詳細情報
5.4.3 Podの削除
5.5 Podへのアクセス
5.5.1 ポートフォワードの使用
5.5.2 ログからの詳細情報の取得
5.5.3 execを使用したコンテナ内でコマンド実行
5.5.4 コンテナとローカル間でのファイル転送
5.6 ヘルスチェック
5.6.1 Liveness probe
5.6.2 Readiness probe
5.6.3 ヘルスチェックの種類
5.7 リソース管理
5.7.1 リソース要求 : 必要最低限のリソース
5.7.2 limitsを使ったリソース使用量の制限
5.8 Volumeを使ったデータの永続化
5.8.1 Volumeと Podの組み合わせ
5.8.2 Volumeと Podを組み合わせる別の方法
5.8.3 リモートディスクを使った永続化データ
5.9 すべてまとめて実行する
5.10 まとめ

6章 Labelと Annotation
6.1 Label
6.1.1 Labelの適用
6.1.2 Labelの変更
6.1.3 Labelセレクタ
6.1.4 APIオブジェクト内の Labelセレクタ
6.2 Annotation
6.2.1 Annotationの定義
6.3 後片付け
6.4 まとめ

7章 サービスディスカバリ
7.1 サービスディスカバリとは
7.2 Serviceオブジェクト
7.2.1 Service DNS
7.2.2 Readiness probe
7.3 クラスタの外に目を向ける
7.4 クラウドとの統合
7.5 より高度な詳細
7.5.1 Endpoints
7.5.2 手動でのサービスディスカバリ
7.5.3 kube-proxyとクラスタ IP
7.5.4 クラスタ IP関連の環境変数
7.6 後片付け
7.7 まとめ

8章 ReplicaSet
8.1 調整ループ
8.2 Podと ReplicaSetの関連付け
8.2.1 既存のコンテナを養子に入れる
8.2.2 コンテナの検疫
8.3 ReplicaSetを使ったデザイン
8.4 ReplicaSetの定義
8.4.1 Podテンプレート
8.4.2 Label
8.5 ReplicaSetの作成
8.6 ReplicaSetの調査
8.6.1 Podからの ReplicaSetの特定
8.6.2 ReplicaSetに対応する Podの集合の特定
8.7 ReplicaSetのスケール
8.7.1 kubectl scaleを使った命令的スケール
8.7.2 kubectl applyを使った宣言的スケール
8.7.3 ReplicaSetのオートスケール
8.8 ReplicaSetの削除
8.9 まとめ

9章 DaemonSet
9.1 DaemonSetスケジューラ
9.2 DaemonSetの作成
9.3 特定ノードに対する DaemonSetの割り当ての制限
9.3.1 ノードへの Labelの追加
9.3.2 ノードセレクタ
9.4 DaemonSetの更新
9.4.1 個別の Podの削除による DaemonSetの更新
9.4.2 DaemonSetのローリングアップデート
9.5 DaemonSetの削除
9.6 まとめ

10章 Job
10.1 Jobオブジェクト
10.2 Jobのパターン
10.2.1 1回限り
10.2.2 一定数成功するまで並列実行
10.2.3 並列実行キュー
10.3 まとめ

11章 ConfigMapと Secret
11.1 ConfigMap
11.1.1 ConfigMapの作成
11.1.2 ConfigMapの使用
11.2 Secret
11.2.1 Secretの作成
11.2.2 Secretの使用
11.2.3 プライベートDockerレジストリ
11.3 命名規則
11.4 ConfigMapと Secretの管理
11.4.1 一覧表示
11.4.2 作成
11.4.3 更新
11.5 まとめ

12章 Deployment
12.1 最初の Deployment
12.1.1 Deploymentの仕組み
12.2 Deploymentの作成
12.3 Deploymentの管理
12.4 Deploymentの更新
12.4.1 Deploymentのスケール
12.4.2 コンテナイメージの更新
12.4.3 ロールアウト履歴
12.5 Deployment戦略
12.5.1 Recreate戦略
12.5.2 RollingUpdate戦略
12.5.3 サービスの正常性を確保するゆっくりしたロールアウト
12.6 Deploymentの削除
12.7 まとめ

13章 ストレージソリューションとKubernetesの統合
13.1 外部サービスのインポート
13.1.1 セレクタのないService
13.1.2 外部サービスの制限:ヘルスチェック
13.2 信頼性のある単一 Podの実行
13.2.1 MySQLの単一Podでの実行
13.2.2 動的ボリューム割り当て
13.3 StatefulSetを使ったKubernetesネイティブなストレージ
13.3.1 StatefulSetの特徴
13.3.2 StatefulSetを使った MongoDBの手動レプリケーション設定
13.3.3 MongoDBクラスタ構築の自動化
13.3.4 PersistentVolumeと StatefulSet
13.3.5 最後のポイント : Readiness probe
13.4 まとめ

14章 実用的なアプリケーションのデプロイ
14.1 Parse
14.1.1 前提条件
14.1.2 parse-serverの構築
14.1.3 parse-serverのデプロイ
14.1.4 Parseのテスト
14.2 Ghost
14.2.1 Ghostの設定
14.3 Redis
14.3.1 Redisの設定
14.3.2 Redisの Serviceの作成
14.3.3 Redisのデプロイ
14.3.4 Redis Clusterを触ってみる
14.4 まとめ

付録A Raspberry.Piを使った Kubernetesクラスタ構築
A.1 パーツ一覧
A.2 イメージの書き込み
A.3 マスタの起動
A.3.1 ネットワークのセットアップ
A.3.2 Kubernetesのインストール
A.3.3 クラスタのセットアップ
A.4 まとめ

訳者あとがき
索引