首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >k3d负载均衡器类型的服务没有外部ip

k3d负载均衡器类型的服务没有外部ip
EN

Stack Overflow用户
提问于 2020-06-28 23:34:37
回答 4查看 2.7K关注 0票数 3

我正在将hello-world docker容器部署到k3d集群。为了获取外部IP,需要部署负载均衡类型的服务。

在那之后,我希望通过负载均衡器调用应用程序。但是我不知道外部的ip地址。

代码语言:javascript
复制
k3d create --name="mydemocluster" --workers="2" --publish="80:80"

export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"

kubectl run kubia --image=hello-world --port=8080 --generator=run/v1
kubectl expose rc kubia --type=LoadBalancer --name kubia-http

export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"

然后是kubectl get services

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-06-28 23:55:39

如果您使用由云提供商提供的托管kubernetes服务,例如AWS EKS、Azure AKS、Google GCP etc.Tools 用于本地开发,则LoadBalancer类型的服务将获得外部IP,如果您创建LoadBalancer类型的服务,外部ip将被挂起。另一种方法是使用NodePort类型的服务或入口。这是关于这个的doc

您也可以使用kubectl port forwardkubectl proxy访问pod。

票数 4
EN

Stack Overflow用户

发布于 2020-07-15 22:42:56

为此,您需要一个cloud controller manager来充当服务控制器。就on-prem而言,你最好的选择可能是MetalLB

也就是说,我不知道这在K3d的底层docker网络中会有什么表现。这在我要尝试的事情清单上。如果我发现它运行良好,我会回来更新这篇文章。

票数 1
EN

Stack Overflow用户

发布于 2021-05-14 23:22:02

我在跟踪this example

对于k3d和那里,它似乎工作得很好:

代码语言:javascript
复制
(base) erik@buzzard:~/kubernetes/tutorial> 
kubectl  get services 
NAME                    TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes              ClusterIP      10.43.0.1       <none>        443/TCP          3d6h
mongodb-service         ClusterIP      10.43.215.113   <none>        27017/TCP        27m
mongo-express-service   LoadBalancer   10.43.77.100    172.20.0.2    8081:30000/TCP   27m

据我所知,k3d运行的是k3s,例如,它更像是一个完整的kubernetes设置,而不是minikube。我可以在http://172.20.0.2:8081上毫无问题地访问该服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62624652

复制
相关文章

相似问题

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