gpt4 book ai didi

docker - kubernetes-负载均衡器外部端点始终是localhost

转载 作者:行者123 更新时间:2023-12-02 12:09:57 24 4
gpt4 key购买 nike

我使用的是minikube,当我创建一个负载平衡器时,它总是会在外部端点上为我提供不同的IP,并且能够访问我的应用程序。
但是现在,我改用了docker kubernetes,当我创建一个负载均衡器时,它总是在外部端点添加localhost:8181
这是我的yaml:

apiVersion: v1
kind: Service
metadata:
name: app1
labels:
app: app1
spec:
#externalIPs:
# - 172.29.0.0
ports:
- protocol: TCP
name: http
port: 8181
targetPort: 8181
type: LoadBalancer
selector:
app: app1
kubectl expose deployment app1 --port=8181 --target-port=8181 --name=app1 --type=LoadBalancer相同
如您所见,我尝试添加externalIP,当这样做时,本地主机和externalIP都出现在仪表板中,但是使用externalIP不起作用...
创建负载平衡器时,我希望它生成一个ip,这样就可以像从minikube一样从那里访问我的应用程序。
谢谢你的时间。

最佳答案

Official documentation说:

Type values and their behaviors are:LoadBalancer: Exposes the Service externally using a cloud provider's load balancer. NodePort and ClusterIP Services, to which the external load balancer routes, are automatically created.


这就是为什么必须使用Kubernetes启用云提供商(否则将不提供外部IP)的原因:
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
app1 LoadBalancer 10.0.2.46 <pending> 8181:30257/TCP 18s
在minikube中,它会使用 minikube service <service_name>进行配置:
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
app1 LoadBalancer 10.103.51.13 <pending> 8181:30129/TCP 68s

$ minikube service app1
|-----------|------|-------------|-----------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------|-------------|-----------------------------|
| default | app1 | http/8181 | http://192.168.99.100:30129 |
|-----------|------|-------------|-----------------------------|

I would like it to generate an ip when I create a loadbalancer so I can access my app from there, like I did with minikube.


有Ales Nosek的 awesome post主题。
简而言之:

In order to be able to create a service of type LoadBalancer, a cloud provider has to be enabled in the configuration of the Kubernetes cluster. As of version 1.6, Kubernetes can provision load balancers on AWS, Azure, CloudStack, GCE and OpenStack.


这在很大程度上取决于您想要实现的目标,但是我相信您可能对 Ingress 感兴趣。

关于docker - kubernetes-负载均衡器外部端点始终是localhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63996630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com