无法公开docker LoadBalancer服务



我正在尝试部署在公共存储库中的docker映像。我正在尝试创建一个负载均衡器服务,并试图在我的系统ip地址,而不是127.0.0.1暴露服务。我使用的是windows 10,我的docker使用WSL2而不是hyper-v。

下面是我的。yaml文件。因此,内部的服务将在端口4200中运行,因此为了避免任何混淆,我将所有端口保持在4200中。

apiVersion: v1
kind: Service
metadata:
name: hoopla
spec:
selector:
app: hoopla
ports:
- protocol: TCP
port: 4200
targetPort: 4200
clusterIP: 10.96.1.3
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 192.168.0.144
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: hoopla
name: hoopla
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: hoopla
template:
metadata:
labels:
app.kubernetes.io/name: hoopla
spec:
containers:
- image: pubrepo/myimg:latest
name: hoopla
ports:
- containerPort: 4200    
有谁能帮助我了解我犯了什么错误吗?我基本上想在我的系统IP地址上公开这个

loadBalancer服务类型需要云提供商的负载均衡器(https://kubernetes.io/docs/concepts/services-networking/service/)

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服务nodePort类型,例如,如果你只是想测试你的web应用程序,你可以使用kubernetes服务clusterIp类型,并做一个端口转发,例如你的clusterIp服务:

kubectl port-forward svc/hoopla 4200:4200

最新更新