Johnman.md

プログラミングのことや個人的なことを書きます。たぶん。

Learn Kubernetes Basics 終えた【Scale Your App】

Kubernetesチュートリアル Learn Kubernetes Basics を一通りやったので、軽くメモした内容を書いておきます。

前回の記事はこれ。

johnmanjiro13.hatenablog.com

Scale Your App

ここでは次のことを学ぶ。

  • kubectl を使ったアプリケーションのスケーリング

Scaling an application

今までのチュートリアルでは、Pod は一つだけだった。しかし、実際にサービスとして運用する際にトラフィックが増えると、ユーザーの需要に対応するためにアプリケーションを拡張する必要がある。

スケーリングとは、配置内のレプリカの数を変更すること。

Scaling overflow

Deployment をスケールアウトすると、新しい Pod が作成され、使用可能なリソースを持つ Node にスケジュールされる。スケーリングすると、Pod の数が増えて期待する状態になる。Kubernetes も Pod の自動スケーリングをサポートしているが、チュートリアルの範囲外らしい。

プリケーションの複数のインスタンスを実行するには、トラフィックをそれらすべてに分散させる方法が必要になる。そのために、公開された全ての Pod にはネットワークトラフィックを分散する統合ロードバランサがある。サービスはエンドポイントを使用して実行中の Pod を継続的に監視し、トラフィックが使用可能な Pod にのみ送信されるようにする。

アプリケーションの複数のインスタンスを実行すると、ダウンタイムなしでローリングアップデートを実行できる。これは次の記事で。