Dockerによるコンテナ技術は、アプリケーション開発のやり方を大きく変えました。コンテナはアプリケーションの実行環境をあらかじめ用意しておけるので、再現性を持って実行結果が得られます。このコンテナを効率的に運用するため、アプリケーションのデプロイ・設定・管理を自動的に行うのがKubernetesです。
Kubernetesはコンテナ・オーケストレーション・ツールと呼ばれます。クラウド環境でコンテナを柔軟に実行する環境では、Kubernetesは欠かせない技術になってきました。この新しいコンセプトを理解するため、Kubernetesは何であるか、なぜ必要とされるのかを理解する必要があります。書籍のまとまった情報を咀嚼しながら、Web上で最新情報を追っていくと、効果的に学習が進むかもしれません。
なお、Kubernetesの読み方はクバネティス、クバネテス、クーべネティスなどがあり、その呼称からK8sと略記される場合があります。
Kubernetes 公式チュートリアル(日本語)
Kubernetes完全ガイド
おすすめ
Kubernetesのオープンソース開発に携わる等、豊富な実用経験を持つ著者による書籍で、最も評判の良い技術書の一つです。Kubernetesに初めて触れるエンジニアでも、そのコンセプトを理解し、アプリケーションをコンテナ化して実行できるのを目指します。基本的な事項を網羅している点で定評があり、図やサンプルコードも豊富に含まれます。マニフェスト管理、モニタリング、ログ集約、CI/CD(継続的デリバリー、継続的インテグレーション)、サービスメッシュといった要素も解説されています。
Kubernetes実践ガイド クラウドネイティブアプリケーションを支える技術
おすすめ
書籍名が示す通り、実践的な利用に焦点を当てたKubernetesの技術書です。前述の「Kubernetes完全ガイド」と並んで高い評価を得ており、エンジニアがKubernetesの設計をできるよう助けます。第一部ではクラウド環境でのアプリケーションの考え方やKubernetesが提供するコンポーネントの役割を解説します。次に、第二部では、クラウド環境でのアプリケーション開発とその管理方法、そして運用の重要性について述べています。
イラストでわかるDockerとKubernetes
KubernetesとDockerの仕組みを視覚的に理解することをテーマに、イラストを豊富に使って解説した一冊です。インフラエンジニア、ネットワークエンジニア、システムエンジニア等の読者向けに、そのメリットを理解するのを助けます。
しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識
わかりやすさを重視して、Kubernetesの基本的な機能とその内部動作を、図やイラストを使って丁寧に解説しています。実際に運用する場合に検討するべき、システムの可用性や拡張性、保守性について書かれているため、実践的な知識が身に付きます。マイクロソフトのAzureを例にしているのも特徴で、実際のクラウド環境を理解できるようにしています。
Docker/Kubernetes 実践コンテナ開発入門
初級者向け
アプリケーション開発者にとっては、アプリケーションを動作させるDockerと、そのDockerを自動的に管理するKubernetesの双方を理解しておくと運用が捗ります。本書は、Docker/ Kubernetesを使って実際にアプリケーションを開発する手順を解説した入門書です。GoogleやAmazonのクラウド環境に加え、オンプレミス環境でKubernetesを使うケースも想定されているのが興味深い点と言えます。
みんなのDocker/Kubernetes
現場でDocker/Kubernetesを使っている著者陣が様々な観点から解説している一冊です。Docker/Kubernetesが生まれた背景、Pod機能の利用、高速化するツールなど、実践的なノウハウが紹介されています。さらに、実例が取り上げられている点がユニークで、freee、ウォンテッドリー、サイバーエージェント、サイボウズといった先進企業における取り組みが垣間見えます。
Kubernetes on AWS~アプリケーションエンジニア 本番環境へ備える
AWS(アマゾン・ウェブ・サービス)はクラウド環境の中でも高いシェアを誇ります。AWS上での利用を前提としてKubernetesの開発・運用を解説しました。AWSでの運用を検討している、あるいは既に始めているエンジニアにとっては貴重な情報ではないでしょうか。
まとめ
Kubernetesはクラウド・アプリケーションの運用には欠かせない技術になってきました。新しいコンセプトなので、その勘所をとらえるのには時間がかかるかもしれません。評判の良い書籍も出版されるようになったため、書籍とWeb上の情報を組み合わせて、自動化されたクラウド・アプリケーションの運用に挑戦したいところです。
Docker + Kubernetes で構築する Webアプリケーション 実践講座
オンライン学習プラットフォームUdemyでも、Kubernetesを解説するコースが公開されています。本コースは、DockerとKubernetesの基本操作を学び、Webアプリケーションの環境構築へつなげる内容を含んでいます。
Docker + Kubernetes で構築する Webアプリケーション 実践講座システムの開発と運用を効果的に進めたいエンジニアに向けて、DevOpsの理論・実践からツールの活用に至るまで、様々な書籍が出版されています。短いサイクルで製品をリリースして顧客からフィードバックを頻繁に受けるため、開発計画から実装・テスト・デプロイを含めたライフサイクルを自動化して、ユーザーへの価値提供をスムーズに行うことを目指します。