首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这种情况下如何设置外部IP?

这种情况下如何设置外部IP?
EN

Stack Overflow用户
提问于 2020-10-13 04:18:52
回答 2查看 265关注 0票数 0

在使用minikube启动本地Kubernates之后,我运行了一系列kubectl命令:

代码语言:javascript
复制
$ kubectl apply -f https://app.getambassador.io/initializer/yaml/0a6624ff-5b39-418f-b61d-7ba83dc3ab7b/crds && \
kubectl wait --for condition=established --timeout=90s crd -lproduct=aes

$ kubectl apply -f https://app.getambassador.io/initializer/yaml/0a6624ff-5b39-418f-b61d-7ba83dc3ab7b/install && \
kubectl wait -n ambassador deploy -lproduct=aes --for condition=available --timeout=90s

$ kubectl apply -f https://app.getambassador.io/initializer/yaml/0a6624ff-5b39-418f-b61d-7ba83dc3ab7b/configure

查看大使边缘堆栈(入口和API网关)

代码语言:javascript
复制
$ kubectl get svc --namespace ambassador
NAME               TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
ambassador         LoadBalancer   10.111.43.125   <pending>     80:30130/TCP,443:30217/TCP   8m37s
ambassador-admin   ClusterIP      10.111.152.68   <none>        8877/TCP                     8m37s
ambassador-redis   ClusterIP      10.98.170.102   <none>        6379/TCP                     8m38s

外部IP应该是localhost,但它不是。这些命令不指定外部IP,至少不是直接指定。在这种情况下,是否缺少某种设置?

这个问题可能会问到大使实验室(Datawire)的人。

EN

回答 2

Stack Overflow用户

发布于 2020-10-14 16:15:52

Minikube有一个ambassador插件,所以你不必像那样部署它。您所要做的就是启用它:

代码语言:javascript
复制
minikube addons enable ambassador

然后,您可以通过文档中描述的三种方式访问它:

在单独的终端上运行minikube tunnel

这样你就可以通过external-ip访问它了。为此,您可以运行kubectl get service ambassador -n ambassador

代码语言:javascript
复制
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                      AGE
ambassador   LoadBalancer   10.106.55.39   10.106.55.39   80:31993/TCP,443:31124/TCP   24h

注意,Minikube本身并不支持负载均衡器。除了minikube隧道,你可能还想检查minikube service list。输出应如下所示:

代码语言:javascript
复制
➜  ~ minikube service list
|-------------|-----------------------------|--------------|-------------------------|
|  NAMESPACE  |            NAME             | TARGET PORT  |           URL           |
|-------------|-----------------------------|--------------|-------------------------|
| ambassador  | ambassador                  | http/80      | http://172.17.0.3:31993 |
|             |                             | https/443    | http://172.17.0.3:31124 |
| ambassador  | ambassador-admin            | No node port |
| ambassador  | ambassador-operator-metrics | No node port |

  • 使用入口资源配置它,该资源也被描述为here

使用Mapping Resource.大使配置

票数 1
EN

Stack Overflow用户

发布于 2020-10-13 23:27:48

通常,当您创建LoadBalancer类型的服务时,Kubernetes会自动尝试在云环境中提供外部负载均衡器。因为Minikube没有可以提供给大使服务的内置LoadBalancer。有两种方法可以解决这个问题。

  1. 使用minikube tunnel模拟负载均衡器。根据您的minikube版本,这可能是本地主机或服务的群集IP。

  1. 将大使部署为NodePort服务并执行kubectl port-forward,以便本地主机解析为大使服务。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64324825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档