Member-only story
Kubernetesのサービスディスカバリーの説明(後半)
Kubernetesのサービスディスカバリーの説明(後半)
今回はKubernetesのサービスディスカバリーについての記事をご紹介したいと思います。長いので前半と後半に分けてお送りしています。後半の今回は、より詳しく内容を掘り下げたものになっています。主にサービスの登録についての記事となっています。
Kubernetes Service Discovery DEEP DIVE
サービスディスカバリーには関連する2つの主要なオペレーションがあります。
1.サービス登録
2.サービスディスカバリー
Service registration
サービス登録は、他のサービスがサービスを検出できるように、サービスをサービスレジストリに登録するプロセスです。
Kubernetesは、サービスレジストリにDNSを使用します。
これを可能にするために、すべてのKubernetesクラスターは、kube-systemネームスペースでポッドのセットとして実行される既知の内部DNS serviceを操作しまオペレーションします。 通常、これを「クラスターDNS」と呼びます。
すべてのKubernetes Serviceは、クラスターDNSに自動的に登録されます。
登録の手順は次の通りです。
1.新しいService設定をAPIサーバーにポストします
2.そのリクエストは認証、承認され、アドミッションポリシーの対象となります。
3.そのServiceに ClusterIP (仮想IPアドレス)が割り当てられ、クラスターストアに保持されます。
4. Serviceコンフィギュレーションがクラスター全体にばらまかれます(これについては後で詳しく説明します)
5.クラスターのDNS serviceは新しいServiceに気づき、必要なDNS Aレコードを作成します。
ステップ5は、このプロセスのsecret sauceです。 クラスターDNS serviceはCoreDNSをベースにしており、Kubernetesネイティブアプリケーションとして実行されます。 そのアプリケーションKubernetesで実行されていることを認識し、APIサーバーで新しいサービスオブジェクトに対して監視するコントローラーを実装することを意味します。…