在 minikube 中,我可以通过 minikube service kubedemo-service --url
获取服务的 url .如何获取 type: LoadBalancer
的 URL Kubernetes 模式下 Docker for Mac 或 Docker for Windows 中的服务?service.yml
是:
apiVersion: v1
kind: Service
metadata:
name: kubedemo-service
spec:
type: LoadBalancer
selector:
app: kubedemo
ports:
- port: 80
targetPort: 80
当我切换到
type: NodePort
并运行 kubectl describe svc/kubedemo-service
我懂了:...
Type: NodePort
LoadBalancer Ingress: localhost
...
NodePort: <unset> 31838/TCP
...
我可以浏览到
http://localhost:31838/
查看内容。切换到 type: LoadBalancer
,我在 kubectl describe svc/kubedemo-service
中看到 localhost 入口行但我得到 ERR_CONNECTION_REFUSED
浏览它。(我熟悉
http://localhost:8080/api/v1/namespaces/kube-system/services/kubedemo-service/proxy/
,尽管这会更改站点的根目录,破坏假定根目录的 css 和 js 引用。我也熟悉 kubectl port-forward pods/pod-name
,尽管它只连接到 pod,直到 k8s 1.10。)我如何浏览到
type: LoadBalancer
Docker for Win 或 Docker for Mac 中的服务?
最佳答案
只要您运行的是最新版本,LoadBalancer 就可以在 Docker-for-Mac 和 Docker-for-Windows 上运行。将类型翻转回 LoadBalancer
和更新。当您检查 describe 命令输出时,请查找 Port: <unset> 80/TCP
线。并尝试打 http://localhost:80 .
关于docker - 如何从 Docker-for-mac 或 Docker-for-Windows 获取可浏览的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50334703/