Learn Kubernetes Basics 終えた【Scale Your App】
Kubernetes のチュートリアル Learn Kubernetes Basics を一通りやったので、軽くメモした内容を書いておきます。
前回の記事はこれ。
Scale Your App
ここでは次のことを学ぶ。
- kubectl を使ったアプリケーションのスケーリング
Scaling an application
今までのチュートリアルでは、Pod は一つだけだった。しかし、実際にサービスとして運用する際にトラフィックが増えると、ユーザーの需要に対応するためにアプリケーションを拡張する必要がある。
スケーリングとは、配置内のレプリカの数を変更すること。
Scaling overflow
Deployment をスケールアウトすると、新しい Pod が作成され、使用可能なリソースを持つ Node にスケジュールされる。スケーリングすると、Pod の数が増えて期待する状態になる。Kubernetes も Pod の自動スケーリングをサポートしているが、チュートリアルの範囲外らしい。
プリケーションの複数のインスタンスを実行するには、トラフィックをそれらすべてに分散させる方法が必要になる。そのために、公開された全ての Pod にはネットワークトラフィックを分散する統合ロードバランサがある。サービスはエンドポイントを使用して実行中の Pod を継続的に監視し、トラフィックが使用可能な Pod にのみ送信されるようにする。
アプリケーションの複数のインスタンスを実行すると、ダウンタイムなしでローリングアップデートを実行できる。これは次の記事で。