无法公开 docker LoadBalancer 服务
Unable to expose docker LoadBalancer service
我正在尝试部署 docker 图像,它位于 public 存储库中。我正在尝试创建一个负载均衡器服务,并试图在我的系统 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
类型,如果你只是想测试你的 webapp,你可以使用 kubernetes 服务 clusterIp
输入并制作一个 port-forward,例如使用您的 clusterIp 服务:
kubectl port-forward svc/hoopla 4200:4200
我正在尝试部署 docker 图像,它位于 public 存储库中。我正在尝试创建一个负载均衡器服务,并试图在我的系统 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
类型,如果你只是想测试你的 webapp,你可以使用 kubernetes 服务 clusterIp
输入并制作一个 port-forward,例如使用您的 clusterIp 服务:
kubectl port-forward svc/hoopla 4200:4200