:
我々は型NodePortのサービスに関する同じ質問があった:どのように我々は我々自身のホストからのノード・ポート・サービスにアクセスできますか?
@ ivan.simの回答(nodeIp:nodePort)はマークされていますが、VPCネットワーク上のファイアウォールの入力(Googleクラウドへの着信)トラフィックルールを追加しない限り、サービスにアクセスすることはできません上記のルールは危険であり、唯一の開発
中に使用する必要がありますあなたはどちらかGoogleクラウドコンソールを使用してノード・ポートを見つけることができるか、実行して、ホストが
あなたの計算ノードにアクセスできるようにすることを可能にするためのコンソールその後kubectlコマンドを実行して、コンテナを持つポッドを実行しているノードを見つけます。すなわちkubectl get pods , kubectl describe pod your-pod-name, kubectl describe node node-that-runs-you-pod
.status。アドレスは、あなたのExternalIP
は我々だけlabel/selector
を使用してポッドに私たちのコンテナを実行しているノードのIPおよびコマンドのいくつかの行を抽出することができればそれは素晴らしいことだ持っているので、ここで私たちがやったことで、この場合には、当社のセレクタはapp: your-label
です:
$ nodename=$(kubectl get pods -o jsonpath='{.items[?(@.metadata.labels.app=="your-label")].spec.nodeName}')
$ nodeIp=$(kubectl get nodes -o jsonpath='{.items[?(@.metadata.name=="'$(echo $nodename)'")].status.addresses[?(@.type=="ExternalIP")].address}')
$ echo nodeIp
予告:json path
あなたは確かとしてラベル/セレクターを取るスクリプトにこれを回すことができる:私たちはJSONパスの詳細は、参照のために、我々は必要な情報を抽出するために、JSONのパスを使用入力dはコンテナを実行しているノードの外部IPを出力します。
$ kubectl get services
をPORT(S)列の下にあなたがtagetPortのようなものが表示されます:nodePortをちょうど入力しnodeportを取得するには
。このノードポートはあなたが望むものです。
nodeIp:nodePort
これはうまくいくはずです。 'kubectl get svc' wordpressを実行すると、nodePort番号が表示されます。次に、NodeIPでサービスにアクセスできます。NodePort – sfgroups