Kubernetes を勉強中なのですが、個人的に非常にためになった読み物を紹介させていただきます。
既に Kubernetes が利用できる環境上で実機確認できる読み物が多めになっています。Kubernetes の環境構築技術は対象外です。また、個人の日曜技術検証用に GCP(GoogleCloudPlatform) を使っているため、GCP 成分が多めになっています。
公式ドキュメントの Basic チュートリアル
Kubernetes を利用する上でポイントとなる知識がコンパクトにまとまっています。
- Kubernetes の特徴(コンテナオーケストレーション、ノードへのスケジューリング、セルフヒーリングなど)
- Pod、Deployment、Service といった主要な Kubernetes オブジェクト
- kubectl コマンドの使い方
- 水平スケール(スケールアウト、スケールイン)
- ローリングアップデート、ロールアウト
また、オンラインの minikube 環境でブラウザ上でターミナル操作しながら動きを確認できます。ブラウザさえあれば試せるので手軽です。
Katacoda
Kubernetes の様々なチュートリアルがあるサイトです。ブラウザ上でターミナルを操作しながら Kubernetes に関する様々な知識を学びながら、実際にオペレーションして試すことができます。
GKE(Google Kubernetes Engine) 上で試すチュートリアル
書籍『プログラマのためのGoogleCloudPlatform入門』
この本は GitHub 上でサンプルコードを公開してくれており、読者はこのコードを利用して GCP 上で実際に触りながら動きを確認できます。
以下の一連の流れを学ぶことができます。
- Kubernetes クラスタの作成
- コンテナのビルド
- Container Registry へのイメージアップロード
- Deployment により、指定レプリカ数で Pod を稼働させる
- Service により、ロードバランサからのトラフィックを Pod に転送する
- マイクロサービスのメリットを体感(ユーザに影響を与えずに、バックエンドをローリングアップデート)
Google Kubernetes Engine のドキュメント
Kubernetes の概要、特徴をざっくり知るのに有用な資料です。Kubernetes Engine は GCP のプロダクトなので、GCP 固有のことも結構書かれているのでロックイン気味ではあるのですが、環境構築の手間を省きたい場合はクラウドのマネージドサービスが便利です。
なお、Spinnaker を使ったチュートリアルもあります。Cloud Source Repository、Cloud Build、Container Registry を活用しつつ、継続的デリバリーパイプラインを構築する内容になっています。
GCP のエコシステムにおける利用
Google の方による動画、スライドがあります。開発のライフサイクルをどう構築するかであったり、セキュリティ、課金、GPU、耐障害性、スケーラビリティ、ログ収集など体系的にまとめられています。
Kubernetes Meetup Tokyo のスライド
登壇者の方たちがスライドを公開してくださっています。先進的かつ実体験に基づく知見が多く、ただただ学びを得られる資料です。