AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1048086
Accepted
stwissel
stwissel
Asked: 2020-12-31 11:19:25 +0800 CST2020-12-31 11:19:25 +0800 CST 2020-12-31 11:19:25 +0800 CST

如何将 Kubernetes 端口导出到 macOS 主机?

  • 772

我想设置一个本地 Kubernetes 集群以在 macOS 上进行测试。我选择了Canonical提供的microk8s。Kubernetes 不在 macOS 上原生运行,而是使用 multipass 提供的 Linux VM。

安装很顺利,kubernetes-bootcamp的部署似乎很有效。这是我到目前为止得到的输出:

microk8s kubectl get services

NAME                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes            ClusterIP   10.152.183.1     <none>        443/TCP          5h9m
kubernetes-bootcamp   NodePort    10.152.183.226   <none>        8080:31004/TCP   4h10m

multipass list

Name                    State             IPv4             Image
microk8s-vm             Running           192.168.64.2     Ubuntu 18.04 LTS

ping 实例ping 192.168.64.2按预期工作。

更新:我通过在 VM 中安装 nginx 进一步测试了连接性。在 macOS 上出现了使用curl http://192.168.64.2VM 内的 nginx 起始页。

现在,当我使用 shell 进入 VM 时multipass exec microk8s-vm -- bash,我可以curl按预期进入我部署的服务:

  • curl http://127.0.0.1:31004
  • curl http://10.152.183.226:8080

得到预期的结果:

Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-57978f5f5d-d977w | v=1

但是我错过了从 macOS(curl 和浏览器)访问这些 url 的步骤。我尝试不成功:

  • curl http://10.152.183.226:8080
  • curl http://10.152.183.226:31004
  • curl http://192.168.64.2:8080
  • curl http://192.168.64.2:31004

我显然错过了从 macOS 主机访问正在运行的服务的步骤。我错过了什么?非常感谢您的帮助!

ubuntu mac-osx kubernetes multipass
  • 1 1 个回答
  • 984 Views

1 个回答

  • Voted
  1. Best Answer
    freegnu
    2021-01-07T08:46:41+08:002021-01-07T08:46:41+08:00

    那个 192.168.64.2 看起来像一个仅限主机的网络,可能是一个仅限内部主机的网络。你能从 Mac 终端 ping 192.168.64.2 吗?多通道默认为网络的 NAT,并且在多通道 1.6 之前不提供将其更改为桥接的选项。目前仅是来源。我输入 1.5 时看到multipass --version。

    无论如何,您都可以通过使用 ssh 将多通道端口转发到 Mac 主机来解决此问题。multipass shell从默认为主要的 multipass shell AKA中,运行ssh -R 8080 -R 31004 [email protected]. -f如果您希望 ssh 端口转发命令在后台运行,请添加,-g如果您希望允许来自与 Mac 相同网络上的其他主机的连接,请添加。如果 ssh 在您的 Mac 上不可用,则在您的 Mac 设置中的共享控制面板下为您的用户名启用远程访问或仅 ssh 登录(ssh 服务器)。

    • 3

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve