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サービスに接続するにはどうすればよいですか?
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