2017-11-27 14 views
1

開発のために、私はMinikubeを使用しようとします。アプリケーションを公開してExternal-IPを割り当てるイベントがアプリケーションでどのように検出されるかをテストしたい。 kubectl get services --watchMinihubeイングレスアドオンを有効にした外部IP割り当て

は、私は(可能であれば)Minikubeと同じことを達成したい:私はGoogleのコンテナEngineのクイックスタートチュートリアルでサービスを公開するとき は、私が使用した外部IPの割り当てのイベントを見ることができました。

NAME   TYPE   CLUSTER-IP EXTERNAL-IP PORT(S)   AGE 
echoserver LoadBalancer 10.0.0.138 <pending>  8080:31384/TCP 11s 
kubernetes ClusterIP  10.0.0.1  <none>  443/TCP   4m 

外部-IPフィールドが更新されず、を示しています決して:私は次の出力を参照してください

minikube start --vm-driver=xhyve 
minikube addons enable ingress 
kubectl run echoserver --image=gcr.io/google_containers/echoserver:1.4 --port=8080 
kubectl expose deployment echoserver --type="LoadBalancer" 
kubectl get services --watch 

:ここ

は、私は私のOSXの開発マシン上でローカルに物事を設定しようとする方法であります係属中の段階。 Minikubeで外部IP割り当てを行うことは可能ですか?

答えて

0

あなたは(あなたがGKEやAWSを使用して観察することができるもののような)外部IPの割り当てイベントをエミュレートしたい場合、これはあなたのサンドボックスkubernetesに以下のパッチを適用することによって達成することができます。

kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system 

https://github.com/elsonrodriguez/minikube-lb-patch#assigning-external-ips

1

GKEまたはAWSインストールでは、外部IPは作成されたLBが割り当てられたアドレスをkube APIに戻すクラウドサポートから取得します。

minikubeで同じものを使用するには、何らかのLBコントローラを実行する必要があります。 haproxy正直なところ、minikubeの場合、あらかじめminikube ipで知っている単一のIPを持っているので、その知識でNodePortを使用することはできません。 LBソリューションは、特定のノードポートにマッピングできるIPランゲットを設定する必要があります。これは、LBが行うことが効果的であるためです。つまり、extIP:extPortからトラフィックを取り出し、minikubeIP:NodePortにプロキシします。

あなたのユースケースがあなたを妨げない限り、あなたはあなたのミニキューブへのトラフィックを摂取する方法としてIngressを考慮する必要があります。

+0

サービスのIPを変更するイベントをからテスト目的のために実際の値に変更したいのです。HaProxyに基づいてVoyagerをインストールしようとしましたが、IP敷居は公開サービスに割り当てられませんでした。 IPを割り当てるIngressコントローラを正しくインストールするための一連の正しいコマンドを用意するのがいいと思うかもしれません(クイックスタートガイドに従ってください)。 – Derp