docker - 如何从 Docker-for-mac 或 Docker-for-Windows 获取可浏览的 url?

标签 docker kubernetes docker-for-windows docker-for-mac

在 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/

相关文章:

sql-server - 如何在 SQL Server Docker 容器中使用 Windows 身份验证

amazon-web-services - 是否可以从 Docker 镜像创建 AWS AMI?

docker - 领事观看重要的领事检查

sql-server - 连接到部署在 Kubernetes 中的 SQL Server Docker 容器时,用户 SA 登录失败

docker - Docker镜像越来越大

docker-for-windows - 在 Docker-compose 中使用现有的文件共享/卷和 Docker for Windows WSL2

docker - 如何在 Kubernetes 中配置多个服务/容器?

kubernetes - 各种 Istio 端口是如何使用的?

kubernetes - 为什么内存使用量比我在 Kubernetes 的节点中设置的要大?

kubernetes - Busybox-如何删除busybox容器的循环创建