2017-04-26 9 views
0

私は(このlink.yaml用のファイルを参照してください)直接ドッキングウィンドウ・ファイルを使用してminikube経由でローカルkubernetessocketclusterscc-brokerscc-stateのためのサービスを展開して作成しました。また、同じクラスタ内でingressのサービスを作成しました。これは、前述のリンクに提供されている.yamlファイルです。私が知る限り、これらのサービスはデフォルトでClusterIPタイプです。展開ローカル

サービスの展開は、VM(ミニキューブ)上で適切に動作しています。 ステータスは

  • ポッド

  • 展開にKubernetesダッシュボード上で動作しているに設定されている

しかし、私が直面しています問題は、SCC-状態から露出は公共のエンドポイントが存在しないということです、scc-broker、socketclusterサーバー。 現在、私はどのように外部(つまり、ミニキューブ上で実行されている)の外部のサービスにアクセスするのか理解できません。

画像はkubernetes ymlファイルから直接作成され、入力TLSセキュリティは無効になっています。

ホストマシンのsocketclusterにアクセスする方法については、何も分かりません。このタイプを使用するとサービスがクラスタ内でのみ公開されることが保証されていることがわかっているので、サービスタイプをClusterIP以外のタイプに指定する必要があります。しかし、私の疑問は、私がingressを使用している場合、それはVM外のサービスにアクセスするのに役立つはずであるということです。 NGINXのように別にingress controllerが必要ですか?

いずれのリードも高く評価されます。

ありがとうございます!

P.S.続いてthisの導入ガイドをご覧ください。

答えて

1

Kubernetesは、具体的な指示がない限り、プライベートコンテナネットワークの外部には何も公開しません。

  • がクラウドサービスに添付された公開IPを取得するためにtype: LoadBalancerServiceを使用しているを行うための一般的な方法。
  • type: NodePortを使用して、各ノードのパブリックネットワーク上のポートを公開してください。これは、ミニコン(https://github.com/kubernetes/minikube#networking
  • でコンテナネットワークをスキップし、ホストネットワーク(たとえば、ノード自体と同じIPを共有する)を使用して、ポッドを作成してください()。これは、非常に特殊な状況を除いて、前の2つのオプションより一般的にはあまり役に立ちません。

Ingressリソースは外部接続に関連していません。イングレスコントローラーが導入されている場合は、作成するIngressリソースを使用して構成します。たとえば、nginx-ingress-controller(https://github.com/kubernetes/ingress/tree/master/controllers/nginx)は、Ingressのnginx設定でserverブロックを基本的に作成します。しかし、入口コントローラ自体は、Servicetype: LoadBalancerまたはtype: NodePort)を使用して外部ネットワークにさらされる必要があります。

+0

だから、それは.. ..?私がNodePortタイプとして 'kubernetes'にサービスを入れただけでは、入口/入口コントローラサービスは必要ありません。 – Roshan

+0

これは正しいです。サービスを 'type:NodePort'として設定すると、基礎となるポッドはミニキューブ(例:192.168.99.1)のIPに公開されます – coreypobrien

+0

ありがとう@coreypobrien! – Roshan

1

ミニチュアのドキュメントhttps://github.com/kubernetes/minikube#quickstartに従うと、Servicetype: NodePortで作成するように指示されます。

kubectl get servicesを実行してサービスに割り当てられたIP番号を検索し、minikube ipを使用して、minikube VMのIPアドレスを検索します。次に、これらの2つを組み合わせて、ラップトップからサービスにアクセスします。

+0

あなたのレスポンスに感謝しますが、私が間違っていると私のサービスを外部の世界に公開するためにイングレスコントローラを使用している場合、clusterIP/NodePortとしてサービスを入れることは効果がありません。 – Roshan

関連する問題