Kubernetes 启用Minihube入口插件的外部IP分配

Kubernetes 启用Minihube入口插件的外部IP分配,kubernetes,minikube,Kubernetes,Minikube,出于开发目的,我尝试使用Minikube。我想测试我的应用程序如何捕获公开服务和分配外部IP的事件。 当我在Google容器引擎快速入门教程中公开一项服务时,我可以看到一个外部IP分配事件: kubectl获得服务——观看 我想用Minikube实现同样的目标(如果可能的话) 以下是我如何尝试在我的OSX开发机器上本地设置东西: minikube start --vm-driver=xhyve minikube addons enable ingress kubectl run echoserv

出于开发目的,我尝试使用Minikube。我想测试我的应用程序如何捕获公开服务和分配外部IP的事件。 当我在Google容器引擎快速入门教程中公开一项服务时,我可以看到一个外部IP分配事件:
kubectl获得服务——观看

我想用Minikube实现同样的目标(如果可能的话)

以下是我如何尝试在我的OSX开发机器上本地设置东西:

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
我看到以下输出:

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外部IP端口
echoserver负载平衡器10.0.0.138 8080:31384/TCP 11s
kubernetes ClusterIP 10.0.0.1 443/TCP 4m

外部Ip字段永远不会更新,并显示挂起阶段。是否可以使用Minikube实现外部IP分配?

在GKE或AWS安装上,外部IP来自云支持,该支持向kube API报告创建的LB分配的地址

要在minikube上实现同样的功能,您必须运行某种LB控制器,例如,一个,但老实说,对于minikube来说,这没有什么意义,因为您有一个IP,您可以通过
minikube IP
预先知道,因此您可以使用具有该知识的NodePort。LB解决方案需要设置一些可以映射到特定节点端口的IP范围,因为这是LB将要做的事情——从extIP:extPort获取流量并将其代理到minikubeIP:NodePort


除非你的用例阻止了它,否则你应该考虑入口作为你的MixKube访问流量的方式。

< P>如果你想模仿外部IP指派事件(就像你可以用GKE或AWS观察到的那样),这可以通过在你的沙盒库贝内斯上应用下面的补丁来实现:

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

我只想捕捉将服务的IP从更改为实际值的事件,以便进行测试,这对我来说是有意义的:)尝试基于HaProxy安装Voyager,但未将IP门槛分配给公开的服务。也许我做错了什么(只需遵循快速入门指南),所以最好有一系列正确的命令来正确安装将分配IP的入口控制器。