Member-only story
Kubernetesのサービスディスカバリーの説明(前半)
今回はKubernetesのサービスディスカバリーについての記事をご紹介したいと思います。長いので前半と後半に分けてお送りします。前半の今回は、基本的な説明をしたいと思います。
https://nigelpoulton.com/blog/f/demystifying-kubernetes-service-discovery
私はあらゆる場所で、Kubernetesサービスディスカバリーについて混乱と疑問を引き起こすトピックの1つです。 そこで、Kubernetesサービスディスカバリーについてのこの永久保存版のガイドで、私の試みを紹介します。
この記事を2つのセクションに分けます。
•ネットワークのバックグランド
•Kubernetesサービスディスカバリーのより詳しい説明
このネットワークのバックグランドのセクションでは、サービスディスカバリーを深く理解するために必要なすべての情報が盛り込まれています。かなり基本的な情報ですので、もうこのセクションに関しては既に知識があるという方は、このセクションを飛ばして、次のセクションにうつって頂いてもかまいません。
このセクションは少し長い記事です! しかし、とても重要な内容になっていますので、ぜひ読んでみてください。
Some Kubernetes networking basics
1. Kubernetesアプリケーションは、ポッド内で実行されるコンテナー内で実行されます
2.すべてのPodは、Podネットワーク(通常はVXLANオーバーレイ)と呼ばれる同じ大規模なフラットIPネットワークに接続されます。
3.すべてのポッドには、ポッドネットワーク上で完全にルーティング可能な独自のユニークなIPアドレスがあります。
これらの3つが組み合わされて、すべてのアプリケーション(およびアプリケーションコンポーネント/サービス)は、ネットワークアドレス変換(NAT)などのネットワークマジックを必要とせずに、他のすべてのアプリケーションと直接通信できます。
Dynamic networks
アプリケーションをスケールアップすると、新しいIPを持つ新しいポッドがポッドネットワークに追加されます。 アプリケーションをスケールダウンすると、古いIPを持つ古いポッドが削除されます。 これにより、大量のチャーンが発生します。