私は強くあなたは何が起こっているかを熟知していることを確認するために、サービスのドキュメントで一目を取ることをお勧め:
https://kubernetes.io/docs/concepts/services-networking/service/
A Kubernetesサービスは、論理を定義する抽象概念でありますポッドのセットとそれらにアクセスするためのポリシー - マイクロサービスと呼ばれることもあります。「なし」:心とあなたが使用しているガイドのそれと
、次の点に注意してくださいCLUSTERIPに設定されているため、それ以外は
あなたはこのことを伝えることができますが、ヘッドレスサービスです、通常のKubernetesサービスとまったく同じように見えます。
だから、あなたが作成したことは、ヘッドレスサービス(無負荷バランサまたは露出したIPS)だから、
代わりにヘッドレスサービスのために与えられた構成のです:
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
name: mongo
spec:
ports:
- port: 27017
targetPort: 27017
clusterIP: None
selector:
role: mongo
何実際に欲しいものは:
apiVersion: v1
kind: Service
metadata:
name: mongo
labels:
name: mongo
spec:
ports:
- protocol: TCP
port: 27017
targetPort: 27017
selector:
role: mongo
非常に微妙ですが、 t clusterIP
プロパティは存在しません。
TCPがデフォルトであっても、完全性のためにプロトコルを指定することをお勧めします。
これは実際には役に立ちません。問題は「サービスを公開するにはどうすればよいのですか」です。答えは「サービスを公開する必要があります」です。リンクした画像は、「PetSetとは何ですか?」というセクションからのものです。それもあまり言わない。 – Adam