web-dev-qa-db-ja.com

minikube:ローカルにデプロイされたnginxサービスに接続できません

Ubuntu 16.04マシンにminikubeをインストールし、クラスターを開始しました。メッセージが表示されます

"Kubernetes is available at https://192.168.99.100:443"

次に、次のコマンドでnginxサービスをデプロイしました

> kubectl.sh run my-nginx --image=nginx --replicas=2 --port=80 --expose

> kubectl.sh get  pods -o wide
NAME                        READY     STATUS    RESTARTS   AGE       NODE
my-nginx-2494149703-8jnh4   1/1       Running   0          13m       127.0.0.1
my-nginx-2494149703-q09be   1/1       Running   0          13m       127.0.0.1

> kubectl.sh get  services -o wide
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE       SELECTOR
kubernetes   10.0.0.1     <none>        443/TCP   14m       <none>
my-nginx     10.0.0.83    <none>        80/TCP    13m       run=my-nginx

> kubectl.sh get  nodes -o wide
NAME        STATUS    AGE
127.0.0.1   Ready     16m

質問:

1)ノード127.0.0.1はローカル開発マシンですか?これは私を最も混乱させました。

2)私の次の理解は正しいですか:クラスター(ノード、kubernetes APIサーバー)の内部IPアドレスは10.0.0.xであり、対応する外部IPアドレスは192.168.99.xです。 2つのポッドのIPは10.0.1.xや10.0.2.xのような範囲になりますか?

3)サービスの外部IPがないのはなぜですか?でも、kubernetesサービスの場合。ここでは192.168.99.43は外部IPではありませんか?

4)最も重要なのは、ラップトップからnginxサービスに接続するにはどうすればよいですか?

8
soupybionics

1)ノード127.0.0.1はローカル開発マシンですか?これは私を最も混乱させました。

ノードが登録するときに、登録するIPまたは名前を指定します。デフォルトでは、ノードは127.0.0.1を登録しているだけです。これは、ホストマシンではなく、実行中のLinuxのVM)を参照しています。

2)私の次の理解は正しいですか:クラスター(ノード、kubernetes APIサーバー)の内部IPアドレスは10.0.0.xであり、対応する外部IPアドレスは192.168.99.xです。 2つのポッドのIPは10.0.1.xや10.0.2.xのような範囲になりますか?

はい、10.0.0.xネットワークはオーバーレイネットワークです。 192.168.99.xは、クラスターの外部に表示される「パブリック」アドレスです。

3)サービスの外部IPがないのはなぜですか?でも、kubernetesサービスの場合。ここでは192.168.99.43は外部IPではありませんか?

外部IPは通常、特定のIPを介してトラフィックを入力するために使用されます。 kubernetesサービスはclusterIPサービスタイプを使用しています。つまり、内部クラスターにのみ表示されます。

4)最も重要なのは、ラップトップからnginxサービスに接続するにはどうすればよいですか?

Nginxサービスを表示する最も簡単な方法は、NodePortと入力してから、サービスをデプロイすることです。その後、割り当てられたポートを取得するためのサービスについて説明します(または、作成後にも通知されます)。次に、VMのIPを押して、自動割り当てされたNodePortを提供します。

e.g. http://192.168.99.100:30001

13
Steve Sloka