繁体   English   中英

对于作为 Windows Docker 桌面的一部分运行的 Kubernetes 集群,是否有等效的 host.docker.internal

[英]Is there an equivalent of host.docker.internal for Kubernetes cluster running as part of Windows Docker Desktop

用例:我有一个 Docker 桌面并在其中启用了 kubernetes。 我想从 kubernetes 节点连接到在我的笔记本电脑上运行的数据库,而不使用我的笔记本电脑的 IP 地址。

我想在不使用主机的动态 IP 的情况下从 Kuberntes Endpoint 中引用 Windows 主机。 在 docker 中有一个特殊的 DNS 名称 host.docker.internal 允许连接主机端点。 我无法为端点 IP 指定此项。 Kubernetes 中是否有类似的东西?

使用host.docker.internal

我已经在 Mac 上进行了测试,但它在 Windows 上应该可以正常工作。

  1. 启动一个 alpine pod( 从 rossbackp 借来的部署 yaml)。

     apiVersion: v1 kind: Pod metadata: name: alpine namespace: default spec: containers: - image: alpine:3.2 command: - /bin/sh - "-c" - "sleep 60m" imagePullPolicy: IfNotPresent name: alpine restartPolicy: Always
     kubectl apply -f deployment.yaml # after saving the above file as deployment.yaml
  2. 启动一个简单的 Web 服务器。

     mkdir /tmp/server cd /tmp/server echo "hi" > index.html python -m SimpleHTTPServer 8000
  3. 从 alpine pod 访问 Web 服务器。

     kubectl exec -it alpine -- sh wget host.docker.internal:8000 cat index.html

您可以使用远程呈现来实现这一点, https://www.telepresence.io/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM