@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Kubernetes実践ガイド」を読んだ

GW最後の日に無事読み終えれた。

第1部 Kubernetes の基礎知識
第2部 クラウドネイティブアプリケーションの開発・運用

クラウドネイティブアプリケーションについての本だと思う。タイトルにも「クラウドネイティブアプリケーションを支える技術」と入っている。それを実現するための手段として、この本ではコンテナと Kubernetes を紹介している。

第1章ではそもそもクラウドネイティブアプリケーションとはなんぞやということの説明がされている。その中で技術の一つとしてコンテナオーケストレーションの話が出てくる。その後第2章では、コンテナを支えている要素技術についてと Kubernetes の概要が説明されている。

第3章と第5章では Kubernetesアーキテクチャとそれぞれのオブジェクトについての詳しい説明がされている。コンポーネント、オブジェクトについて図付きで説明されていてわかりやすかった。また、認証認可などについても詳しく説明されていてとても勉強になった。

飛ばしていた第4章では、 kubeadm を使っての構築、 AKS での構築方法が書かれている。

ここまでが第1部。


第2部では Kubernetes エコシステムを使うことで、クラウドネイティブアプリケーションを開発、管理するための方法が実例つきで紹介されている。ここが、他の本ではあまり無いところだと思っている。 Kubernetes についての解説がされている本はいっぱいあるが、構築した Kubernetes の上でアプリを上手く動かすかについて書かれているものは少ない気がする。

第6章ではコンテナを単体で動かすのではなく、カタログとしてまとめて動かすために Helm と Operator について紹介されている。第7章と第8章では継続的インテグレーション・継続的デリバリーについての定義、説明がされている。たくさんのツールが紹介されているのでそれぞれを触ってみたいとは思っている。

特に第8章では Spinnaker の説明と構築方法、 Blue/Green デプロイメント、 Canary デプロイメントの実例が載っている。他のツールを使うとしてもこの流れは知っておいて損はないと思う。

最後の章ではコンテナと Kubernetes を導入することでアプリケーションがマイクロサービス化されるので、マイクロサービスの課題の対策手法としてサービスメッシュが紹介されていて、その中でも Istio を実際に使った例が紹介されている。さらに、システムの耐障害性を高めるためのプラクティスとしてカオスエンジニアリングが、サービス間通信の流れを追うための手法として分散トレーシングが紹介されている。この辺は見えるようになると楽しそうだなと思っている。

まとめ

  • なんで Kubernetes 使うんだっけってことと向き合えそう
  • Kubernetes についてまとまっているが、 Kubernetes エコシステムについても勉強できる
  • クラウドネイティブアプリケーション勉強になった

Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps