[解決済み] ヘッドレスサービスとは何か、何をするのか、何を達成するのか、そしてその正当な使用例とは何か?
質問
Kubernetesについて書かれたいくつかの本から、いくつかの文章を読みました。 ドキュメントにあるヘッドレスサービスに関するページ . でも、実際に何をするのか、なぜそれを使うのか、まだよくわかりません。どなたか、この方法について、また、この方法が何をもたらすのか、そして、なぜこの方法を使うのか、よく理解されている方はいらっしゃいますか?
どのように解決するのですか?
まあ、ある程度の理論が必要なんでしょうね。公式ドキュメントを含む多くの説明がインターネット上にありますが、私はMarco Luksaが最もうまく説明したと思っています。
<ブロッククオートサービスへの各接続は、ランダムに選択された1つの バッキングポッドです。しかし、クライアントがこれらのポッドすべてに接続する必要がある場合はどうでしょうか。 ポッド バッキングポッド自体が、すべてのポッドに接続する必要がある場合はどうでしょう。 他のバッキングポッド サービスを通して接続するのは明らかに ということです。どうすればいいのでしょうか?
クライアントがすべてのポッドに接続するためには、IP を使用します。一つの方法として、クライアントが Kubernetes APIサーバーからポッドとそのIPアドレスの一覧を取得する。 しかし、APIコールを使用することで アプリがKubernetesに依存しないため、APIサーバーを使用することは理想的ではありません。
幸いなことに、KubernetesではクライアントがDNSを通じてポッドのIPを発見することができます。 ルックアップします。通常、あるサービスに対してDNSルックアップを実行すると、DNS サーバーは、サービスのクラスタIPという1つのIPを返す。しかし、もしあなたが Kubernetesは、自分のサービスにクラスタIPを必要としない(これを行うには、次のようにします。 サービス仕様でclusterIPフィールドをNoneに設定することで可能です。) DNSサーバーは単一のサービスではなく、ポッドのIPを返します。 IPを使用します。 DNSサーバーは単一のDNS Aレコードを返す代わりに、以下のようになります。 のIPを指す複数のAレコードを返します。 その時点でサービスを支えている個々のポッド。クライアントは したがって、単純なDNSのAレコード検索を行い、すべての ポッドで構成されています。クライアントはその の情報を使って、1つ、多数、またはすべてに接続することができます。
サービス仕様のclusterIPフィールドをNoneに設定すると、そのサービスは KubernetesはこのサービスにクラスタIPを割り当てないため、サービスはヘッドレスになります。 クライアントがそのバックのポッドに接続できるようにします。
Kubernetes in Action" by Marco Luksa
関連
-
[解決済み] ポッドにバインドされていないPersistentVolumeClaimsがある
-
[解決済み】Kubernetes: kubectl run: コマンドが見つかりません。
-
[解決済み] Istio Ingressで "no healthy upstream "が発生する。
-
Kubernetesジョブコントローラーのソースコード解析
-
[解決済み] kubeadm init は kubelet が実行中または健全でないことを表示します。
-
[解決済み] Pod内のコンテナを再起動する
-
[解決済み] KubernetesのClusterIP、NodePort、LoadBalancerのサービスタイプの違いとは?
-
[解決済み】"ImagePullBackOff "をデバッグするにはどうしたらいいですか?
-
[解決済み] Docker-Swarm、Kubernetes、Mesos、Core-OSフリート
-
[解決済み] Kubernetes上でファイルから生成されたシークレットを更新するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] kubernetes UnexpectedAdmissionError ロールアウト後。
-
[解決済み] Istio Ingressで "no healthy upstream "が発生する。
-
Kubernetesジョブコントローラーのソースコード解析
-
[解決済み] PodがTerminatingステータスで立ち往生している
-
[解決済み] Kubectl アップデート configMap
-
[解決済み] kubernetesで名前空間を切り替える方法
-
[解決済み] ヘッドレスサービスとは何か、何をするのか、何を達成するのか、そしてその正当な使用例とは何か?
-
[解決済み】ポッドとデプロイの違いは何ですか?
-
[解決済み] 別のネームスペースにあるサービス
-
[解決済み】kubectl apply vs kubectl create?