72

minikube では、 nodeport を使用してサービスを公開する方法は?

たとえば、次のコマンドを使用して kubernetes クラスターを開始し、次のようなポートを作成して公開します。

$ minikube start
$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
$ kubectl expose deployment hello-minikube --type=NodePort
$ curl $(minikube service hello-minikube --url)
CLIENT VALUES:
client_address=192.168.99.1
command=GET
real path=/ ....

ホストから公開されたサービスにアクセスする方法は?このポートも公開するように minikube ノードを構成する必要があると思います。

4

4 に答える 4

27

minikube は のようなもので動作します192.168.99.100NodePortしたがって、サービスを公開した場所でアクセスできるはずです。たとえば、あなたNodePortがであるとすると30080、あなたのサービスは としてアクセス可能になります192.168.99.100:30080

minikube の IP を取得するには、コマンドを実行しminikube ipます。

2017 年 9 月 14 日の更新:

これは minikube で動作する小さな例ですv0.16.0

1) 以下のコマンドを実行して、8080 で実行される nginx とそれへのNodePort svc転送を作成します。

$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
deployment "hello-minikube" created
$ kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed

2) サービスが使用するノードポートを見つけます。

$ kubectl get svc hello-minikube
NAME             CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE
hello-minikube   10.0.0.76    <nodes>       8080:30341/TCP   4m

3) minikube の IP を見つけます。

$ minikube ip
192.168.99.100

4) curl で話しかける:

$ curl 192.168.99.100:30341
CLIENT VALUES:
client_address=172.17.0.1
command=GET
real path=/
...
于 2016-11-23T20:42:33.343 に答える